windows – 无法使用SendMessage将密钥发送到窗口
发布时间:2021-02-20 02:28 所属栏目:52 来源:网络整理
导读:我正在 Windows下编写一个C程序,它应该将一个ENTER键发送到一个对话框以自动关闭它. 我检索我感兴趣的顶级窗口的句柄(通过EnumDesktopWindows()),然后尝试使用SendMessage发送一个ENTER键(另请注意,通过发送WM_CLOSE关闭窗口工作正常). 以下都不起作用: Sen
我正在 Windows下编写一个C程序,它应该将一个ENTER键发送到一个对话框以自动关闭它. 我检索我感兴趣的顶级窗口的句柄(通过EnumDesktopWindows()),然后尝试使用SendMessage发送一个ENTER键(另请注意,通过发送WM_CLOSE关闭窗口工作正常). 以下都不起作用: SendMessage( hTargetWindow,WM_CHAR,VK_RETURN,0 ); SendMessage( hTargetWindow,1 ); SendMessage( hTargetWindow,WM_KEYDOWN,1 ); SendMessage( hTargetWindow,WM_KEYUP,1 ); 等等… 作为一个可能更简单的场景,我还尝试将ascii密钥发送到记事本. 这应该怎么样? 提前致谢 解决方法Nick D建议的方式都没有!令人惊讶的是,以下工作: PostMessage(hTargetWindow,0); 也就是说,我正在调用PostMessage而不是SendMessage.我不是Windows专家,所以我不完全理解这两个函数之间的区别. 无论如何,这正是我所需要的:向对话框发送一个ENTER键(顺便说一句,我正在模拟Win XP Embedded下注册表项enableDefaultReply的行为). 谢谢你建议PostMessage! (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读