Bonjour,
J'ai écris une appli WD qui détecte si une autre appli WD est déjà lancé ou non.
Si non, elle la démare, si oui elle envoie un message à cette deuxième appli.
Première chose, je ne suis pas ravi par le multitâche, car parfois le lancement de la deuxième appli prends que quelques secondes, parfois beaucoup plus, donc le sendmessage ne se fait parfois pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Liste est une chaîne = ExeListeProcessus([FONT=Courier New][FONT=Courier New][FONT=Courier New]exeNomCourt[/FONT][/FONT][/FONT]) Ipadocur est une chaîne Gevonden est un booléen = [FONT=Courier New][FONT=Courier New][FONT=Courier New]Faux[/FONT][/FONT][/FONT] HandleFen est un entier POUR TOUTE CHAINE Ipadocur DE Liste SEPAREE PAR [FONT=Courier New][FONT=Courier New][FONT=Courier New]RC[/FONT] [FONT=Courier New][/FONT][/FONT][/FONT]SI Ipadocur [= [FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]"IPAD².exe"[/FONT][/FONT][/FONT] ALORS Gevonden = [FONT=Courier New][FONT=Courier New][FONT=Courier New]Vrai[/FONT] [FONT=Courier New][/FONT][/FONT][/FONT]HandleFen = SysFenHandle([FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]" I.P.A.D.²"[/FONT][/FONT][/FONT]) SendMessage(HandleFen,0x0400,1,2) FIN FIN SI Gevonden = [FONT=Courier New][FONT=Courier New][FONT=Courier New]Faux[/FONT][/FONT][/FONT] ALORS lanceer est une chaîne = INILit([FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]"Trigger"[/FONT][/FONT][/FONT],[FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]"IPADpath"[/FONT][/FONT][/FONT],[FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]""[/FONT][/FONT][/FONT],fRepExe()+ [FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]"\Trigger.ini"[/FONT][/FONT][/FONT]) LanceAppliAssociée(lanceer) Multitâche(500) Liste = ExeListeProcessus([FONT=Courier New][FONT=Courier New][FONT=Courier New]exeNomCourt[/FONT][/FONT][/FONT]) POUR TOUTE CHAINE Ipadocur DE Liste SEPAREE PAR [FONT=Courier New][FONT=Courier New][FONT=Courier New]RC[/FONT] [FONT=Courier New][/FONT][/FONT][/FONT]SI Ipadocur [= [FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]"IPAD².exe"[/FONT][/FONT][/FONT] ALORS Gevonden = [FONT=Courier New][FONT=Courier New][FONT=Courier New]Vrai[/FONT] [FONT=Courier New][/FONT][/FONT][/FONT]HandleFen = SysFenHandle([FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]" I.P.A.D.²"[/FONT][/FONT][/FONT]) SendMessage(HandleFen,0x0400,1,2) FIN FIN FIN FinProgramme()
Dans le deuxième programme j'ai donc simplement mis
Cela fontionne...MAIS...la procédure se lance comme 'unvisible'. Je ne vous plus des fenêtres apparaitres. C'est comme si la procédure était hors écran car je vois mon pointeur souris s'envoller. Alors que si je lance la procédure sans l'evénement, cela fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Evénement(meddosloc, [FONT=MS Shell Dlg][FONT=MS Shell Dlg][FONT=MS Shell Dlg]"*.*"[/FONT][/FONT][/FONT], 0x004)
Une idée?
BAV
PS; pourquoi mon code est-il illisible? je ne fait que du copie/paste comme d'hab???
Partager