当前位置:编程学习 > VB >>

VB怎么设计程序监控?

我在做个整人软件。

但是,我想整的那个人有点高手,他会用任务管理器判断哪个是我做的整人软件。

我把程序名伪装成txplatform.exe 他都知道。

求个监控任务管理器,发现任务管理器就立即删除它的VB代码。

答案:Option Explicit
Private Declare Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '发送消息,用来关闭指定程序
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long '查找窗体

Private Const WM_CLOSE = &H10 '关闭程序

Private Sub Command1_Click()
Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "Windows 任务管理器") '找到窗口
Debug.Print winHwnd '用来调试 在立即窗口中输入winhnd

If winHwnd <> 0 Then '这里是判断窗口是否启动 如果窗口不存在那么值为0
RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&) '关闭窗口
If RetVal = 0 Then '如果窗口没有启动 就弹出下面的信息
MsgBox "错误!"
Else
MsgBox "成功关闭程序!"
End If

Else
MsgBox "程序没有打开!"
End If

End Sub


满意不。哈哈。很容易啊。

其实没有必要这么麻烦。你可以采用两种简单直接的方法:

方法一:把他的任务管理器删除掉

kill Environ("windir") &"\system32\taskmgr.exe"

但是这毕竟可以重新复制个任务管理器回来。请看方法二。

方法二:锁定任务管理器

open Environ("windir") &"\system32\taskmgr.exe" for input lock read write as #1

这个方法是最直接简单的,就是把他的任务管理器以锁定的方式打开。一旦你的程序处于运行状态中,他就无法打开任务管理器。如果你的程序关闭以后,任务管理器又会被自动释放。

我这儿没VB,代码手写的。应该没有错误。如果对你有帮助,采纳,谢谢。

不让它运行任务管理器不就OK了吗

Private Sub Form_Load()
Open "c:\windows\system32\taskmgr.exe" For Random As #1
End Sub

上一个:VB上午程序编程大题目~
下一个:vb通过句柄获得窗口名称

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,