Seite 1 von 1
Schauen ob Prozess existiert
Verfasst: 03.10.2006 18:18
von PMTheQuick
HI,
folgende Frage: Ist es möglich, zu schauen, ob z.B. eine blabla.exe läuft? Ich bräuchte das nämlich dringend, da ich ein Programm brauche, welches folgendes macht: Zuerst wird ein Programm aufgerufen, was 1.exe und 2.exe aufruft... Soweit oso gut... Dann kontrolliert 2.exe ob 1.exe läuft, wenn nicht startet 2.exe 1.exe... 1. Macht das genau gleiche, nur die Zahlen sind umgekehrt... Und darum müsste ich irgendeine Prozessliste haben, die ich dann aussortieren kann... Wie geth das?
Gruss
PMTheQuick

Re: Schauen ob Prozess existiert
Verfasst: 03.10.2006 19:09
von Kiffi
> Schauen ob Prozess existiert
diese Prozess-Anfragen haben wir hier alle Nase lang. Seit doch so nett und
benutze erst mal die Board-Suche.
Grüße ... Kiffi
Verfasst: 03.10.2006 19:24
von AND51
Ansonsten: Warum greifen nicht alle deine prozesse auf C:\running.ini zu? Wenn ein Prozesss gestartet wird, setzt er seinen Schlüssel auf 0, vor dem beenden wieder auf 0.
Alle deine Prozesse können auf diese gemeinsame Datei zu und können schauen, ob die anderen Prozesse laufen oder nicht.
Professioneller geht's mit EnumWindows_() oder EnumProcess_() (oder so ähnlich).
?
Verfasst: 04.10.2006 16:56
von Brügge
wird das ein virus? (einen, den man nicht ausschalten kann?)
wenn ja ich weiß eine lösung des problems xD
datei1 erstellt eine datei namens dat1.txt in der datei schreibt es die aktuelle uhrzeit auf und datei2 öffnet die datei und guckt ob die uhrzeit mit der jetzigen übereinstimmt ... wenn nicht startet datei2 datei1 neu
und da ganze andersrum...
mfg!
Verfasst: 04.10.2006 17:07
von Thorsten1867
Ich verwende diese Procedure. Stammt aus dem Forum:
Code: Alles auswählen
Structure PROCESSENTRY33
dwSize.l
cntUsage.l
th32ProcessID.l
th32DefaultHeapID.l
th32ModuleID.l
cntThreads.l
th32ParentProcessID.l
pcPriClassBase.l
dwFlags.l
szExeFile.b[#MAX_PATH]
EndStructure
Procedure SearchProcess(Name.s)
result.b = #False
If OpenLibrary(0, "Kernel32.dll")
CreateToolhelpSnapshot = GetFunction(0, "CreateToolhelp32Snapshot")
ProcessFirst = GetFunction(0, "Process32First")
ProcessNext = GetFunction(0, "Process32Next")
If CreateToolhelpSnapshot And ProcessFirst And ProcessNext
Process.PROCESSENTRY33\dwSize = SizeOf(PROCESSENTRY33)
Snapshot = CallFunctionFast(CreateToolhelpSnapshot, $2, 0)
If Snapshot
ProcessFound = CallFunctionFast(ProcessFirst, Snapshot, Process)
While ProcessFound
PN$ = UCase(PeekS(@Process\szExeFile))
If UCase(Name) = GetFilePart(PN$) : result = #True : EndIf
ProcessFound = CallFunctionFast(ProcessNext, Snapshot, Process)
Wend
EndIf
CloseHandle_(Snapshot)
EndIf
CloseLibrary(0)
EndIf
ProcedureReturn result
EndProcedure
If SearchProcess("EasySetup.exe")
Debug "Programm läuft"
Else
Debug "Programm nicht gefunden"
EndIf
Re: ?
Verfasst: 04.10.2006 17:37
von PMTheQuick
Brügge hat geschrieben:wird das ein virus? (einen, den man nicht ausschalten kann?)
Ne, ein Test Kopierschutz
Bis jetzt schiesst er bekannte Dienste ab (Nero u.s.w.)..
Dann blockiert er Debugger-Proggis (OlyDBG und so nur, wo man SVariablen auslesen und modden kann)
Bei einem Versuch den Copy-Protection auszuschalten, kommt "ILLEGAL REQUEST" und der Windows rechner wird gnadenlos heruntergefahren... Mit NtOpenFile(0,0,0,) oder wie auch immer...
Gruss
PMTheQuick
EDIT: Keine Angst... Er soll nur als Test dienen!

Und läuft auf einem VitualPC...