Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: ShellExecute und Vordergrund

  Alt 11. Jan 2011, 12:25
Ich habe mich bemüht, mich hieran orientiert und es scheinbar zum Laufen bekommen:
Delphi-Quellcode:
Function FindHandle(Const ProcessId: THandle): HWND;

  Function EnumWindowsProc(hWnd: HWND; lParam: LPARAM): BOOL; Stdcall;
  Begin
    TList(lParam).Add(Pointer(hWnd));
    Result:=True;
  End;

Var
  hList : TList;
  PID : DWord;
Begin
  Result:=0;
  hList:=TList.Create;
  Try
    EnumWindows(@EnumWindowsProc, LPARAM(hList));
    While (hList.Count > 0) Do
    Begin
      If (GetWindowThreadProcessId(HWND(hList.Items[0]), @PID) > 0) And
       (ProcessId = PID) Then
      Begin
        Result:=HWND(hList.Items[0]);
        Break;
      End;
      hList.Delete(0);
    End;
  Finally
    hList.Free;
  End;
End;
FindHandle bleibt aber immer 0. Was mache ich denn nun wieder verkehrt?
Alex Winzer
  Mit Zitat antworten Zitat