Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Process und Thread aus ProcessId oder wnd ermitteln (https://www.delphipraxis.net/110454-process-und-thread-aus-processid-oder-wnd-ermitteln.html)

haidara21 18. Mär 2008 11:04


Process und Thread aus ProcessId oder wnd ermitteln
 
Hallo
wie ermittelt man den Process und den Thread einer fremder Anwendung (windowfenster) wenn man den ProcessId oder den WindowHandle dieses Fenster erkennt.
bei eingenen Anwenung ist einfach (Process=GetCurrentProcess ProcessId=GetCurrentProcessId Thread=GetcurrentThread).

Vielen Danke Im Voraus

Luckie 18. Mär 2008 11:43

Re: Process und Thread aus ProcessId oder wnd ermitteln
 
Zitat:

Zitat von haidara21
Hallo
wie ermittelt man den Process und den Thread einer fremder Anwendung (windowfenster) wenn man den ProcessId oder den WindowHandle dieses Fenster erkennt.
bei eingenen Anwenung ist einfach (Process=GetCurrentProcess ProcessId=GetCurrentProcessId Thread=GetcurrentThread).

Wenn du die ProzessID hast, dann hast du doch schon den Prozess. Und den Thread gibt es nicht, da ein Prozess mehrere Threads habe kann. GetCurrentThread liefert dir nur den Thread, aus dem die Funktion aufgerufen wurde.

haidara21 18. Mär 2008 11:49

Re: Process und Thread aus ProcessId oder wnd ermitteln
 
den Process liefert andere werten als den ProcessId.

es sind 2 unterschiedliche werten.du kannst es eifach testen,in dem du den ProcessId (GetcurrentProcessid) und den Process (GetCurrentProcess) deiner eingenen Anwendung abfragen kannst.
die Frage,die gestellt werden soll,wir ermittelt man den Process aus ProcessId einer fremden fenster (z.b internet Explorer oder den MSN ....)

Luckie 18. Mär 2008 12:05

Re: Process und Thread aus ProcessId oder wnd ermitteln
 
Wäre ziemlich hilfreich gewesen, wenn du das schon beim ersten Posting gesagt hättest. Du suchst also das Pseuohandle eines Prozesses, wenn du die ProzessID hast? dann guck dir mal MSDN-Library durchsuchenOpenProzess an.

Dezipaitor 18. Mär 2008 12:17

Re: Process und Thread aus ProcessId oder wnd ermitteln
 
Threads eines Prozesses kann man durch die ToolHelper Lib
oder durch den Performance Data Helper bekommen.

Mit GetWindowThreadProcessId erhälst du den Prozess und den Thread, der das Fenster erstellt hat.

GetCurrentProcess liefert immer -1 zurück, was ein PseudoHandle auf den aktuellen Prozess ist. Korrekte Handles werden mit OpenProcess erzeugt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz