首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

SendMessage对指定靠山窗口发送键盘指令没反应

2011-12-23 
SendMessage对指定后台窗口发送键盘指令没反应首先我获取了后台窗口的句柄,然后使用SendMessage函数发送一

SendMessage对指定后台窗口发送键盘指令没反应
首先我获取了后台窗口的句柄,然后使用SendMessage函数发送一个按一下A的命令给后台的这个窗口,假设后台窗口的句柄是BackWindowHandle,我使用的SendMessage函数参数是这样 SendMessage (BackWindowHandle,WM_KEYDOWN,VK_A,0)和
SendMessage (BackWindowHandle,WM_KEYUP,VK_A,0),函数返回的值为非0,为什么后台窗口没有响应我的键盘指令,后面我有换了个记事本作为后台窗口,同样发送仍然没有反应,请各位大侠帮帮忙,在线等

[解决办法]

VB.NET code
 Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer        Dim hwnd As Integer        Const WM_KEYDOWN = &H100        hwnd = FindWindow("notepad", vbNullString)        If hwnd <> 0 Then            hwnd = FindWindowEx(hwnd, 0, "Edit", vbNullString)            PostMessage(hwnd, WM_KEYDOWN, Keys.C, 0)        End If'用的是PostMessage函数 

热点排行