Ich suche eine Möglichkeit, gestartete Programme inklusive Pfad zu ermitteln.
Sämtliche Codes, die ich bisher fand, lieferten mir nur den Dateinamen zurück.
Gestartete Programme inklusive Pfad ermitteln
Gestartete Programme inklusive Pfad ermitteln

Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Re: Gestartete Programme inklusive Pfad ermitteln
Was meinst du damit genau? Möchtest du den Pfad deiner eigenen Anwendung ermitteln?
Oder den Pfad einer Anwendung, die zuvor mit RunProgram() ausgeführt wurde?
Oder den Pfad eines Programms, welches bereits läuft?
(http://www.rsbasic.de/aktualisierung/wi ... ssnamen.pb
http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Oder siehe PBOSL-Process-Code)
Code: Alles auswählen
Debug ProgramFilename()
Oder den Pfad eines Programms, welches bereits läuft?
(http://www.rsbasic.de/aktualisierung/wi ... ssnamen.pb
http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Oder siehe PBOSL-Process-Code)
Re: Gestartete Programme inklusive Pfad ermitteln
Sorry, ich ging davon aus, dass ich mich eindeutig ausgedrückt habe.
Der Punkt 3 ist korrekt, wobei die Pfade von allen gestarteten Programmen ermittelt werden sollen.
Durch deine beiden Links konnte ich mir ein Code zusammenstellen, danke
winlogon.exe wird damit nicht aufgelistet, aber das ist mir auch nicht wichtig.
Wichtig: 64-Bit-Programme werden nur aufgelistet, wenn mit dem 64-Bit-Compiler kompiliert wurde.
Der Punkt 3 ist korrekt, wobei die Pfade von allen gestarteten Programmen ermittelt werden sollen.
Durch deine beiden Links konnte ich mir ein Code zusammenstellen, danke

Code: Alles auswählen
Procedure ScanRunningProcesses()
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)
Debug PeekS(@Module\szExePath[0])
EndIf
CloseHandle_(Snapshot2)
EndIf
ProcessFound = Process32Next_(Snapshot, Process)
Wend
CloseHandle_(Snapshot)
EndIf
EndProcedure
Wichtig: 64-Bit-Programme werden nur aufgelistet, wenn mit dem 64-Bit-Compiler kompiliert wurde.

Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version