64 Bit Prozess kann unter 64 Bit OS nicht abgefragt werden
Verfasst: 07.05.2014 18:33
Hallo, der Code unten funktioniert mit 32 bit Prozessen problemlos. Wenn ich allerdings die Prozedure bei einem 64 Bit Prozess benutzte, bekomme ich nix zurück, obwohl das Programm aktiv ist ?! Was läuft da schief ? Wie muss man das ganze abändern, damit der Code in 32 und 64 bit läuft ???
Code: Alles auswählen
Procedure Prozessaktiv(Aktivpfad$)
Protected Snapshot, Snapshot2, ProcessFound
Protected Process.PROCESSENTRY32, Module.MODULEENTRY32
Process\dwSize = SizeOf(PROCESSENTRY32)
Module\dwSize = SizeOf(MODULEENTRY32)
Snapshot = CreateToolhelp32Snapshot_(#TH32CS_SNAPPROCESS, 0)
If Snapshot
ProcessFound = Process32First_(Snapshot, Process)
While ProcessFound
Snapshot2 = CreateToolhelp32Snapshot_(#TH32CS_SNAPMODULE,Process\th32ProcessID)
If Snapshot2
If Module32First_(Snapshot2, @Module)
Pfad$ = UCase(PeekS(@Module\szExePath[0]))
If Pfad$ = UCase(Aktivpfad$)
CloseHandle_(Snapshot)
CloseHandle_(Snapshot2)
ProcedureReturn #True
EndIf
EndIf
EndIf
ProcessFound = Process32Next_(Snapshot, Process)
Wend
EndIf
CloseHandle_(Snapshot)
ProcedureReturn #False
EndProcedure