代码如下
这段代码发键盘给 记事本都正常,无论换成 keybd_event还是SendInput,结果都一样,
问题是:发送按键消息过去的时候,目标程序能接收,但问题是,消息好像进入死循环一样,比如我的目的是按下1 就替换成按下A的消息发过去,但目标程序会不断的相应A的按键 好像我按下就没松开过一样.HWND m_hide=NULL;
m_hide=::FindWindow("TForm_show" ,"XXX");
HWND hChild=::FindWindowEx(m_hide,NULL,"TEdit","XXXX");
if( m_hide==NULL||hChild==NULL)
{
AfxMessageBox("can't find the window");
}
::PostMessage(hChild,WM_KEYDOWN,'E',MapVirtualKey('E',0));
::PostMessage(hChild,WM_KEYUP,'E',MapVirtualKey('E',0));写在一个普通的对话框程序的按钮相应上
无论写在hook还是非hook的程序 结果都一样
http://community.csdn.net/Expert/topic/4752/4752635.xml?temp=.7796747
这段代码发键盘给 记事本都正常,无论换成 keybd_event还是SendInput,结果都一样,
问题是:发送按键消息过去的时候,目标程序能接收,但问题是,消息好像进入死循环一样,比如我的目的是按下1 就替换成按下A的消息发过去,但目标程序会不断的相应A的按键 好像我按下就没松开过一样.HWND m_hide=NULL;
m_hide=::FindWindow("TForm_show" ,"XXX");
HWND hChild=::FindWindowEx(m_hide,NULL,"TEdit","XXXX");
if( m_hide==NULL||hChild==NULL)
{
AfxMessageBox("can't find the window");
}
::PostMessage(hChild,WM_KEYDOWN,'E',MapVirtualKey('E',0));
::PostMessage(hChild,WM_KEYUP,'E',MapVirtualKey('E',0));写在一个普通的对话框程序的按钮相应上
无论写在hook还是非hook的程序 结果都一样
http://community.csdn.net/Expert/topic/4752/4752635.xml?temp=.7796747
解决方案 »
- 怎样通过IE查看远程的DCS画面
- 如何让CDHtmlDialog不接受拖拽的文件
- 明基 joybook Lite U105可以玩冒险岛吗?
- 求助!!
- vc调试问题
- 求助:关于模式对话框的问题
- 不同类型的对象,其属性差异比较大但是需要一致对待,请教思路,详情入内,可另外开贴给分!
- 请问由Edit输入的两个字符串怎么按二进制位进行比较,谢谢
- 求教我怎么更新不了数据库的内容啊?
- BITMAP资源添加后为什么画面质量严重下降?从真彩下降为调色,文件是小了,但根本看不清楚。是不是可以设置啊?
- rand()函数是真随机么? 为何我试了一下(srand((unsigned)time( NULL ) )),结果值始终是 1000~3000范围内。
- 求助!!!!!!!!在线等!!!!!!!!!!!!
void CprocesskeyDlg::OnBnClickedButton1()
{ Sleep(5000);
HWND m_hide=NULL;
m_hide=::FindWindow("TForm_show" ,"XXX");
HWND hChild=::FindWindowEx(m_hide,NULL,"TEdit","XXXX"); if( m_hide==NULL||hChild==NULL)
{
AfxMessageBox("can't find the window");
}
// ::FindWindowEx(
while(1)
{
Sleep(2000);
::PostMessage(hChild,WM_KEYDOWN,'E',MapVirtualKey('E',0));
Sleep(1000);
::PostMessage(hChild,WM_KEYUP,'E',MapVirtualKey('E',0));
}
}
上下代码