GetWindowModuleFileName
-
Hallo Martin,
jetzt habe ich in der MessageBox für die Ausgabe allerdings ziemlich wilde Zeichen stehen.
Irgendwas scheint da noch nicht zu stimmen.
-
Zeig mal Deinen Code!
-
Aloha,
wenn man das ganze so ausgeben will kommen nur Sonderzeichen raus.
Kann man den TCHAR vlt. nicht so in eine MessageBox drücken?
-
Was meinst Du mit drücken?
Zeige mal Deinen Code (zum zweiten)!Jede MessageBox nimmt einen TCHAR array als Parameter, sogar mehrere
-
Ich dachte immer eine einfache Zuweisung würde reichen:
HWND hwnd = ::FindWindow(0,"Rechner"); TCHAR szFilename[MAX_PATH]; GetWindowModuleFileName(hwnd, szFilename, MAX_PATH); CString inhalt; inhalt = szFilename; MessageBox(inhalt);
Mehr Code hab ich ja gar net.
-
Und wo wertest du mögliche Fehlsituationen aus? Sowohl der FindWindow() als auch der GetWindowModuleFileName() Aufruf könnten schiefgehen.
-
Hi CStoll,
ich habe die Fehlerbehandlung hier im Posting rausgelassen, da alles mit
ER_SUCCESS zurückkehrte.Das einzige Problem ist, dass mir in szFilename nur Sonderzeichen
ausgegeben werden. Und da komme ich einfach nicht weiter. Googel ist zwar
mein Freund, aber auch hier war das Problem so nirgends zu finden.
-
Bist Du sicher das HWND nicht NULL liefert?
Was ist der Returnwert von GetWindowModuleFileName?
-
Hi,
bin absolut sicher:
if(hwnd!=NULL) { //usw...tritt auch ein //GetLastError nach GetWindowModuleFileName liefert "0" }else { MessageBox("Fehler!"); }
Bekommt ihr da denn bei euch ein Ergebnis raus??
-
Ich habe es jetzt mit GetWindowThreadProcessId() gelöst, aber warum
das nicht wie in meinem ersten Code funktioniert würde mich schon
sehr interessieren.Hat der Code bei euch denn überhaupt ein sinnvolles Ergebnis ausgegeben?