【问题标题】:How can on emulate a keyboard or mouse click?如何模拟键盘或鼠标点击?
【发布时间】:2013-10-22 14:25:03
【问题描述】:
我目前使用的是 Windows 8 笔记本电脑,除了鼠标(碰巧坏了)之外,我无法使用鼠标中键单击。所以我认为必须有一种方法可以让程序在后台运行,每当我按下我选择的键时,我都可以让它像任何其他键一样工作(在这种情况下是中键)。
虽然我不知道有人怎么能做到这一点,但我最后还是问了你们。
如果这很重要,我会用 c++ 编写程序,所以如果你知道如何在那里做会更好,但我相信从另一种语言改变不会那么难。
感谢您的宝贵时间!!
【问题讨论】:
标签:
c++
wpf
visual-studio-2010
keyboard
mouse
【解决方案1】:
无需编写自己的工具。
例如AutoHotkey 允许您在这种情况下使用重映射功能。
如果您愿意,您可以自己编写一个简单的 AutoIt 脚本,其中包含硬编码的热键。使用HotKeySet 函数注册热键,使用MouseClick 函数模拟在光标当前位置单击鼠标。
Win32 API 中对应的方法是RegisterHotKey 和SendInput。
在 Windows 中,此任务没有独立于驱动程序的默认热键,尽管 Synaptic 触摸板可能允许在您同时按下左键和右键时模拟鼠标中键。
【解决方案2】:
是的,AHK 会起作用。只是关于答案的更多细节。
1) 在http://www.autohotkey.com 下载 AHK
2) 要创建 AHK 脚本,只需在保存时创建一个文件扩展名为“.ahk”的新文本文件。
3) 右键单击您的新 AHK 文件并选择“编辑脚本”选项。
4) 输入以下内容:
z:: ;when you press 'z' the middle mouse button is pressed down
MouseClick, m,,,,, D
KeyWait, z
MouseClick, m,,,,, U
return
5) 再次保存文件。
6) 要启动脚本,只需双击它。
7) 每当您在键盘上按“z”时,都会模拟鼠标中键。
你可以把z换成其他字母
祝你好运。