Option Explicit
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject 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 Const INFINITE = -1&
Private Const SYNCHRONIZE = &H100000Private Sub Command1_Click()
Dim i As Long
Dim r As Long
Dim p As Long
i = Shell("notepad.exe", vbNormalFocus)
p = OpenProcess(SYNCHRONIZE, False, i)
r = WaitForSingleObject(p, INFINITE)
r = CloseHandle(p)
MsgBox "记事本已经关闭"
End Sub
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject 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 Const INFINITE = -1&
Private Const SYNCHRONIZE = &H100000Private Sub Command1_Click()
Dim i As Long
Dim r As Long
Dim p As Long
i = Shell("notepad.exe", vbNormalFocus)
p = OpenProcess(SYNCHRONIZE, False, i)
r = WaitForSingleObject(p, INFINITE)
r = CloseHandle(p)
MsgBox "记事本已经关闭"
End Sub
解决方案 »
- 在VBScript里面如何进行格式化输出??
- 求助!关于局域网通讯的问题
- 急等:自定义NumericTextBox控件遇到的郁闷问题
- 如何向一个表里添加一个字段???
- 怎样给treeview加背景或背景图?
- 怎样VB进行报表编程?
- 请问VB可以开发COM+组件吗?
- 我想在一个form load的时候传递一些参数,然后根据参数改变form的一些设置,能这样做吗?
- 如何使用ADO显示数据库中已存在“查询”的SQL代码
- 有关vb与SQL Server数据库联结的问题.急!!
- 高分求教或讨论:如何让一个收费程序无法被客户结束(98系统),可能涉及到windows的启动细节,Vxd技术,等等。
- 散分,有本事别进来
你可以使用API函数FindWindow和PostMessage去寻找指定的窗口,并关闭它。下面的例子教给你怎样找到并关掉一个Caption为“Caluclator”的程序。 Dim winHwnd As LongDim RetVal As LongwinHwnd = FindWindow(vbNullString, "Calculator")Debug.Print winHwndIf winHwnd <> 0 ThenRetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)If RetVal = 0 ThenMsgBox "置入消息错误!"End IfElseMsgBox "Calculator没有打开!"End If 为了让以上的代码工作,你必须在模块文件中什么以下API函数: Declare Function FindWindow Lib "user32" Alias _"FindWindowA" (ByVal lpClassName As String, _ByVal lpWindowName As String) As Long Declare Function PostMessage Lib "user32" Alias _"PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ByVal wParam As Long, lParam As Any) As Long Public Const WM_CLOSE = &H10
我想直接关掉。