Entwickler-Ecke
Windows API - Wie mach ich GetWindowModuleFileName unter NT???
Stefan-M - Di 22.04.03 10:26
Titel: Wie mach ich GetWindowModuleFileName unter NT???
Hallo, ich hoffe Ihr hattet schöne Ostern.
Ich hab ein Problem und zwar will ich die exe eines Prozesses den ich mit EnumWindows ermittelt hab rausbekommen. Unter WinMe funnzt das auch wunderbar mit GetWindowModuleFileName(...) aber unter NT gibt er mir da nur Mein eigenes Programm und drei dll's aus.
Aber er zeigt alle Prozesse an. Nur eben mit den falschen FileNames.
Gibts da einen Unterschied?
Vielen Dank schon mal an den, der antwortet.
MfG
Stefan
Delete - Di 22.04.03 10:45
Wie rufst du die Funktion auf?
Stefan-M - Di 22.04.03 10:49
Na im weitesten Sinne so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function EnumWindowsProc (Wnd:HWND;LParam:LPARAM):Bool; stdcall; var PID :longword; title :array [0..255] of Char; FName :array [0..255] of Char;
begin GetWindowThreadProcessID(Wnd,@PID); GetWindowText(wnd,title,256); GetWindowModuleFileName(wnd,FName,256); end; |
und die wird dann mit
Quelltext
1:
| EnumWindows(@EnumWindowsProc,1); |
aufgerufen.
Motzi - Di 22.04.03 11:22
Stefan-M hat folgendes geschrieben: |
Na im weitesten Sinne so:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function EnumWindowsProc (Wnd:HWND;LParam:LPARAM):Bool; stdcall; var PID :longword; title :array [0..255] of Char; FName :array [0..255] of Char;
begin GetWindowThreadProcessID(Wnd,@PID); GetWindowText(wnd,title,256); GetWindowModuleFileName(wnd,FName,256); end; |
und die wird dann mit
Quelltext 1:
| EnumWindows(@EnumWindowsProc,1); |
aufgerufen. |
Probier mal die Funktion GetModuleFileNameEx. Diese Funktion benötigt ein Process-Handle (ein Handle für ein Kernel-Objekt) du übergibst allerdings ein Window-Handle. Du musst dir per OpenProcess das Process-Handle für den jeweiligen Prozess holen (die ProcessID holst du dir eh schon mit GetWinWindowThreadProcessID) und übergibst dann dieses Handle an die API. WICHTIG: Nicht vergessen das Process-Handle mit CloseHandle wieder zu schließen!
Stefan-M - Di 22.04.03 11:34
GetModuleFileNameEx kennt er bei mir gar nicht 'undeclared identifier'.
Das Handle hab ich ja schon in der Variable wnd.
Stefan-M - Di 22.04.03 11:36
sorry, hab nochmal gelesen, also ich übergeb das falsche handle, moment, mach ich mal.... aber das ändert nichts dran, dass er getmodulefilenameex nicht kennt.
und warum geht es unter win-me?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!