c++ - 发送键盘命令

标签 c++ winapi

我如何发送键盘命令,以便他们按“Y”,然后按回车键。谢谢

最佳答案

这是一篇关于此事的 CodeProject 文章:http://www.codeproject.com/KB/cpp/sendkeys_cpp_Article.aspx

还有一篇描述如何操作的 msdn 文章: http://msdn.microsoft.com/en-us/library/ms171548.aspx

另一篇 CodeProject 文章描述了如何使用 keybd_event(): http://www.codeproject.com/KB/system/keyboard.aspx

不确定这是如何工作的(我不是 C++ 开发人员),但它应该将字母“a”发送到记事本(您需要打开一个名为“test.txt”的文件):来自专家的交换(我添加了更正,但我没有尝试运行它):http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_21119534.html

#define _WIN32_WINNT 0x0501
#include <windows.h>
#include <iostream>

using namespace std;

void main()
{
char end;
HWND windowHandle = FindWindow(0, "test.txt - Notepad");
INPUT *key;
if(windowHandle == NULL)
 cout << "not found";
SetForegroundWindow(windowHandle);
Sleep(1000);

key = new INPUT;
key->type = INPUT_KEYBOARD;
key->ki.wVk = 41;
key->ki.dwFlags = 0;
key->ki.time = 0;
key->ki.wScan = 0;
key->ki.dwExtraInfo = 0;

SendInput(1,key,sizeof(INPUT));

key->ki.dwExtraInfo = KEYEVENTF_KEYUP;

SendInput(1,key,sizeof(INPUT));
cout << "key inputted";
cin >> end;
}

关于c++ - 发送键盘命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410972/

相关文章:

c++ - 如何定义泛型类型的静态变量

C++:如何传递通用函数名?

c++ - VC++ win32 API编程 : how can I get the image out of the clipboard and display it in a windows?

c - 串口ReadFile读取0字节返回true

c++ - 使用命名空间中的模板调用模板模板方法时出现 False clang 错误

c++ - 使用 __int64 参数调用 GetSystemTimeAsFileTime

c++ - 如何在 C++ 中创建一个随机数数组

c# - 使用任务管理器终止程序时收到的消息

c# - 从 C# 中的 Windows.h 定义?

c - gethostbyname win32错误