(CodeLib-Manager)
Registriert seit: 10. Jun 2002
4.648 Beiträge
Delphi XE Professional
|
Re: WindowHandle über den Programmnamen herausfinden?
13. Jul 2008, 12:41
Das könnte in etwa so aussehen:
Delphi-Quellcode:
function MyFindWindow(MainWinClassName, ButtonCaption: string): integer;
var
NextHandle: HWND;
WinTitle, WinClass: array[0..255] of Char;
begin
Result := 0;
NextHandle := GetWindow(Application.Handle, GW_HWNDFIRST); // erstes Fenster ermitteln
while NextHandle > 0 do // falls Fenster gefunden
begin
GetClassName(NextHandle, WinClass, SizeOf(WinClass));
// Überprüfung, ob Anfang der Strings übereinstimmen
if (Copy(WinClass, 1, Length(MainWinClassName)) = MainWinClassName) then
begin
// Fenster gefunden
// Hier nun nach dem Button suchen mit EnumChildWindows
...
...
Falls Button gefunden, abbrechen, sonst weitersuchen ...
...
Result := NextHandle;
Break;
end
else
NextHandle := GetWindow(NextHandle, GW_HWNDNEXT); // nächstes Fenster ermitteln
end;
end;
Thomas
|
|
Zitat
|