![]() |
Delphi-Version: 2007
Fenster Handle der Anwendung, die meine Anwendung aufgerufen hat?
Hallo Freunde!
Weiß jemand wie ich den Handle der Anwendung ermitteln kann, die meine Anwendung aufgerufen hat? Wär super, wenn jemand eine hilfereiche Idee hat! Peter |
AW: Fenster Handle der Anwendung, die meine Anwendung aufgerufen hat?
Moin Peter,
die Beschreibung ist jetzt nicht eindeutig: Startest Du ein Programm und Du möchtest damit etwas anfangen, oder willst Du etwas über das Programm wissen, von dem aus Dein Programm gestartet wurde? Im ersten Fall kannst Du das Programm mit CreateProcess starten und bekommst in der Process-Information ein Handle auf den Prozess und die ProcessID. Im zweiten Fall kannst Du GetCurrentProcessID die ID Deines eigenen Prozesses ermitteln und mit folgender Funktion (Unit TlHelp32 einbinden)
Delphi-Quellcode:
die ID des Programmes ermitteln, aus dem heraus Deines aufgerufen wurde.
function csGetParentProcessID(const AdwProcessID : DWORD;var AdwParentProcessID : DWORD) : boolean;
var hSnapshot : DWORD; pe32 : PROCESSENTRY32; begin Result := false; hSnapshot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); try FillChar(pe32,SizeOf(pe32),0); pe32.dwSize := SizeOf(pe32); if not Process32First(hSnapshot,pe32) then exit; while (pe32.th32ProcessID <> AdwProcessID) and Process32Next(hSnapshot,pe32) do; if pe32.th32ProcessID <> AdwProcessID then exit; AdwParentProcessID := pe32.th32ParentProcessID; Result := True; finally CloseHandle(hSnapshot); end; end; Mit ![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 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 by Thomas Breitkreuz