Thema: Delphi Das Handle ist ungültig

Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#37

AW: Das Handle ist ungültig

  Alt 3. Mai 2018, 12:58
Kann es vllt. ein 32-Bit <-> 64-Bit Problem sein, dass du in deiner 32-Bit Anwendung vllt. keine 64-Bit Prozesse öffnen kannst/darfst?
MSDN-Library durchsuchenOpenProcess ist unproblematisch. Es gibt aber tatsächlich einige APIs, welche da Probleme bereiten. Alles was intern MSDN-Library durchsuchenZwReadVirtualMemory bzw. MSDN-Library durchsuchenReadProcessMemory verwendet, sind dafür beispielsweise Kandidaten. Hierzu zählt auch die verwendete MSDN-Library durchsuchenGetModuleFilenameEx API.

Siehe hier:
https://www.delphipraxis.net/160046-...ermitteln.html (Konvertierung vom NT-Pfad zu standard DOS-Pfad kann man sich hier auch anschauen)

Edit:
Habe grade unter Win10 nochmal geschaut (mein Post von damals ist ja schon ein wenig in die Jahre gekommen) und das Verhalten hat sich scheinbar geändert. Mitlerweile funktioniert GetModuleFilenameEx wohl auch bei 64-Bit Prozessen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl ( 3. Mai 2018 um 13:05 Uhr)
  Mit Zitat antworten Zitat