Zitat von
St.Pauli:
Das bekomme ich jetzt zwar raus, weiter bringts mich trotzdem nicht...
Bist du da ganz sicher? Laß dir mal die Werte für's Fensterhandle, die PID und das Prozesshandle ausgeben!
Nenn mich doof, aber:
Code:
function GetWH(AExeName: string): THandle;
var
SnapShot: THandle;
p: TProcessEntry32;
ProcessHandle: THandle;
begin
Result := 0;
[color=red] WindowHandle := 0;[/color]
ProcessHandle := 0;
p.dwSize := SizeOf(p);
SnapShot := CreateToolhelp32Snapshot(TH32CS_SnapProcess, 0);
try
if Process32First(SnapShot, p) then
repeat
if AnsiLowerCase(AExeName) = AnsiLowerCase(p.szExeFile) then
ProcessHandle := p.th32ProcessID;
until (ProcessHandle <> 0) or not Process32Next(SnapShot, p);
EnumWindows(@MyEnumWindowProc, ProcessHandle);
[color=red] Result := WindowHandle;[/color]
finally
CloseHandle(SnapShot);
end;
end;
...diese Funktion gibt immernoch *immer* 0 zurück.
Kannst du also auch als
Delphi-Quellcode:
function GetWH(AExeName: string): THandle;
begin
Result := 0;
end;
...schreiben. Ist exakt das gleiche, geht aber schneller.