Det här är kod för att avsluta en process. Vet ej hur jag får fram Handle till processen eller Adressen (Se nedan var Handlet och Adressen skall vara) Dom är utmärkta som -Handle- och -Adress-! Dim hProcess As Long Tack så hemskt mycket!!!Döda processer
Det kanske finns nåt bättre sätt att avsluta en process? Jag vill ej avsluta processen som den här koden körs i!
Tacksam för svar!
<code>
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type
Const MAX_PATH As Integer = 260
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Dim hSnapShot As Long, uProcess As PROCESSENTRY32
Dim r
Dim ProcessNamn As String
Dim RetValue As Long
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
uProcess.dwSize = Len(uProcess)
r = Process32First(hSnapShot, uProcess)
Do While r
ProcessNamn = Right(Pos(uProcess.szExeFile), 12)
If ProcessNamn = "PROJECT1.EXE" Then
RetValue = TerminateProcess(-HANDLE-, GetExitCodeProcess(-ADRESS-, 0))
End If
r = Process32Next(hSnapShot, uProcess)
Loop
CloseHandle hSnapShot
Private Function Pos(ByVal s As String) As String
Dim i
For i = 1 To Len(s)
If Mid$(s, i, 1) = Chr(0) Then
Pos = Left(s, i - 1)
Exit Function
End If
Next i
End Function
</code>Sv: Döda processer
...
hProcess = OpenProcess(PROCESS_TERMINATE, 0, uProcess.th32ProcessID)
RetValue = TerminateProcess(hProcess, 0)
Call CloseHandle(hProcess)
...
~ beezoSv: Döda processer
Som jag har kämpat!! :-)
Tur att detta forum och alla hjälpsamma människor finns!!