Bonjour
J'ai écrit un programme qui a pour but de fermer une fenêtre popup à son apparition :
Ce programme fonctionne à merveille sous XP mais pas sous NT. En effet, la commande SendMessage sous NT de la procédure GetWindows1 est sans effet.
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
27
28
29
30
31 var bSortie: Boolean; i: Integer; function GetWindows1(Handle: HWND; Info: Pointer): BOOL; stdcall; var Ch: Array[0..255] of Char; begin GetWindowText(Handle, Ch, SizeOf(Ch) - 1); if (Ch = 'intercos2.exe - Application Error') then begin SendMessage(Handle, WM_IME_KEYDOWN, VK_RETURN, 0); bSortie := True; Result := False; end else Result := True; end; begin i := 0; // Attente du popup bSortie := False; repeat Application.ProcessMessages; Sleep(StrToIntDef(ParamStr(1), 10)*60*1000); EnumWindows(@GetWindows1, 0); Inc(i); until (bSortie) or (i >= StrToIntDef(ParamStr(2), 0)); end.
Est ce que qu'un a une petite idée ? ou a déjà fait un programme similaire qui fonctionnerait sous XP et NT ?
D'avance merci !
______________
Ajout des balises de code par qi130 - Merci d'y penser (bouton #)
Partager