Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10
Private Sub Command1_Click()
On Error Resume Next
Shell "winmine.exe", 1
End Sub
Private Sub Command2_Click()
Dim lpClassName As String, lpCaption As String
Dim Handle As Long
Dim RetVal As Long
使用api中的findwindow()函数啊,第一参数为null,第二个为窗口的标题,得到它的句柄后就用sendmessage()给它发一个关闭的消息。查句柄例程如下:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Declare Function ShowMe Lib "user32" Alias "BringWindowToTop" (ByVal hwnd As Long) As Long
Dim THandle As Long
Private Sub Command1_Click()
THandle = FindWindow(vbEmpty, "文档 - 写字板")
MsgBox THandle
ShowMe THandle
End Sub
Private Sub Form_Load()
Shell "c:\windows\write.exe", 1
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub Command1_Click()
On Error Resume Next
aa = Shell("C:\WINDOWS\winmime.EXE", 1)
End Sub
Private Sub Command2_Click()
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060
lpClassName$ = "扫雷"
lpCaption$ = "扫雷"
Handle = FindWindow(lpClassName$, lpCaption$)
X& = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub Command1_Click()
On Error Resume Next
aa = Shell("C:\WINDOWS\CALC.EXE", 1)
End Sub
Private Sub Command2_Click()
Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060
lpClassName$ = "SciCalc"
lpCaption$ = "计算器"
Handle = FindWindow(lpClassName$, lpCaption$)
X& = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
End Sub