Bonjour à tous
J'ai bêtement fais un copier coller du code que j'ai trouvé dans la rubrique
Comment récupérer les handles des fenêtres d'un processus ?
http://www.developpez.com/delphi/faq...dlefenetreprocmais ce code ne compile pas
type
PFindWindowsStruct = ^TFindWindowsStruct;
TFindWindowsStruct =
record ProcessID: DWORD;
HandleList: TList;
end;
function EnumWindowsProc(hwnd: HWND; lParam: LPARAM):
boolean;
stdcall;
var dwProcessId: DWORD;
begin if lParam <>
0then begin GetWindowThreadProcessId(hwnd, dwProcessId);
with PFindWindowsStruct(lParam)^
do if dwProcessID = ProcessID
then HandleList.Add(
Pointer(hwnd));
result:=
true;
end else result:=
false;
end;
procedure FindProcessWindows(ProcessID:
Integer; Handles: TList);
var findWindowsStruct: TFindWindowsStruct;
begin findWindowsStruct.ProcessID:= ProcessID;
findWindowsStruct.HandleList:= Handles;
EnumWindows(@EnumWindowsProc,
Integer(@findWindowsStruct));
end;
Dans la fonction :
EnumWindows(@EnumWindowsProc, Integer(@findWindowsStruct));
j'ai le message : "Variable requise". N'étant pas un spécialiste je ne comprends pas ce message.
J'utilise Delphi 6 sous Windows XP SP2
Si vous avez une autre solution je ne suis pas contre bien que celle-ci me paraisse intéressante.
Pouvez-vous m'aider?
Merci de votre réponse.