Pfade der gestarteten Programme
Pfade der gestarteten Programme
Hi Leute, wie komme ich an die Datei Pfade der Programme, die im Moment laufen?
Die einzige Funktion die ich gefunden habe ist GetModuleFileName_(), aber wie komm ich an das Modulhandle ( GetModuleHandle_() ...) eines Fensters (die HWND des Fensters hol ich mir mit EnumWIndows_() )?
Die einzige Funktion die ich gefunden habe ist GetModuleFileName_(), aber wie komm ich an das Modulhandle ( GetModuleHandle_() ...) eines Fensters (die HWND des Fensters hol ich mir mit EnumWIndows_() )?
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
danke
habe diesen Code hier geschrieben, hängt sich aber mit nem IMA beim getprocessfilename() auf
habe diesen Code hier geschrieben, hängt sich aber mit nem IMA beim getprocessfilename() auf
Code: Alles auswählen
Procedure Processes()
Protected pid.l, name$, pfad$
ExamineProcesses()
While NextProcess()
pid = GetProcessPID()
If pid
name$ = GetProcessName(pid)
If name$
pfad$ = GetProcessFileName(pid)
Debug "#####"
Debug pid
Debug name$
Debug pfad$
EndIf
EndIf
Wend
EndProcedure
//edit: da is irgendein post weg...
also: getestet mit @pid
jetzt kommt zwar kein IMA mehr, aber "pfad$" ist immer leer
also: getestet mit @pid
jetzt kommt zwar kein IMA mehr, aber "pfad$" ist immer leer
Zuletzt geändert von a14xerus am 15.08.2007 19:56, insgesamt 1-mal geändert.
in der PBOSL_Process.pb steckt ein kleiner Fehler, der den IMA auslöst.
hier erst mal der Fix:
Suchen nach:
Ersetzen durch:
Suchen nach:
Ersetzen durch:
Suchen nach:
Ersetzen durch:
Suchen nach:
Ersetzen durch:
that's it. Den gefixten Source kannst Du dann direkt in Deinen Code includen.
Grüße ... Kiffi
hier erst mal der Fix:
Suchen nach:
Code: Alles auswählen
Prototype.l GetModuleFileName(a,b.p-ascii,c)
Code: Alles auswählen
Prototype.l GetModuleFileName(a,b,c.p-ascii,d)
Code: Alles auswählen
Result=GetModuleFileName(hProcess, Name.s, Len(Name.s))
Code: Alles auswählen
Result=GetModuleFileName(hProcess, DLLMemModule, Name.s, Len(Name.s))
Code: Alles auswählen
Result=GetModuleFileName(hProcess, Name$, Len(Name$))
Code: Alles auswählen
Result=GetModuleFileName(hProcess, BaseModule, name$, Len(name$))
Code: Alles auswählen
Result=GetModuleFileName(hProcess, Name$, Len(Name$))
Code: Alles auswählen
Result=GetModuleFileName(hProcess, BaseModule, name$, Len(name$))
Code: Alles auswählen
XIncludeFile "C:\Programme\PureBasic\sources\PBOSL4\LIBS4\PB\PBOSL_Process\Source\PBOSL_Process.pb"
Procedure Processes()
Protected pid.l, name$, pfad$
PBOSL_Process_Init()
ExamineProcesses()
While NextProcess()
pid = GetProcessPID()
If pid
name$ = GetProcessName2(pid)
If name$
pfad$ = GetProcessFileName2(pid)
Debug "#####"
Debug pid
Debug name$
Debug pfad$
EndIf
EndIf
Wend
PBOSL_Process_End()
EndProcedure
Processes()
a²+b²=mc²
danke für den tipp....
Aber ich hab die PBOSL nur in Lib-version, von hier geladen.
Wie komm ich denn an diese Version?
//edit: schon gefunden
//edit: muss ich dann die libs löschen ,wenn cih die source-codes nehme???
Und ProcedureDLL in Procedure umbenennen?
Aber ich hab die PBOSL nur in Lib-version, von hier geladen.
Wie komm ich denn an diese Version?
//edit: schon gefunden

//edit: muss ich dann die libs löschen ,wenn cih die source-codes nehme???
Und ProcedureDLL in Procedure umbenennen?