Test ob Windows schon gestartet wurde...
-
3dhubiflieger
- Beiträge: 123
- Registriert: 27.10.2013 12:13
Test ob Windows schon gestartet wurde...
Hallo, wollte mal fragen welche Möglichkeiten es gibt um zu testen, ob Windows, sprich der Explorer(Explorer.exe von Windows) schon gestartet wurde. Ich hatte die Processid vom Explorer abgefragt. Aber irgendwie scheints da unter Win7 Probleme zu geben wie mir ein User meines Programmes berichtete. Gibt es vielleicht ne API Funktion oder sonst irgendetwas ?
Re: Test ob Windows schon gestartet wurde...
http://www.rsbasic.de/aktualisierung/wi ... 3%A4uft.pb
Damit habe ich keine Probleme beim Überprüfen, ob ein Prozess, beispielsweise explorer.exe, bereits läuft.
Damit habe ich keine Probleme beim Überprüfen, ob ein Prozess, beispielsweise explorer.exe, bereits läuft.
-
3dhubiflieger
- Beiträge: 123
- Registriert: 27.10.2013 12:13
Re: Test ob Windows schon gestartet wurde...
Genau mit diser Prozedur hab ich ja den Explorer abgefragt
! Ich wollte aber wissen was es sonst noch so gibt. Ne Direktabfrage per API konnte ich nicht finden. Oder gibts da was ?
Re: Test ob Windows schon gestartet wurde...
Der Explorer läuft doch IMMER!
Der Desktop ist Teil des Explorers!
Der Desktop ist Teil des Explorers!
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)
Re: Test ob Windows schon gestartet wurde...
Eine andere Möglichkeit:
Code: Alles auswählen
EnableExplicit
Define Handle
Handle = FindWindow_(0, "Program Manager")
If Handle
Debug "explorer.exe läuft"
Else
Debug "explorer.exe läuft nicht"
EndIfRe: Test ob Windows schon gestartet wurde...
Vielleicht hat er einen Service programmiert, der vor dem Login gestartet wird?helpy hat geschrieben:Der Explorer läuft doch IMMER!
Der Desktop ist Teil des Explorers!
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Re: Test ob Windows schon gestartet wurde...
Hi Danilo,
... da hast Du natürlich recht!
... da hast Du natürlich recht!
Windows 10
PB Last Final / (Sometimes testing Beta versions)
PB Last Final / (Sometimes testing Beta versions)
-
3dhubiflieger
- Beiträge: 123
- Registriert: 27.10.2013 12:13
Re: Test ob Windows schon gestartet wurde...
Es geht darum den Explorer zu erkennen, nachdem mein Programm sich als Shell gestartet hat und eben diesen anschliessend ausführt. Das Problem ist, das es bei mir unter Win 8 und XP funktioniert. Aber ein User meint das bei ihm unter Win7 der Explorer immer wieder und wieder gestartet wird. Das heisst es wird immer wieder der Text "..starte Explorer ausgegeben" (Textroutine meinerseits) Nach genauerer Analyse bin ich zu dem Schluss gekommen das das ganze nur an folgender Prozedur mit dem damit verbundenen Pfad zusammenhängen kann...
Kann jemand diesen Code für mich unter Win 7 testen ? Das wäre net !
Edit by NicTheQuick: Code-Tags gesetzt
Kann jemand diesen Code für mich unter Win 7 testen ? Das wäre net !
Code: Alles auswählen
Procedure ProcessID(PName$)
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)
If UCase(PName$) = UCase(PeekS(@Module\szExePath[0]))
CloseHandle_(Snapshot)
CloseHandle_(Snapshot2)
ProcedureReturn Process\th32ProcessID
EndIf
CloseHandle_(Snapshot2)
EndIf
EndIf
ProcessFound = Process32Next_(Snapshot, Process)
Wend
CloseHandle_(Snapshot)
EndIf
ProcedureReturn 0
EndProcedure
Explorerpfad$ = GetEnvironmentVariable("SYSTEMROOT") + "\" + "EXPLORER.EXE"
If processid(explorerpfad$)
Debug "Windows läuft !"
EndIfRe: Test ob Windows schon gestartet wurde...
Du wirst unter 32 Bit nur 32bit Prozesse auflisten koennen unter 64bit das gleiche.

