我想知道是否有可能在Windows中使用记事本和命令提示创建一个程序,就像我的手指在键盘上一样。我认为解释我的意思的最好方法是举个例子。
for(i = 0; i < N; i++)
{
"press key x"
"wait 3 seconds"
}
所以基本上我想要一个程序,好像我每隔三秒就按一次x按钮,共计N次。如果答案是肯定的,那么您是否有可能推荐一个网站,pdf或类似的地方,我可以从中学习如何编写这样的程序。
我希望我已经明确表示,如果我的问题中有任何问题需要改进,请告诉我。
答案 0 :(得分:0)
答案 1 :(得分:0)
对于Windows,您可以查看keybd_event
和SendInput
API以获取键盘输入,并Sleep
进行等待。
例如,使用keybd_event
for(i = 0; i < N; i++)
{
keybd_event((BYTE)VkKeyScan(L'x'), MapVirtualKey(VkKeyScan(L'x'), MAPVK_VK_TO_VSC), 0, 0);
keybd_event((BYTE)VkKeyScan(L'x'), MapVirtualKey(VkKeyScan(L'x'), MAPVK_VK_TO_VSC), KEYEVENTF_KEYUP, 0);
Sleep(3000);
}
使用SendInput
:
INPUT inputs[1];
inputs[0].type = INPUT_KEYBOARD;
inputs[0].ki.wVk = VkKeyScan(L'x');
inputs[0].ki.wScan = MapVirtualKey(VkKeyScan(L'x'), MAPVK_VK_TO_VSC);
inputs[0].ki.time = 0;
inputs[0].ki.dwExtraInfo = 0;
for(i = 0; i < N; i++)
{
inputs[0].ki.dwFlags = 0;
SendInput(1, inputs, sizeof(INPUT));
input.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, inputs, sizeof(INPUT));
Sleep(3000);
}