Da es ja viele programme giebt wie z.b. den eXtended Task Manager womit man threads einfach "killen" kann, wollte ich fragen ob es auch eine methode giebt dies per visual basic zu machen.
z.b. das das programm ein thread in calc.exe killt.
Public Declare Function SuspendThread Lib "kernel32.dll" (ByVal hThread As IntPtr) As Integer
Public Declare Function ResumeThread Lib "kernel32.dll" (ByVal hThread As IntPtr) As int32
Public Declare Function TerminateThread Lib "kernel32.dll" (ByVal hThread As IntPtr, ByVal dwExitCode As UInt32) As Boolean
Public Declare Function OpenThread Lib "kernel32.dll" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Boolean, ByVal dwThreadId As UInteger) As IntPtr
Public Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As IntPtr) As Boolean
Public Shared Function ResumeProcess(ByVal process2 As String)
Try
Dim process1 As Process = Process.GetProcessById(process2)
For Each pt As ProcessThread In process1.Threads
Dim H As IntPtr
H = OpenThread(ThreadAccess.SUSPEND_RESUME, False, pt.Id)
If h <> IntPtr.Zero Then
ResumeThread(H)
CloseHandle(H)
End If
Next
Catch ex As Exception
End Try
End Function
Public Shared Function SuspendProcess(ByVal process2 As String)
Dim process1 As Process = Process.GetProcessById(process2)
For Each pt As ProcessThread In process1.Threads
Dim h As IntPtr
h = OpenThread(ThreadAccess.SUSPEND_RESUME, False, pt.Id)
If h <> IntPtr.Zero Then
SuspendThread(h)
CloseHandle(h)
End If
Next
End Function
Public Shared Function TerminateThread(ByVal threadid As Long) As Boolean
Dim h As IntPtr = OpenThread(ThreadAccess.TERMINATE, False, threadid)
TerminateThread(h, 0) '0 is the exit code, dont change if you dont know what your doing
CloseHandle(h)
End Function
das einzige was ich will ist :
die imports
keine zusätzlichen programme oder sonst was!
den quellcode so einfach gehalten wie es nur geht er soll nur ein thread killen in einem prozess und fertig ...
also bei dem code von pinvoke ist das problem , das er anzeigt , das DllImport nicht deklariert ist ....
wenn suspenden sowas ähnliches wie killen ist wäre mir auch ein suspender recht ....
hauptsache die threads sind down ...
und bei dem code von schneider1424 erscheint bei jeden 2. wort ein fehler ...
falls du es genau sehen willst , add mich in skype: grandelbar1958
Dir fehlt der Import auf die Funktion, hoffe du siehst es nicht als Angriff aber im moment übersteigt das was du machen willst klar dein Wissen.
Grundlagen pauken wäre die richtige Wahl, den auch wenn man dir nun hilft bis es läuft, zweifel ich dennoch an das du auch verstehst was du da gerade tust.
Imports System.Runtime.InteropServices
Wenn mich mein mieses Wissen über VB nu nich im Stich lässt
werds mal austesten ,
naja also die visual basic grundlagen bin ich grad teilweise am lernen
bin bei nem buch bei 1.10 also vllt 3-4% ^^
mir ist die hauptsache das ich dies erstma habe , da ich visual basic nur bestimmte sachen brauche ^^.
PS: du kannst mir aber sogut wie jeden source vorlegen und ich kann ihn dir erklären nur selber coden kann ich ihn nicht xD.
#edit geht nicht
bringt mir bei jeden import was ich mache sogut wie jedes mal nen anderen fehler????
ohne hilfe bei pn oder skype wird das sowieso nichts !
auser ihr schreib hier wirklich das kleinste detail auf was ich machen muss ....
schriftliche anweisungen konnt ich noch nie verarbeiten ....
[HELP] Source Suspend and Terminate Ehsvc.dll 11/28/2011 - C/C++ - 1 Replies Please help me. if you guys can help me. I need a source to suspend ehsvc.dll and terminate psapi.dll
sorry, my english is bad. because i use google translate :D