这个程序要在程序中控制另一个对话框。现在想想另一个对话框发送一个消息,消息内容是假设按下了enter键,但是我不知道这个enter键的虚拟码&HD应该怎么加到这个sendmessage里面,WM_CLOSE可以,但是WM_CHAR需要一个按键的参数阿,请大家救命Private Sub Command2_Click()
Dim lpClassName As String
Dim lpCaption As String
Dim Handle As Long Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&
Const BM_CLICK = &HD&
lpClassName = "#32770"
lpCaption = "NetMeeting - 没有进行呼叫"
lpCaption = "关于 Windows NetMeeting"
lpClassName = "Button"
lpCaption = "浏览(&R)..."
Determine the handle to the Calculator window.
Handle = FindWindow(lpClassName$, lpCaption$)
Handle = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End Sub
Dim lpClassName As String
Dim lpCaption As String
Dim Handle As Long Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&
Const BM_CLICK = &HD&
lpClassName = "#32770"
lpCaption = "NetMeeting - 没有进行呼叫"
lpCaption = "关于 Windows NetMeeting"
lpClassName = "Button"
lpCaption = "浏览(&R)..."
Determine the handle to the Calculator window.
Handle = FindWindow(lpClassName$, lpCaption$)
Handle = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End Sub
解决方案 »
- 为何水晶报表9.0在动态改变SQL数据源后在预览的时候无法实时更新数据呢?
- 导出到excel时提示 缺少activex控件!
- 》》》》》输入法问题,请教高手。。。
- 怎样用API实现系统重启和关机??怎样用API屏蔽ctrl+alt+del三个键???
- 叫我写一份详细设计,我的分数全额奉送
- 请问简单问题:VB中将INT型转换成STRING和从STRING转换成INT型的函数分别是什么?
- 大家来帮帮忙,怎样获得一图片的大小
- VB + Winsock + CGI 实现 QQ (OICQ) 在线检测(支持代理服务器)!
- 救救我,用VB打包后安装的程序运行出错class not registered!有DBGRID控件
- 两个问题:程序打开与墙纸设置
- 此题错在什么地方?
- 為什麼我在給report.Database.SetDataSource時老是說"陣列索引超出范圍"呢??我是用水晶報表7,請各位幫忙看看。
再问一下,是WM_CHAR还是WM_KEYDOWN
Handle = SendMessage(Handle, WM_SYSCOMMAND, SC_CLOSE, NILL)
我还需要一个WM_SYSCOMMAND的位置呀,这个去掉了还能行吗?
Dim lpClassName As String
Dim lpCaption As String
Dim Handle As Long Const NILL = 0&
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060&
Const VK_RETURN = &HD&
Const WM_CHAR = &H102
lpClassName = "#32770"
lpCaption = "关于 Windows NetMeeting"
Handle = FindWindow(lpClassName$, lpCaption$) Handle = SendMessage(Handle, WM_CHAR, VK_RETURN, NILL)
End Sub以后不行阿,没有效果
急,请大家帮忙!
sendmessage hwnd, WM_CHAR, 10, 0关闭程序参考
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId 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 TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Const PROCESS_TERMINATE = &H1''用于结束外部进程,hCloseWnd 是要结束的程序的主窗口的 HWND
Public Function TernamiteProcessByHWND(ByVal hCloseWnd As Long) As Boolean
Dim hProcessID As Long
Dim hProcess As Long
On Error GoTo PROC_EXIT
If hCloseWnd = 0 Then GoTo PROC_EXIT
If GetWindowThreadProcessId(hCloseWnd, hProcessID) = 0 Then GoTo PROC_EXIT
hProcess = OpenProcess(PROCESS_TERMINATE, False, hProcessID)
If hProcess = 0 Then GoTo PROC_EXIT
If TerminateProcess(hProcess, 0&) = 0 Then GoTo PROC_EXIT
TernamiteProcessByHWND = True
PROC_EXIT:
If Err.Number <> 0 Then
Debug.Print Err.Description
Err.Clear
End If
End Function