![]() |
GetWindowModuleFileName gibt nichts zurück
Ich versuche per GetWindowModuleFileName den Namen (& Pfad) eines Programms über das FensterHandle herauszufinden, doch leider gibt die Funktion nichts zurück.
Mein Code sieht in etwa so aus:
Delphi-Quellcode:
Die "fname"-Message bleib immer leer. Weis jemand woran das liegt?
var
hWnd_ : HWND; fname : PAnsiChar; begin fname := nil; hWnd_ := FindWindow('Notepad', nil); if(hWnd_ = 0)then begin Application.MessageBox('FindWindow failed!', '', 0); exit; end; GetWindowModuleFileNameA(hWnd_, fname, MAX_PATH); Application.MessageBox(fname, 'fname', 0); end; ciao & thx, Philipp |
Re: GetWindowModuleFileName gibt nichts zurück
So msollte es gehen:
Delphi-Quellcode:
var
hWnd_ : HWND; fname : PAnsiChar; begin GetMem(fname, MAX_PATH); hWnd_ := FindWindow('Notepad', nil); if(hWnd_ = 0)then begin Application.MessageBox('FindWindow failed!', '', 0); exit; end; GetWindowModuleFileNameA(hWnd_, fname, MAX_PATH); Application.MessageBox(fname, 'fname', 0); end; |
Re: GetWindowModuleFileName gibt nichts zurück
@Dax: Das hab ich auch schon probiert, leider erfolglos.
|
Re: GetWindowModuleFileName gibt nichts zurück
Versuche fName als Array[0..MAX_PATH] of Char zu deklarieren.
|
Re: GetWindowModuleFileName gibt nichts zurück
@jim_raynor: Hab ich auch schon probiert, funktioniert leider auch nicht. :(
|
Re: GetWindowModuleFileName gibt nichts zurück
Dann prüfe doch mal mit GetLastError den Fehlercode, den dir Windows zurück gibt.
|
Re: GetWindowModuleFileName gibt nichts zurück
Zitat:
Kann das mal jemand bei sich testen? Geht das allgemein nicht, liegt es an meinem rechner, oder is da irgendwas anderes faul? |
Re: GetWindowModuleFileName gibt nichts zurück
Der Klssen name vom Notepad ist wahrscheinlich nicht "Notepad":
Delphi-Quellcode:
Als Handle wirst du dann eben null zurückbekommen. Guck doch erstmal, ob diu da ein gültiges Handle bekommst. Desweiteren würde ich den Vorschlag mit GetLastError nicht so einfach abtun, wer weiß, was eventuell noch shcief geht. :roll:
hWnd_ := FindWindow('Notepad', nil);
|
Re: GetWindowModuleFileName gibt nichts zurück
Zitat:
Zitat:
Kann jemand den code bei sich testen, ob er da funktioniert, bitte! ciao, Philipp |
Re: GetWindowModuleFileName gibt nichts zurück
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 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