| |
|
|
| Michael Dell
Ob una EXE ausgeführt se sieht uno hiermit: KompilierenMarcaSeparaciónSuchen und beenden von Prozessen (Programmen)
1.) Parameter = DateiName$ (ohne Pfad)
2.) Parameter = 0 - Prozess nicht beenden / 1 - Prozess beenden (falls vorhanden)
Autor: nicht bekannt!
Bearbeitet: Michael Dell
Def ProcessSnapshot(2) !KERNEL32.DLL,CreateToolhelp32Snapshot
Def ProcessFirst(2) !KERNEL32.DLL,Process32First
Def ProcessNext(2) !KERNEL32.DLL,Process32Next
Def GetLastError(0) !KERNEL32.DLL,GetLastError
Def OpenProcess(3) !KERNEL32.DLL,OpenProcess
Def TerminateProcess(2) !KERNEL32.DLL,TerminateProcess
Def CloseHandle(1) !KERNEL32.DLL,CloseHandle
Struct FOKP_PROCENTR32 = dwSize&,cntUsage&,th32ProcessID&,th32DefaultHeapID&,th32ModuleID&,cntThreads&,
th32ParentProcessID&,pcPriClassBase&,dwFlags&,szExeFile$(260)
Proc FindOrKillProcess
Parameters FOKP_Process$,FOKP_Delete&
Declare FOKP_NameLng&,FOKP_hSnapshot&,FOKP_Result&,FOKP_hProcess&,FOKP_ProcAnz&,FOKP_TermOk&,FOKP_PROCENTR#
Dim FOKP_PROCENTR#,FOKP_PROCENTR32
Clear FOKP_NameLng&,FOKP_hSnapshot&,FOKP_Result&,FOKP_hProcess&,FOKP_ProcAnz&,FOKP_TermOk&,FOKP_PROCENTR#
Long FOKP_PROCENTR#,0 = SizeOf(FOKP_PROCENTR#)
FOKP_NameLng& = Len(FOKP_Process$)
FOKP_Process$ = Lower$(FOKP_Process$)
FOKP_hSnapshot& = ProcessSnapshot(2, 0)
IfNot FOKP_hSnapshot& = -1
FOKP_Result& = ProcessFirst(FOKP_hSnapshot&, FOKP_PROCENTR#)
While FOKP_Result&
If Lower$(Right$(FOKP_PROCENTR#.szExeFile$,FOKP_NameLng&)) = FOKP_Process$
If FOKP_Delete& = 1
FOKP_hProcess& = OpenProcess(1, 0, FOKP_PROCENTR#.th32ProcessID&)
FOKP_TermOk& = TerminateProcess(FOKP_hProcess&, 0)
CloseHandle(FOKP_hProcess&)
sleep 100
EndIf
FOKP_ProcAnz& = FOKP_ProcAnz& + (FOKP_Delete&<>1) + FOKP_TermOk&
EndIf
FOKP_Result& = ProcessNext(FOKP_hSnapshot&, FOKP_PROCENTR#)
EndWhile
EndIf
CloseHandle(FOKP_hSnapshot&)
Dispose FOKP_PROCENTR#
Return Int(FOKP_ProcAnz&)
EndProc
Declare GL_DateiName$,GL_ProzessAnz&
GL_DateiName$ = TESTX.EXE
Cls
GL_ProzessAnz& = FindOrKillProcess(GL_DateiName$,0)
If GL_ProzessAnz&
Print (GL_DateiName$ + ist Aktiv)
Else
Print (GL_DateiName$ + ist Inaktiv)
EndIf
Print
Print
Print (Anzahl der Prozesse von q + GL_DateiName$ + q im Speicher: + Str$(GL_ProzessAnz&))
Wai
End
|
|
|
| |
|
|