超级版主
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
|
回复: 如何用用程序模拟键盘来控制 Media Player 7?
希望能对你有所帮助,转贴:
模拟键盘和鼠标输入
如果它不支持你需要的消息和方法,最简单的解决之道是键盘和鼠标输入模拟。例如,你可以使用Tab模拟转移到期望的控件。
使你做到这一点的函数是SendInput,它是一个一般的USER API。SendInput需要三个参数:要执行的键盘和鼠标动作的个数,INPUT结构数组,INPUT结构数组的大小。每个INPUT元素详细描述了一个要执行的动作。注意,按下一个按钮接着释放它是两个不同的动作,因此要建立两个INPUT元素。在例程中,SendInput函数用于模拟关闭Find: All Files 对话框的Alt-F4键盘序列:
INPUT input[4];
memset(input, 0, sizeof(input));
input[0].type = input[1].type = input[2].type =
input[3].type = INPUT_KEYBOARD;
input[0].ki.wVk = input[2].ki.wVk = VK_MENU;
input[1].ki.wVk = input[3].ki.wVk = VK_F4;
//接下来释放它,这一点很重要。
input[2].ki.dwFlags = input[3].ki.dwFlags = KEYEVENTF_KEYUP;
input[0].ki.time = input[1].ki.time =
input[2].ki.time = input[3].ki.time = GetTickCount();
SendInput(4, input, sizeof(INPUT));
在这个代码片断中,input[ ].type = INPUT_KEYBOARD表明要模拟键盘输入,input[ ].ki.dwFlags和input[ ].ki.wVk表明要执行的动作以及此动作的受键。特别要注意下面的语句:
input[2].ki.dwFlags = input[3].ki.dwFlags = KEYEVENTF_KEYUP;
没有这条语句,按下的键永远不会自动释放。
__________________
借用达朗贝尔的名言:前进吧,你会得到信心!
[url="http://www.dimcax.com"]几何尺寸与公差标准[/url]
|