c++ - 如何将击键发送到窗口?

标签 c++ windows

我正在使用 keybd_event();我想使用 SendMessage();将击键发送到记事本,可以这样做吗?

最佳答案

使用 SendMessage 将文本插入编辑缓冲区(这听起来像您想要的):

HWND notepad = FindWindow(_T("Notepad"), NULL);
HWND edit = FindWindowEx(notepad, NULL, _T("Edit"), NULL);
SendMessage(edit, WM_SETTEXT, NULL, (LPARAM)_T("hello"));

如果你需要键码和任意击键,你可以使用SendInput() (在 2k/xp 和首选中可用),或 keybd_event() `(最终会在较新的操作系统中调用 SendInput)这里有一些例子:

http://www.codeguru.com/forum/showthread.php?t=377393

还有您可能感兴趣的 SendMessage 的 WM_SYSCOMMAND/WM_KEYDOWN/WM_KEYUP/WM_CHAR 事件。

关于c++ - 如何将击键发送到窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36222028/

相关文章:

c++ - App::InitInstance() 中的无模式对话框

c# - CoInitialize() 是否总是在每个 .Net Framework/.Net Core 线程上隐式调用?

c++ - TColor Initialise with int 适用于 {} 但不适用于 ()

c++ - 如何使用 "time.h"库(仅)以毫秒为单位获取当前时间?

c++ - Qt中的数据库错误?

c++ - Windows 控制台颜色值是否有与之关联的官方名称(常量)?

c - 如何以编程方式确定 Windows 是否正在关闭?

linux - 使用 perl 从 linux 服务器启动批处理文件

windows - 符号链接(symbolic link)限制 - Windows

c++ - Linux 默认库