27-10-12, 05:41 PM
ضع الأمر التالي :
بعدين إذا بدك توقف مثلا برنامج المفكرة :
ولإعادة تشغيلها :
بالتوفيق
كود :
Public Declare Function SuspendThread Lib "kernel32.dll" (ByVal hThread As Int32) As Int32
Public Declare Function ResumeThread Lib "kernel32.dll" (ByVal hThread As Int32) As Int32
Public Declare Function OpenThread Lib "kernel32.dll" (ByVal dwDesiredAccess As Int32, ByVal bInheritHandle As Int32, ByVal dwThreadId As Int32) As Int32
Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Int32) As Int32
Public Function Thread_GetHandle(ByVal ThreadID As Integer) As IntPtr
Return OpenThread(ThreadAccess.SUSPEND_RESUME, False, ThreadID)
End Function
<Flags()> _
Public Enum ThreadAccess As Integer
TERMINATE = (&H1)
SUSPEND_RESUME = (&H2)
GET_CONTEXT = (&H8)
SET_CONTEXT = (&H10)
SET_INFORMATION = (&H20)
QUERY_INFORMATION = (&H40)
SET_THREAD_TOKEN = (&H80)
IMPERSONATE = (&H100)
DIRECT_IMPERSONATION = (&H200)
End Enumبعدين إذا بدك توقف مثلا برنامج المفكرة :
كود :
Dim Proc As Process = Process.GetProcessesByName("[color=#ff0000]notepad[/color]")(0)
For Each thread As ProcessThread In Proc.Threads
SuspendThread(Thread_GetHandle(thread.Id))
Nextولإعادة تشغيلها :
كود :
Dim Proc As Process = Process.GetProcessesByName("[color=#ff0000]notepad[/color]")(0)
For Each thread As ProcessThread In Proc.Threads
ResumeThread(Thread_GetHandle(thread.Id))
Nextبالتوفيق
