TITLE: 新手的钩子初体验:有点困惑!!!! WM_DESTROY 确实是返回两个,但是有区别的:前一个是发送WM_DESTROY,后一个是返回 WM_DESTROY那个WM_CHAR 是有点怪。可能和那个return值有关 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TO hdj0569(猫): 发送和返回的区别能具体说一下吗,在那个结构中如何区分,也就是如何分别处理呢!谢谢! 对于WM_CHAR,系统的默认处理便是一种优先级较低的排列,按键过快引起顺序问题很正常 那 发现在一个窗口的CEDIT控件中输入时,会收到2次AfxMessageBox(str);,而且内容是一样的。 麻烦再看一下 收到2次AfxMessageBox(str)?把你的code说详细些呢 我不太清楚你所说的测试时输入情况,是输入的字符还是字符串,我估计有可能是你钩取WM_CHAR时有回车,所以导致了受到2次AfxMessageBox(str). linghushaonian:上面有源代码,麻烦你给看看 ,我输出的是系统传回的信息。 你是否是在输入回车后收到2次AfxMessageBox(str)? char ch; if ( (DWORD)lparam & 0x40000000 ) { if( (wparam == VK_SPACE) || (wparam == VK_RETURN) || (wparam >= 0x2f ) && (wparam <= 0x100) ) { BYTE ks[256]; GetKeyboardState(ks); WORD w; UINT scan; scan=0; ToAscii( wparam, scan, ks, &w, 0 ); ch = char(w); m_strKeyboard += ch; m_wndEdit->SetWindowText(m_strKeyboard); } }接收的时候要做点处理`~~钩子中:PostMessage(g_hDlg, WM_SHOWKEYBOARD, wparam, lparam); 用vc做网络收包的程序,怎么把收到的值传递出来。。。 文本框 急!dispinterface类型的接口不能使用queryinterface()查询? 关于SOCKET类与对话框类之间传递类指针问题 关于数据库及日期的算法 如何获得数据库所在的主机名?或者是本地电脑名? 怎么重画树型控件前面的+号-号 请介绍下学习的经验 系统编程问题?高手请帮忙 注册表函数RegSetValueEx的参数问题??? 哪儿有vc4.2下载?我down好安装完就给分。 得到一个Dialog大小的函数是什么来着?
发送和返回的区别能具体说一下吗,在那个结构中如何区分,也就是如何分别处理呢!
谢谢!
发现在一个窗口的CEDIT控件中输入时,会收到2次AfxMessageBox(str);,而且内容是一样的。
麻烦再看一下
上面有源代码,麻烦你给看看 ,我输出的是系统传回的信息。
if ( (DWORD)lparam & 0x40000000 )
{
if( (wparam == VK_SPACE) || (wparam == VK_RETURN) ||
(wparam >= 0x2f ) && (wparam <= 0x100) )
{
BYTE ks[256];
GetKeyboardState(ks);
WORD w;
UINT scan;
scan=0;
ToAscii( wparam, scan, ks, &w, 0 );
ch = char(w);
m_strKeyboard += ch;
m_wndEdit->SetWindowText(m_strKeyboard);
}
}
接收的时候要做点处理`~~
钩子中:PostMessage(g_hDlg, WM_SHOWKEYBOARD, wparam, lparam);