Visual C++, API Windows

Visual C++, API Windows - Programmation

Marsh Posté le 23-04-2001 à 10:05:47    

Salut, je fais un stage de développeur dans une boite d'info dans la quelle personne n'a le temps de s'occuper de moi, snif !
Alors bon, je viens cherche quelqu'âme charitable ici !
Je doit faire une application (tout seul, dur !) qui fait un traitement en batch (c à dire que ça doit tourner pendant la nuit.Donc, s'il y a une erreur lors du traitement des trucs à traiter par mon application et qu'une fenêtre d'erreur fatale est générée par windows, mon application doit détecter cette boite de dialogue d'erreur affichée et simuler un clique sur le bouton OK, pour que le traitement continue...
Si vous avez réussi à comprendre mes explications (un peu fouillues, j'en convient !) et que vous vous en sentez capable, merci de m'donner un p'tit coup de pouce...

Reply

Marsh Posté le 23-04-2001 à 10:05:47   

Reply

Marsh Posté le 23-04-2001 à 10:14:15    

Une solution pourrait être d'avoir un programme principal qui joue le rôle de surveillant. Ce programme lancera et surveillera l'état du processus qui réalisera le traitement batch. Tu peux éventuellement mettre en place un échange de messages entre ces deux applications afin d'éviter de relancer le process sur un jeu de données invalides qui le feraient planter a nouveau.
 
En terme d'API, ton programme principal utiliserait la fonction CreateProcess pour lancer le process batch ainsi que les fonctions WaitForSingleObject, GetExitCodeProcess et GetLastError pour savoir comment le process s'est terminé et éventuellement traiter l'erreur.

 

[edit]--Message édité par Guru--[/edit]

Reply

Marsh Posté le 23-04-2001 à 10:23:23    

Merci, mon appli est justement un lanceur d'applications (qui jouera donc aussi ce rôlé de surveilleur) mais j'ai en fait besoin d'explications plus en profondeur sur les possibilitées offertes par l'API Windows pour résoudre ce problème.

Reply

Marsh Posté le 23-04-2001 à 10:28:10    

Je te conseille de regarder du coté de la librairy du MSDN pour trouver toutes les informations concernant l'API Win32. Tout particulièrement la section suivante : http://msdn.microsoft.com/library/ [...] d_3mgj.htm qui regroupe toutes les fonctions relatives à la gestion des process et threads.

Reply

Marsh Posté le 23-04-2001 à 10:32:16    

...et bien sur, c'est en anglais ! Y parrait qu'il va falloir que j'm'y fasse, que toutes les docs sont en anglais...
Tant pis, j'prend mon courage à deux mains, mon dico...heu, bah j'le pose, vu qu'il y a plus de main pour lui (mon courage prend toute la place !) et j'y vais, merci Guru.
Mais ça ferme rien bien sur, j'attend encore tous vos conseils avisés !

Reply

Marsh Posté le 23-04-2001 à 11:16:42    

c'est stagiaire tous des fénants zont qu'a bosser et mettre le nez dans les bouquins ça les changera un peu...
 
Je l'ai en face de moi le "el_gringo", fait que jouer à quake en attendant qu'on lui file l'appli toute faite....
 
C'est pas comme ça que vous apprendrez Monsieur.....


---------------
Ca marche pôa!!
Reply

Marsh Posté le 23-04-2001 à 11:52:40    

Gromethos à dis(je sais pas faire ça dans les règles de l'art) :
---------------------
c'est stagiaire tous des fénants zont qu'a bosser et mettre le nez dans les bouquins ça les changera un peu...  
 
Je l'ai en face de moi le "el_gringo", fait que jouer à quake en attendant qu'on lui file l'appli toute faite....  
 
C'est pas comme ça que vous apprendrez Monsieur.....
--------------------
 
Et MOI je lui dirait qu' il ferai bien d'apprendre à programmer dans des VRAIS languages au lieu de passer son temps à trainer sur les forums et à raconter de conneries (en plus il parrait qu'il est payé pendant ce temps !!).
 
Sur ce, je travail dur, encore et encore en attandant vos réponses qui pourront peut etre m'aider dans mon dur combat de stagiaire au milieu de collègues sans pitié (et qui font des fautes d'orthographe !)

Reply

Marsh Posté le 23-04-2001 à 13:40:23    

tiens el_gringo a degné laisser quake quelques minutes pour se rencarder sur les messages du forum!!!
 
C'est bien des progrés....bientôt il ouvrirera un livre....


---------------
Ca marche pôa!!
Reply

Marsh Posté le 23-04-2001 à 15:45:21    

allez, aider moi quoi !
Personne n'est capable de me donner, ne serait ce qu'un petit coup de pouce !?

Reply

Marsh Posté le 24-04-2001 à 08:50:21    

moi je suis stagiaire pareil,
et je dois faire une application de traitement des images en programmant en win 32, j'y connaissait rien, et c'est en utilisant la library MSDN que j'ai compris plein de trucs.
 
va sur  http://msdn.microsoft.com/library/default.asp
 
puis dans platform SDK Doc
--> WIN 32
--> REFERENCE
et t'auras toutes les fonctions dont tu as besoin
 
voila tout.

Reply

Marsh Posté le 24-04-2001 à 08:50:21   

Reply

Marsh Posté le 24-04-2001 à 15:03:20    

hé hop ! je remonte.
Allez, encore un petit effort svp !

Reply

Marsh Posté le 25-04-2001 à 09:07:45    

hé bah, ça vous inspire pas trop mon truc...

Reply

Marsh Posté le 25-04-2001 à 09:34:38    

Ben va voir l'api Win32 sur le MSDN ca te donnera toutes les billes pour faire ca. A moins que tu ne veuilles du code ?

Reply

Marsh Posté le 25-04-2001 à 09:48:11    

du code...j'dirai pas non, c'est clair !
 
mais à défaut de code je tente une recherche, mais j'ai jammais géré de processus sous Win32 (je suis pas expert pour ce qui est de la programmation Win32)et je trouve ça affreusement compliqué de tout apprendre sur la bibliothèque (en anglais en plus !)

Reply

Marsh Posté le 25-04-2001 à 10:42:42    

C'est dommage car c'est à peu près la seul façon de vraiment apprendre la programmation Win32.  
Il y a un bouquin qui est la traduction de la MSDN pour les fonctions Win32 ("Programmation des API Win32" chez McMillan je crois) mais il me semble qu'il n'est plus dispo.  
 
Bon courage

 

[edit]--Message édité par Pitounet--[/edit]

Reply

Marsh Posté le 25-04-2001 à 11:55:15    

c sur, c dommage...

Reply

Marsh Posté le 26-04-2001 à 09:06:31    

et hop !

Reply

Marsh Posté le 26-04-2001 à 09:52:19    

Aller soyons charitables :) qcq pistes qui pourraient t'aider:
 
Deja, pour detecter la fentre d'erreur, tu peux utiliser les fct  du style EnumWindows (tu recupere des HWND puis les noms des fentres et tu compare avec une liste de char * des noms des fenetres d'erreur).
 
Pour cliquer sur le boutton ok c'est pareil, a partir du hwnd, tu envoye un message a la fenetre d'erreur qui simule le clic.
 
Tu mets tout ca dans un petit thread qui tourne en priorite basse et tu testes disons toutes le 10 secondes si une fenetre n'est pas apparue.
 
Tout ca ne sert que si t'as pas acces au code des applis que tu dois surveiller et donc tu ne peux ajouter des mecanismes de communication autres que les infames boites d'erreur de windob.
 
Enfin, je sais pas trop sur quel systeme tu travaille (si c'est w98, t'aura peut-etre des legers blemes si le scheduler du systeme s'arrete a cause du plantage de ton appli).

Reply

Marsh Posté le 26-04-2001 à 10:06:29    

...je bosse sur WinNT, merci, ça va déja bien m'aider, si on pouvais mettre de remerciement comme quand un zikos enregistre un Cd, tu serai dessus !

Reply

Marsh Posté le 30-04-2001 à 09:09:37    

hop !

Reply

Marsh Posté le 30-04-2001 à 13:28:42    

Je te conseille aussi les thread plutot que les process.
_beginthread(updateObjThread,0,NULL); //ou updateObjThread est une fonction


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh Posté le 03-05-2001 à 16:14:48    

merci Roswell, c toi l'meilleur, j'pense aussi, après analyse  que c le mieux les treads

Reply

Marsh Posté le 04-05-2001 à 12:07:22    

get up !

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed