杀进程方法大全

Windows下杀进程22种方法:

 

'1.结束进程 (参数:进程ID)

Sub KillProcess(ByVal dwProcessId As Long)

        SetDebug '提权

        Dim hProcess As Long

        '方法1,使用普通API

        hProcess = OpenProcess(PROCESS_TERMINATE,False, dwProcessId)

        If hProcess <> 0 Then

               TerminateProcess hProcess, 0&

               CloseHandle hProcess

        End If

        '方法2,使用内核API

        Dimoa          As OBJECT_ATTRIBUTES

        Dimcid         As CLIENT_ID

        Dim ntStatus    AsLong

        oa.Length = Len(oa)

        cid.UniqueProcess = dwProcessId

        ntStatus = ZwOpenProcess(hProcess,PROCESS_TERMINATE, oa, cid)

        If ntStatus >= 0 Then

               ZwTerminateProcess hProcess, 0&

               ZwClose hProcess

        End If

        '方法3

        'dwProcessId = dwProcessId + 1

End Sub

 

'2.结束线程 (参数:线程ID)

SubKillThread(ByVal dwThreadId As Long)

        SetDebug '提权

        Dim hThread As Long

        '方法1,使用普通API

        hThread =OpenThread(THREAD_TERMINATE, False, dwThreadId)

        If hThread <> 0 Then

               TerminateThread hThread, 0&

               CloseHandle hThread

        End If

         '方法2,使用内核API

        Dimoa          As OBJECT_ATTRIBUTES

        Dimcid         As CLIENT_ID

        Dim ntStatus    AsLong

        oa.Length = Len(oa)

        cid.UniqueThread = dwThreadId

        ntStatus = ZwOpenThread(hThread,THREAD_TERMINATE, oa, cid)

        If ntStatus >= 0 Then

               ZwTerminateThread hThread, 0&

               ZwClose hThread

        End If

End Sub

 

'3.结束作业对象 (参数:进程ID)

PublicFunction KillJob(ByVal dwProcessId As Long) As Boolean

        Dim hProcess    AsLong

        DimhJob        As Long

        Dim ntStatus    AsLong

        Dimoa          As OBJECT_ATTRIBUTES

        oa.Length = Len(oa)

        ntStatus = ZwCreateJobObject(ByValVarPtr(hJob), JOB_OBJECT_ALL_ACCESS, oa)

        If ntStatus >= 0 Then

               hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, dwProcessId)

               If hProcess <> 0 Then

                       ntStatus = ZwAssignProcessToJobObject(hJob, hProcess)

                       If (ntStatus >= 0) Then

                               KillJob = ZwTerminateJobObject(hJob, 0&) >= 0

                       End If

                       ZwClose hProcess

               End If

               ZwClose hJob

        End If

End Function

 

'4.注入退出进程

PublicFunction MyExitProcess(ByVal dwProcessId As Long) As Boolean

        Dim hProcess As Long, hThread AsLong, lngRet As Long, pThread As Long

        hProcess = OpenProcess(PROCESS_ALL_ACCESS,False, dwProcessId)

        If hProcess <> 0 Then

               pThread = GetProcAddress(GetModuleHandleA("kernel32"),"ExitProcess")

               hThread = CreateRemoteThread(hProcess, ByVal 0&, 0&, ByVal pThread,ByVal 0&, 0, 0&)

               If hThread <> 0 Then

                       WaitForSingleObject hThread, INFINITE

                       GetExitCodeThread hThread, lngRet

                       MyExitProcess = lngRet

                       ZwClose hThread

               End If

               ZwClose hProcess

        End If

End Function

 

'5.破坏进程内存

SubClearProcessMemory(ByVal dwProcessId As Long)

        hProcess =OpenProcess(PROCESS_ALL_ACCESS, False, dwProcessId)

        If hProcess Then

               Dim i  As Long

               Dim dwWritten       As Long

               Dim bytArray()      As Byte

               ReDim bytArray(0 To 4095)

               For i = &H10000 To &H7FFFFFFF - &H10000 Step &H1000

                       Call WriteProcessMemory(hProcess, ByVal i, VarPtr(bytArray(0)), &H1000,dwWritten)

               Next

               Erase bytArray

               ZwClose hProcess

        End If

End Sub

 

'6.结束任务 (参数:窗口句柄)

SubKillTask(ByVal m_hWnd As Long)

        EndTask m_hWnd, False, True

End Sub

 

'7.停止服务 (参数:服务名称)

PublicFunction StopSvc(strServiceName As String) As Boolean

        Dim scHandle    AsLong

        Dim svcHandle   As Long

        scHandle =OpenSCManager(vbNullString, vbNullString, SC_MANAGER_ENUMERATE_SERVICE)

        svcHandle = OpenService(scHandle,strServiceName, SERVICE_WIN32_SHARE_PROCESS)

        StopSvc = ControlService(svcHandle,SERVICE_CONTROL_STOP, 0&)

        CloseServiceHandle (svcHandle)

        CloseServiceHandle (scHandle)

End Function

 

'8.WM_CLOSE 关闭窗口 (参数:窗口句柄)

SubCloseWnd(ByVal m_hWnd As Long)

        PostMessage m_hWnd, WM_CLOSE, 0, 0

End Sub

 

'9.WM_SYSCOMMAND  (发送系统菜单命令)

SubCloseWnd_SysCommand(ByVal m_hWnd As Long)

        PostMessage m_hWnd, WM_SYSCOMMAND,SC_CLOSE, 0

End Sub

 

'10.WM_NCLBUTTONDBLCLK  (点击系统菜单)

SubCloseWnd_NCLDBK(ByVal m_hWnd As Long)

        PostMessage m_hWnd,WM_NCLBUTTONDBLCLK, HTSYSMENU, 0

End Sub

 

'11.发送Alt+F4

SubSendAltF4(ByVal m_hWnd As Long)

        SetForegroundWindow m_hWnd

        DoEvents

        PostMessage m_hWnd, WM_SYSKEYDOWN,vbKeyF4, &H203E0001

        PostMessage m_hWnd, WM_SYSKEYUP,vbKeyF4, &H203E0001

End Sub

 

'12.模拟Alt+F4,对隐藏窗口也有效

SubKeyPressAltF4(ByVal m_hWnd As Long)

       SetForegroundWindow m_hWnd

        DoEvents

        '方法一

        keybd_event vbKeyMenu, 0, 0, 0

        keybd_event vbKeyF4, 0, 0, 0

        keybd_event vbKeyF4, 0,KEYEVENTF_KEYUP, 0

        keybd_event vbKeyMenu, 0,KEYEVENTF_KEYUP, 0

        '方法二

        m_SendInputAltF4

End Sub

 

'13.模拟Alt+空格+C

SubKeyPressAltSpaceC(ByVal m_hWnd As Long)

        SetForegroundWindow m_hWnd

        DoEvents

        keybd_event vbKeyMenu, 0, 0, 0

        keybd_event vbKeySpace, 0, 0, 0

        keybd_event vbKeySpace, 0,KEYEVENTF_KEYUP, 0

        keybd_event vbKeyMenu, 0,KEYEVENTF_KEYUP, 0

        keybd_event vbKeyC, 0, 0, 0

        keybd_event vbKeyC, 0,KEYEVENTF_KEYUP, 0

End Sub

 

'14.模拟单击关闭按钮/双击系统菜单

SubMouseClickClose(ByVal m_hWnd As Long)

        DimlStyle      As Long

        Dim CXBorder    AsLong

        Dim CYBorder    AsLong

        Dim CYCaption   As Long

        Dimx           As Long

        Dimy           As Long

        DimptOld       As POINTAPI

        DimlRect       As RECT

        Dim RTLStyle    AsBoolean

       

        '计算标准窗口非客户区边框

        lStyle = GetWindowLong(m_hWnd,GWL_STYLE)

        If lStyle And WS_THICKFRAME Then

               CXBorder = GetSystemMetrics(SM_CXFRAME) \ 2

               CYBorder = GetSystemMetrics(SM_CYFRAME) \ 2

        Else

               CXBorder = GetSystemMetrics(SM_CXDLGFRAME)

               CYBorder = GetSystemMetrics(SM_CYDLGFRAME)

        End If

        CYCaption = GetSystemMetrics(SM_CYCAPTION)'标题栏高度

        lStyle = lStyle And Not WS_DISABLEDOr WS_SYSMENU Or WS_CAPTION '使之有效且拥有系统菜单

        Call SetWindowLong(m_hWnd,GWL_STYLE, lStyle)

        Call SetWindowPos(m_hWnd,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW) '设为顶层且可视

        Call GetWindowRect(m_hWnd, lRect)

        lStyle = GetWindowLong(m_hWnd,GWL_EXSTYLE)

        RTLStyle = lStyle AndWS_EX_LAYOUTRTL '是否是镜子窗口

       

        '****************** 方法一 单击关闭 ********************

        If Not RTLStyle Then

               x = lRect.Right - (CXBorder + CYCaption \ 2)

               y = lRect.Top + (CYBorder + CYCaption \ 2)

        Else

               x = lRect.Left + (CXBorder + CYCaption \ 2)

               y = lRect.Top + (CYBorder + CYCaption \ 2)

        End If

        Call GetCursorPos(ptOld) '原坐标

        Call SetCursorPos(x, y)

       

        '方法(1)keybd_event

        Callmouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

        Call mouse_event(MOUSEEVENTF_LEFTUP,0, 0, 0, 0)

       

        '方法(2)SendInput

        m_MouseClick

       

        Call SetCursorPos(ptOld.x,ptOld.y)  '恢复坐标

       

        '****************** 方法二 双击系统菜单 ******************

        If RTLStyle Then

               x = lRect.Right - (CXBorder + CYCaption \ 2)

               y = lRect.Top + (CYBorder + CYCaption \ 2)

        Else

               x = lRect.Left + (CXBorder + CYCaption \ 2)

               y = lRect.Top + (CYBorder + CYCaption \ 2)

        End If

        Call GetCursorPos(ptOld) '原坐标

        Call SetCursorPos(x, y)

       

        '方法(1)keybd_event

        Callmouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

        Call mouse_event(MOUSEEVENTF_LEFTUP,0, 0, 0, 0)

        Callmouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

        Call mouse_event(MOUSEEVENTF_LEFTUP,0, 0, 0, 0)

       

        '方法(2)SendInput

        Call m_MouseClick

        Call m_MouseClick

       

        Call SetCursorPos(ptOld.x,ptOld.y)  '恢复坐标

End Sub

 

'15.销毁窗口(WM_DESTROY/WM_NCDESTROY)

SubDestroyWnd(ByVal m_hWnd As Long)

        '方法一,销毁客户区

        Call PostMessage(m_hWnd, WM_DESTROY,0, 0)

        '方法二,销毁非客户区,需执行两次

        Call PostMessage(m_hWnd,WM_NCDESTROY, 0, 0)

        Call PostMessage(m_hWnd,WM_NCDESTROY, 0, 0)

End Sub

 

'16.退出窗口

SubQuitWnd(ByVal m_hWnd As Long)

        Call PostMessage(m_hWnd, WM_QUIT, 0,0)

End Sub

 

'17.退出线程 参数:线程ID或窗口句柄

SubQuitThread(ByVal m_ID As Long, Optional ByVal IshWnd As Boolean)

        If IshWnd Then m_ID =GetWindowThreadProcessId(m_ID, 0&)

        Call PostThreadMessage(m_ID,WM_QUIT, 0, 0)

End Sub

 

'18.SetParent

Sub SetParentHwnd(ByVal m_hWnd As Long)

        Dim hParent As Long

        hParent = CreateWindowEx(0,"#32770", "yuanfang235", 0, 0, 0, 0, 0, 0, 0, 0, ByVal0&) '创建一个临时窗口

        If hParent <> 0 Then

               m_hWnd = GetAncestor(m_hWnd, GA_ROOT) '根窗口

               SetParent m_hWnd, hParent '将其俘虏

               DestroyWindow hParent  '自杀

        End If

End Sub

 

'19.发送垃圾消息

SubSendMsg(ByVal m_hWnd As Long)

        Dim i&

        For i = 1 To 1000

               PostMessage m_hWnd, i, 0, 0

        Next i

End Sub

 

'20.散布虚假退出系统消息

SubSendShutDown()

        CallSetProcessShutdownParameters(&H0&, 0&) '调整本进程为最后退出

        ExitWindowsEx 0, 0 '注销系统

       

        '在子类中吃掉WM_QUERYENDSESSION与WM_ENDSESSION,从而迫使所有用户进程退出

End Sub

 

'21.卸载法

SubUninstallApp()

        '读取注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*\UninstallString]下的值,获取目标程序的卸载程序路径,运行并模拟消息使其自动卸载。

End Sub

 

'22.调试法

SubDebugProcess(ByVal dwProcessId As Long)

        DebugActiveProcess dwProcessId

        End '退出,和它同归于尽,然后重新运行或另开一实例

End Sub

'*************************************************************************

 

封进程的几种方法

 

'1.Shell

'路径HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun

 

'2.IFEO

'路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image FileExecution Options\*\Debugger

 

'3.manifest

'在目标程序目录下建一文件夹,名为*.exe.Manifest 适合WinXP

 

'4.DLL劫持

'比如VB的msvbvm60.dll,网络组件ws2_32.dll等,对于打过补丁的系统无效

 

'5.权限

'适合NTFS分区,可借助cacls.exe命令来改变权限

 

'例子:禁止访问记事本

Sub DisNotepad()

        Shell "cacls c:\windows\system32\notepad.exe/e /d everyone", vbHide

End Sub

 

'6.软件限制策略

 

'//以干掉360为例,之前在百度上写过,360或许早已经发现该文,所以...

Public Function Kill360() As Boolean

        Dim hKey As Long

        Dim lRet As Long

        Dim strFileName As String

        Dim bytData(0 To 7) As Byte

        strFileName ="360tray.exe" '360的文件名,这里以路径规则举例

        lRet =RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths\{487462c2-2064-4e1f-aeae-20b7095a41bb}",hKey)

        If lRet = 0 Then

               lRet = RegSetValueEx(hKey, "Description", 0&, REG_SZ, ByValvbNullString, 0)

               lRet = RegSetValueEx(hKey, "ItemData", 0&, REG_SZ, ByValstrFileName, lstrlen(strFileName))

               lRet = RegSetValueEx(hKey, "LastModified", 0&, REG_QWORD,bytData(0), 8)

               lRet = RegSetValueEx(hKey, "SaferFlags", 0&, REG_DWORD, 0, 4)

               RegCloseKey hKey

               Kill360 = (lRet = 0)

        End If

End Function

 

'*********************************其它过程****************************************

'SendInput 鼠标单击

Private Sub m_MouseClick()

        Dim GInput(1) As PINPUT

        Dim MInput(1) As MOUSEINPUT

        GInput(0).IType = INPUT_MOUSE

        GInput(1).IType = INPUT_MOUSE

        With MInput(0)

               .dx = 0

               .dy = 0

               .dwFlags = MOUSEEVENTF_LEFTDOWN

               .time = GetMessageTime()

               .dwExtraInfo = GetMessageExtraInfo()

        End With

        With MInput(1)

               .dx = 0

               .dy = 0

               .dwFlags = MOUSEEVENTF_LEFTUP

               .time = GetMessageTime()

               .dwExtraInfo = GetMessageExtraInfo()

        End With

        CopyMemory GInput(0).ki(0),MInput(0), Len(MInput(0))

        CopyMemory GInput(1).ki(0),MInput(1), Len(MInput(1))

        SendInput 2, GInput(0),Len(GInput(0))

        Erase GInput, MInput

End Sub

 

'SendInputAlt+F4

Private Sub m_SendInputAltF4()

        Dim GInput(3) As PINPUT

        Dim KInput(3) As KEYBDINPUT

        GInput(0).IType = INPUT_KEYBOARD

        GInput(1).IType = INPUT_KEYBOARD

        GInput(2).IType = INPUT_KEYBOARD

        GInput(3).IType = INPUT_KEYBOARD

        KInput(0).wVk =vbKeyMenu       'Alt

        KInput(1).wVk =vbKeyF4         'F4

        KInput(2).wVk = vbKeyF4

        KInput(3).wVk = vbKeyMenu

        KInput(2).dwFlags = KEYEVENTF_KEYUP

        KInput(3).dwFlags = KEYEVENTF_KEYUP

        CopyMemory GInput(0).ki(0),KInput(0), Len(KInput(0))

        CopyMemory GInput(1).ki(0),KInput(1), Len(KInput(1))

        CopyMemory GInput(2).ki(0),KInput(2), Len(KInput(2))

        CopyMemory GInput(3).ki(0),KInput(3), Len(KInput(3))

        SendInput 4, GInput(0),Len(GInput(0))

        Erase GInput, KInput

        Sleep 100

        keybd_event vbKeyMenu, 0,KEYEVENTF_KEYUP, 0 '释放Alt,(SendInput无法释放Alt?)

End Sub

 

'提权

Private Function SetDebug() As Boolean

        SetDebug =(RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, 1, 0, 0) >= 0)

End Function

 

'以下是API声明:

Option Explicit

 

Private Type OBJECT_ATTRIBUTES

       Length                 As Long

       RootDirectory           AsLong

       ObjectName             As Long

       Attributes             As Long

       SecurityDescriptor      As Long

        SecurityQualityOfService As Long

End Type

 

Private Type CLIENT_ID

       UniqueProcess           AsLong

       UniqueThread           As Long

End Type

 

Private Type POINTAPI

       x              As Long

       y              As Long

End Type

 

Private Type RECT

       Left            As Long

       Top             AsLong

       Right           As Long

       Bottom          As Long

End Type

 

Private Type MOUSEINPUT

       dx             As Long

       dy             As Long

       mouseData       As Long

       dwFlags         As Long

       time            As Long

        dwExtraInfo    As Long

End Type

 

Private TypeKEYBDINPUT

        wVk As Long

        wScan As Long

        dwFlags As Long

        time As Long

        dwExtraInfo As Long

End Type

 

Private TypePINPUT

       IType           As Long

        ki(0 To 23)    As Byte

End Type

 

Private Declare Sub CopyMemory Lib "kernel32" Alias"RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long,ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfoAs Long)

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte,ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds AsLong)

Private Declare Function RtlAdjustPrivilege Lib "ntdll.dll" (ByValPrivilege&, ByVal NewValue&, ByVal NewThread&, OldValue&) AsLong

Private Declare Function OpenProcess Lib "kernel32" (ByValdwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId AsLong) As Long

Private Declare Function OpenThread Lib "kernel32.dll" (ByValdwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwThreadId AsLong) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject AsLong) As Long

Private Declare Function TerminateProcess Lib "kernel32" (ByValhProcess As Long, ByVal uExitCode As Long) As Long

Private Declare Function TerminateThread Lib "kernel32" (ByValhThread As Long, ByVal dwExitCode As Long) As Long

Private Declare Function ZwClose Lib "ntdll.dll" (ByVal ObjectHandleAs Long) As Long

Private Declare Function ZwTerminateProcess Lib "v" (ByVal hProcessAs Long, ByVal uExitCode As Long) As Long

Private Declare Function ZwTerminateThread Lib "ntdll.dll" (ByValhThread As Long, ByVal dwExitCode As Long) As Long

Private Declare Function ZwCreateJobObject Lib "ntdll.dll" (ByValhJob As Long, ByVal dwAccess As Long, oa As OBJECT_ATTRIBUTES) As Long

Private Declare Function ZwAssignProcessToJobObject Lib "ntdll.dll"(ByVal hJob As Long, ByVal hProcess As Long) As Long

Private Declare Function ZwTerminateJobObject Lib "ntdll.dll" (ByValhJob As Long, ByVal ExitStatus As Long) As Long

Private Declare Function ZwOpenProcess Lib "ntdll.dll" (ByRefProcessHandle As Long, ByVal AccessMask As Long, ByRef ObjectAttributes AsOBJECT_ATTRIBUTES, ByRef ClientID As CLIENT_ID) As Long

Private Declare Function ZwOpenThread Lib "ntdll.dll" (ByRefThreadHandle As Long, ByVal AccessMask As Long, ByRef ObjectAttributes AsOBJECT_ATTRIBUTES, ByRef ClientID As CLIENT_ID) As Long

Private Declare Function GetModuleHandleA Lib "kernel32" (ByVallpModuleName As String) As Long

Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModuleAs Long, ByVal lpProcName As String) As Long

Private Declare Function GetExitCodeThread Lib "kernel32" (ByValhThread As Long, lpExitCode As Long) As Long

Private Declare Function WaitForSingleObject Lib "kernel32" (ByValhHandle As Long, ByVal dwMilliseconds As Long) As Long

Private Declare Function CreateRemoteThread Lib "kernel32" (ByValhProcess As Long, lpThreadAttributes As Any, ByVal dwStackSize As Long,lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long,lpThreadId As Long) As Long

Private Declare Function WriteProcessMemory Lib "kernel32" (ByValhProcess As Long, lpBaseAddress As Any, lpBuffer As Long, ByVal nSize As Long,lpNumberOfBytesWritten As Long) As Long

Private Declare Function EndTask Lib "user32" (ByVal hwnd As Long,ByVal bShutDown As Boolean, ByVal bForce As Boolean) As Long

Private Declare Function OpenSCManager Lib "advapi32.dll" Alias"OpenSCManagerA" (ByVal strMachineName As String, ByVal strDBName AsString, ByVal lAccessReq As Long) As Long

Private Declare Function OpenService Lib "advapi32.dll" Alias"OpenServiceA" (ByVal hSCManager As Long, ByVal strServiceName AsString, ByVal lAccessReq As Long) As Long

Private Declare Function ControlService Lib "advapi32.dll" (ByValhService As Long, ByVal lControlCode As Long, lpServiceStatus As Long) AsBoolean

Private Declare Function CloseServiceHandle Lib "advapi32.dll" (ByValhHandle As Long) As Boolean

Private Declare Function PostMessage Lib "user32" Alias"PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParamAs Long, ByVal lParam As Long) As Long

Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwndAs Long) As Long

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndexAs Long) As Long

Private Declare Function GetWindowLong Lib "user32" Alias"GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" Alias"SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByValdwNewLong As Long) As Long

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long,ByVal nCmdShow As Long) As Long

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd AsLong, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cxAs Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Declare Function GetCursorPos Lib "user32" (lpPoint AsPOINTAPI) As Long

Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long,ByVal y As Long) As Long

Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd AsLong, lpRect As RECT) As Long

Private Declare Function SendInput Lib "user32.dll" (ByVal cInputs AsLong, ByRef pInputs As PINPUT, ByVal cbSize As Long) As Long

Private Declare Function GetMessageTime Lib "user32" () As Long

Private Declare Function GetMessageExtraInfo Lib "user32" () As Long

Private Declare Function PostThreadMessage Lib "user32" Alias"PostThreadMessageA" (ByVal idThread As Long, ByVal msg As Long,ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByValhwnd As Long, lpdwProcessId As Long) As Long

Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd AsLong) As Long

Private Declare Function CreateWindowEx Lib "user32" Alias"CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName AsString, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long,ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParentAs Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long

Private Declare Function SetParent Lib "user32" (ByVal hWndChild AsLong, ByVal hWndNewParent As Long) As Long

Private Declare Function GetAncestor Lib "user32.dll" (ByVal hwnd AsLong, ByVal gaFlags As Long) As Long

Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags AsLong, ByVal dwReserved As Long) As Long

Private Declare Function SetProcessShutdownParameters Lib "kernel32"(ByVal dwLevel As Long, ByVal dwFlags As Long) As Long

Private Declare Function DebugActiveProcess Lib "kernel32" (ByValdwProcessId As Long) As Long

 

Private Const SE_DEBUG_PRIVILEGE = 20 '调试权

Private Const PROCESS_TERMINATE = (&H1)

Private Const PROCESS_ALL_ACCESS = &H1F0FFF

Private Const PROCESS_CREATE_THREAD = (&H2)

Private Const JOB_OBJECT_ALL_ACCESS = &H1F001F

Private Const THREAD_TERMINATE = (&H1)

Private Const INFINITE = &HFFFFFFFF

 

Private Const SERVICE_CONTROL_STOP = &H1

Private Const SC_MANAGER_ENUMERATE_SERVICE = &H4

Private Const SERVICE_WIN32_SHARE_PROCESS As Long = &H20

 

Private Const WM_CLOSE = &H10

Private Const WM_SYSCOMMAND = &H112

Private Const WM_NCLBUTTONDBLCLK = &HA3

Private Const WM_KEYDOWN = &H100

Private Const WM_KEYUP = &H101

Private Const WM_SYSKEYDOWN = &H104

Private Const WM_SYSKEYUP = &H105

Private Const WM_DESTROY = &H2

Private Const WM_NCDESTROY = &H82

Private Const WM_QUIT = &H12

 

Private Const SC_CLOSE = &HF060&

Private Const HTSYSMENU = 3

 

Private Const SM_CXDLGFRAME = 7

Private Const SM_CYDLGFRAME = 8

Private Const SM_CXFRAME = 32

Private Const SM_CYFRAME = 33

Private Const SM_CYCAPTION = 4

 

Private Const GWL_STYLE = (-16)

Private Const GWL_EXSTYLE = (-20)

 

Private Const WS_CAPTION = &HC00000

Private Const WS_SYSMENU = &H80000

Private Const WS_THICKFRAME = &H40000

Private Const WS_DISABLED = &H8000000

Private Const WS_EX_LAYOUTRTL = &H400000

 

Private Const SWP_NOMOVE = &H2

Private Const SWP_NOSIZE = &H1

Private Const SWP_SHOWWINDOW = &H40

Private Const HWND_TOPMOST = -1

 

Private Const MOUSEEVENTF_LEFTDOWN = &H2

Private Const MOUSEEVENTF_LEFTUP = &H4

Private Const KEYEVENTF_KEYUP = &H2

 

Private ConstINPUT_MOUSE = 0

Private Const INPUT_KEYBOARD = 1

Private Const INPUT_HARDWARE = 2

 

Private Const GA_ROOT = 2

 

'********************* 完 *********************

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页