我写了个向记事本程序发送消息的程序,遇到些问题。窗口是找到了,但按键消息发送没成功。那位指点一下,不胜感激。
我打开记事本,标题显示是“无标题 — 记事本”。
然后写一个对话框程序,有2个按钮。
1号按钮是查找标题为“无标题 — 记事本”的窗口是否存在,并保存窗口句柄到全局变量hWnd中。
代码如下:
void CHandleDlg::OnBtnHandle()
{
// TODO: Add your control notification handler code here
hWnd=::FindWindow(NULL,"无标题 - 记事本");
if(hWnd)
{
MessageBox("找到窗口句柄!");
}
else
MessageBox("没有找到相关窗口句柄!");
}
2号按钮是向hWnd句柄变量中保存的窗口发送按键消息。
代码如下:
void CHandleDlg::OnBtnSend()
{
// TODO: Add your control notification handler code here
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
::SendMessage(hWnd,WM_CHAR,0x00000041,0x00000000);
}
窗口找到了,按下发送消息按钮后记事本成为激活窗口,光标在窗口闪动但没见字符显示出来。0x00000041是 字符 A
我打开记事本,标题显示是“无标题 — 记事本”。
然后写一个对话框程序,有2个按钮。
1号按钮是查找标题为“无标题 — 记事本”的窗口是否存在,并保存窗口句柄到全局变量hWnd中。
代码如下:
void CHandleDlg::OnBtnHandle()
{
// TODO: Add your control notification handler code here
hWnd=::FindWindow(NULL,"无标题 - 记事本");
if(hWnd)
{
MessageBox("找到窗口句柄!");
}
else
MessageBox("没有找到相关窗口句柄!");
}
2号按钮是向hWnd句柄变量中保存的窗口发送按键消息。
代码如下:
void CHandleDlg::OnBtnSend()
{
// TODO: Add your control notification handler code here
::ShowWindow(hWnd, SW_SHOWNORMAL);
::SetForegroundWindow(hWnd);
::SendMessage(hWnd,WM_CHAR,0x00000041,0x00000000);
}
窗口找到了,按下发送消息按钮后记事本成为激活窗口,光标在窗口闪动但没见字符显示出来。0x00000041是 字符 A
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货