AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi EXE-/Modulname aus Fensterhandle ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

EXE-/Modulname aus Fensterhandle ermitteln

Ein Thema von Marphy · begonnen am 8. Jun 2005 · letzter Beitrag vom 16. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#11

Re: EXE-/Modulname aus Fensterhandle ermitteln

  Alt 10. Jun 2005, 22:17
Zitat von Marphy:
Mit GetModuleFileName() funktioniert es nach wie vor nicht, sehr wohl aber mit GetModuleFileNameEx und einem vorgeschobenen OpenProcess.
Du hättest nur meinen Code kopieren müssen ... das steht das nämlich drin ... ^^

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#12

Re: EXE-/Modulname aus Fensterhandle ermitteln

  Alt 10. Jun 2005, 22:21
Hi,
ja, aber das "NT-only" EnumModules kann man sich sparen... In GetModuleFileName in hModule einfach 0 übergeben. Somit ist der Code von Win95 bis hin zu WinXP kompatibel, man muss auch nicht zwischen zwei Codes (ProcessSnapshot und EnumProcesses/EnumModules) betriebssystembedingt switchen.

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#13

Re: EXE-/Modulname aus Fensterhandle ermitteln

  Alt 10. Jun 2005, 22:32
Zitat von Marphy:
ja, aber das "NT-only" EnumModules kann man sich sparen... In GetModuleFileName in hModule einfach 0 übergeben. Somit ist der Code von Win95 bis hin zu WinXP kompatibel, man muss auch nicht zwischen zwei Codes (ProcessSnapshot und EnumProcesses/EnumModules) betriebssystembedingt switchen.
Hmm ... stimmt ... ^^ ... ich hätte halt den code nochmal "überdenken" müssen ... aber darauf muss man erstmal kommen ...

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#14

Problem doch noch nicht ganz gelöst...

  Alt 14. Jun 2005, 21:31
Hallo zusammen,

Zitat von Marphy:
Somit ist der Code von Win95 bis hin zu WinXP kompatibel, man muss auch nicht zwischen zwei Codes (ProcessSnapshot und EnumProcesses/EnumModules) betriebssystembedingt switchen.
Mist!
Habe im PSDK übersehen, dass GetModuleFileNameEx nur für NT-basierte Betriebssysteme verfügbar ist Also muss ich doch zwischen der ProcessSnapshot- (für Win9x) und der GetModuleFileNameEx-Variante betriebssystemabhängig umschalten.

Das eigentliche Problem:
Die PROCESSENTRY32 Struktur stellt zwar einen Member für den EXE-Dateinamen bereit, welcher aber wirklich nur den Dateinamen enthält, ich benötige aber den vollständigen Dateipfad!

Wie kann ich nun den vollständigen Moduldateinamen (inkl. -pfad) auch unter Win9x ermitteln?

Danke schon im Voraus für eure weitere Hilfe,
Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#15

Re: Problem doch noch nicht ganz gelöst...

  Alt 15. Jun 2005, 16:18
Zitat von Marphy:
Das eigentliche Problem:
Die PROCESSENTRY32 Struktur stellt zwar einen Member für den EXE-Dateinamen bereit, welcher aber wirklich nur den Dateinamen enthält, ich benötige aber den vollständigen Dateipfad!
Bist du dir da ganz sicher? Nein, MSDN konsultieren: MSDN-Library durchsuchenPROCESSENTRY32
MSDN: PROCESSENTRY32
szExeFile
Pointer to a null-terminated string that specifies the name of the executable file for the process.

Windows Me/98/95: The file name includes the path.


LÖL! Hab gerade bemerkt, dass dieser letzte satz zwar in meiner (offline) MSDN steht, aber nicht in der Online-MSDN ...

Tipp: besorg dir ne offline-version ...

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#16

Re: EXE-/Modulname aus Fensterhandle ermitteln

  Alt 15. Jun 2005, 17:32
Hallo Philipp,
bist wohl der einzige, der hier Nachmittags online ist?!

Zitat:
Bist du dir da ganz sicher? Nein, MSDN konsultieren: PROCESSENTRY32
Zum Ersten habe ich das unter W2k ausgetestet (da kann mir also selbst der PSDK nichts weiß machen) und zum Zweiten: Wo steht in deiner Quelle denn bitte etwas vom vollständigen Dateipad?!
Zitat:
szExeFile
Pointer to a null-terminated string that specifies the name of the executable file for the process.
Zitat:
LÖL! Hab gerade bemerkt, dass dieser letzte satz zwar in meiner (offline) MSDN steht, aber nicht in der Online-MSDN ...
Ahhhh! Super!

Zitat:
Tipp: besorg dir ne offline-version ...
Ich habe mir den PSDK schon vor einigen Wochen heruntergeladen. 100 MB per DSL in 10 Minuten, kein Problem

Grüße und Danke, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#17

Re: EXE-/Modulname aus Fensterhandle ermitteln

  Alt 16. Jun 2005, 21:03
Zitat von Marphy:
Ich habe mir den PSDK schon vor einigen Wochen heruntergeladen. 100 MB per DSL in 10 Minuten, kein Problem
100 MB gesamt? Dann hast du vermutlich nicht alles. Nur so als Hinweis!
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#18

Re: EXE-/Modulname aus Fensterhandle ermitteln

  Alt 16. Jun 2005, 21:13
Hallo Herr Schneider,
Zitat von Olli:
Zitat von Marphy:
Ich habe mir den PSDK schon vor einigen Wochen heruntergeladen. 100 MB per DSL in 10 Minuten, kein Problem
100 MB gesamt? Dann hast du vermutlich nicht alles. Nur so als Hinweis!
Vielleicht waren's auch 200 MB, aber es war der gesamte PSDK.

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 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