![]() |
Programm in den Vordergrund
Kann mir wer auf die Sprünge helfen,
ich starte eine Exe mit CreateProcess(... Auf ProcessInfo erhalte u.a. ich ProcessID und Threadhandle. Wie komme ich jetzt an das Fensterhandle des gestarteten Programms? Ziel ist es dieses Programm wieder in den Vordergrund zu bekommen. Für einen Tip dankbar. Gruß Peter |
AW: Programm in den Vordergrund
Delphi-Quellcode:
type
PEnumInfo = ^TEnumInfo; TEnumInfo = record ProcessID: DWORD; HWND: THandle; end; function EnumWindowsProc(Wnd: DWORD; var EI: TEnumInfo): Bool; stdcall; var PID: DWORD; begin GetWindowThreadProcessID(Wnd, @PID); Result := (PID <> EI.ProcessID) or (not IsWindowVisible(WND)) or (not IsWindowEnabled(WND)); if not Result then EI.HWND := WND; end; function FindMainWindow(PID: DWORD): DWORD; var EI: TEnumInfo; begin EI.ProcessID := PID; EI.HWND := 0; EnumWindows(@EnumWindowsProc, Integer(@EI)); Result := EI.HWND; end; |
AW: Programm in den Vordergrund
Danke
Hat funktioniert. Gruß Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz