我写了个向记事本程序发送消息的程序,遇到些问题。窗口是找到了,但按键消息发送没成功。那位指点一下,不胜感激。
我打开记事本,标题显示是“无标题 — 记事本”。
然后写一个对话框程序,有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