Handle einer fremden Anwendung ermitteln?
-
Moin,
Ich möchte, wenn ich mit der Maus ein Fenster anklicke,
den Handle dieses Fensters in meinem Programm haben.Habe über die Suche nur gefunden, wie ich das eigene Handle
nutzen kann. (Application->Handle)Danke Leute.

-
Hallo
wenn, dann nur mittels API
(FindWindow ....)Und das heist ab ins WinApi-Forum
MfG
Klaus
-
Dieser Thread wurde von Moderator/in KlausB aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ich kenne mich da leider NULL aus, was WinAPI angeht.
Bin für jeden Tipp dankbar!
-
frieda schrieb:
Ich möchte, wenn ich mit der Maus ein Fenster anklicke,
den Handle dieses Fensters in meinem Programm haben.naja.. wenn dein programm so was wie mausposition und indowHandles unterstützen soll, wären ein wenig winAPI kenntnisse schon nicht schlecht, würd ich mal sagen..

ausserdem: FORENSUCHE (rechts oben hats so links, das ist so zum draufklicken. "Suchen" klicken, dann "handle bekommen" eingeben
-> z.B. http://www.c-plusplus.net/forum/viewtopic.php?t=77676&highlight=handle+bekommen)
-
toller link
aber ich bekomme jetzt ne meldung, von wegen konvertierung von char nach unsigned long nicht möglich...
//--------------------------------------------------------------------------- HWND GetWindowFromProcessId(DWORD dwPID) { DWORD dwProcessID = 0; HWND hWnd; for(hWnd = GetWindow(GetDesktopWindow(), GW_CHILD); hWnd; hWnd = GetNextWindow(hWnd, GW_HWNDNEXT)) { GetWindowThreadProcessId(hWnd, &dwProcessID); if(dwProcessID == dwPID) break; } return(hWnd); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { HWND MeinHandle = GetWindowFromProcessId("0007011E"); } //---------------------------------------------------------------------------
-
Das bringt dir so wohl nicht viel, da sich die Prozess-ID ja jedesmal ändert. Also solltest du wohl schon über FindWindow(Ex) gehen - zumindest ist es damit am einfachsten

-
GetWindowFromPoint.
-
WindowFromPoint, ChildWindowFromPoint