目前了解到的可以编程通过进程名关闭一些进程,但还可以改变程序名称啊,程序就关不了啦,高手办忙,谢啦!
解决方案 »
- 问一个关于hook的问题
- 窗口总在最上,这个窗体是否就不会响应事件
- 查询记录条数怎么会出现-1?
- 急问我用来存数据的CommonDialog怎么安取消按钮的时候老是出错啊??急!
- 我在执行recordset.requery时错误提示:3219 在此环境中不允许操作
- 我用picturebox设置不同的Align属性在MDI父窗口中进行界面布局,但始终得不到我想要的样式
- 急问一个初级问题:有关控件的数组传参问题!帮帮我--载线等
- VB 打開 FORM 時,沒辦法載入,物件不可打開,但是代碼可看到。怎 麼辦?
- VB的分布式应用问题!
- 在vb中如何备份文件
- 各位高手请给小弟帮一帮忙,关于sql的问题......................急(满分送出)
- 深度优先搜索算法
'*********************************************************
' 目 的: 关闭进程
' 参数说明:
'
' 日 期: BY COMMENT CONTENT
' ---------- ---- ------- -------
' 2005/04/09 Jian 建立
'*********************************************************
Public Function CloseProcs(Proc As Long)
Dim i As Long
Dim hand As Long
hand = OpenProcess(PROCESS_TERMINATE, True, Proc) '注释:获取进程控制码
TerminateProcess hand, 0 '注释:关闭进程
CloseHandle (Proc)
End Function
'*********************************************************
' 目 的: 检查打开的窗体
' 参数说明:
'
' 日 期: BY COMMENT CONTENT
' ---------- ---- ------- -------
' 2005/04/09 Jian 建立
'*********************************************************
Public Function InspectWindows()
Dim RenHWND As Long
Dim retvalue As Long
Dim WinTextLength As Long
Dim GetPro As Long
Dim proceID As Long
RenHWND = GetWindow(frmAllSystem.hwnd, GW_HWNDFIRST)
Do
retvalue = GetWindowText(RenHWND, WinText, 256)
If retvalue <> 0 Then
If Left$(WinText, WinTextLength) <> frmAllSystem.Caption And Left$(WinText, WinTextLength) <> App.Title Then
If InStr(1, WinText, "QQ") <> 0 Then
GetPro = GetWindowThreadProcessId(RenHWND, proceID)
CloseProcs proceID
End If
End If
End If
RenHWND = GetWindow(RenHWND, GW_HWNDNEXT)
Loop Until RenHWND = 0
Call CloseHandle(RenHWND)
Call CloseHandle(retvalue)
Call CloseHandle(GetPro)
End Function
Private Sub Ttimer_Timer()
InspectWindows
End Sub
问题是,运行不稳定,有时造成程序退出,包括后台运行的防毒,msn,或者输入法的图标消失,
Shell "rundll.exe user.exe,exitwindowsexec", vbHide '重新启动
Shell "rundll.exe user.exe,exitwindows", vbHide '关闭
'模
'*********************************************************
' 目 的: 關閉進程
' 參數說明:
'
' 日 期: BY COMMENT CONTENT
' ---------- ---- ------- -------
' 2005/04/09 Jian 建立
'*********************************************************
Public Function CloseProcs(Proc As Long)
Dim I As Long
Dim hand As Long
hand = OpenProcess(PROCESS_TERMINATE, True, Proc) '注釋:獲取進程控制碼
TerminateProcess hand, 0 '注釋:關閉進程
CloseHandle (Proc)
End Function
'*********************************************************
' 目 的: 檢查打開的窗體
' 參數說明:
'
' 日 期: BY COMMENT CONTENT
' ---------- ---- ------- -------
' 2005/04/09 Jian 建立
'*********************************************************
Public Function InspectWindows()
Dim RenHWND As Long
Dim retvalue As Long
Dim WinTextLength As Long
Dim GetPro As Long
Dim proceID As Long
RenHWND = GetWindow(frmAllSystem.hWnd, GW_HWNDFIRST) '獲取第一個窗體句柄
Do
retvalue = GetWindowText(RenHWND, WinText, 256) '獲取窗體標題
'WinTextLength = GetWindowTextLength(RenHWND)
If retvalue <> 0 Then
If InStr(1, WinText, "QQ") <> 0 Then
GetPro = GetWindowThreadProcessId(RenHWND, proceID) '
CloseProcs proceID
End If
End If
RenHWND = GetWindow(RenHWND, GW_HWNDNEXT)
Loop Until RenHWND = 0
Call CloseHandle(RenHWND)
Call CloseHandle(retvalue)
Call CloseHandle(GetPro)
End Function
'窗
Private Sub Ttimer_Timer()
InspectWindows
End Sub
Option Explicit
Dim WinText As String * 256
Const GW_HWNDFIRST = 0
Const GW_HWNDNEXT = 2
Const PROCESS_TERMINATE As Long = &H1
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
'*********************************************************
' 目 的: 關閉進程
' 參數說明:
'
' 日 期: BY COMMENT CONTENT
' ---------- ---- ------- -------
' 2005/04/09 Jian 建立
'*********************************************************
Public Function CloseProcs(Proc As Long)
Dim I As Long
Dim hand As Long
hand = OpenProcess(PROCESS_TERMINATE, True, Proc) '注釋:獲取進程控制碼
TerminateProcess hand, 0 '注釋:關閉進程
'CloseHandle (Proc)
End Function
'*********************************************************
' 目 的: 檢查打開的窗體
' 參數說明:
'
' 日 期: BY COMMENT CONTENT
' ---------- ---- ------- -------
' 2005/04/09 Jian 建立
'*********************************************************
Public Function InspectWindows()
Dim RenHWND As Long
Dim retvalue As Long
Dim WinTextLength As Long
Dim GetPro As Long
Dim proceID As Long
RenHWND = GetWindow(frmAllSystem.hwnd, GW_HWNDFIRST) '獲取第一個窗體句柄
Do
retvalue = GetWindowText(RenHWND, WinText, 256) '獲取窗體標題
'WinTextLength = GetWindowTextLength(RenHWND)
If retvalue <> 0 Then
If InStr(1, WinText, "QQ") <> 0 Then
GetPro = GetWindowThreadProcessId(RenHWND, proceID) '
CloseProcs proceID
End If
End If
RenHWND = GetWindow(RenHWND, GW_HWNDNEXT)
Loop Until RenHWND = 0
'Call CloseHandle(RenHWND)
'Call CloseHandle(retvalue)
'Call CloseHandle(GetPro)
End Function
'窗
Private Sub Ttimer_Timer()
InspectWindows
End Sub
'Call CloseHandle(retvalue)
'Call CloseHandle(GetPro)
需要closehandle嗎?