将滚轮映射到按钮?

时间:2009-07-08 22:15:57

标签: mapping keyboard-shortcuts sendkeys

我想让鼠标滚轮上下分别发送 + - 键 - 直接发送到操作系统,就像它来自键盘一样。但只有在按下 Win 键时才会显示。

这就是Windows 7放大镜使用 Win + - Win + + 来放大和缩小,我想通过win-mousewheel这样做, 的工作方式。任何类似的解决方案都可以,但由于其强大的多显示器支持,我宁愿使用内置的解决方案。

我只知道VB.NET和C#所以在可能的情况下,解决方案将使用另一种语言,请提供足够的信息,以便我不需要学习该语言。

2 个答案:

答案 0 :(得分:2)

以下示例解决方案。它适用于Win7放大镜,不幸地需要Python 2.5.4,pywin32pyHookSendKeys。但它只需要更多的努力就可以用C / C ++重写。

import pythoncom, pyHook, SendKeys
IS_WIN_DOWN = False
def OnMouseEvent(event): if IS_WIN_DOWN: if event.Wheel == 1: SendKeys.SendKeys('{+}') else: SendKeys.SendKeys('-') return True
def OnKeyboardEvent(event): global IS_WIN_DOWNN if event.KeyID is 91: #LWIN == 91 if event.Message == 256: #KEY_DOWN == 256 IS_WIN_DOWN= True elif event.Message == 257: #KEY_UP == 257 IS_WIN_DOWN= False return True
hm = pyHook.HookManager() hm.SubscribeMouseWheel(OnMouseEvent) hm.SubscribeKeyDown(OnKeyboardEvent) hm.SubscribeKeyUp(OnKeyboardEvent) hm.HookMouse() hm.HookKeyboard() pythoncom.PumpMessages()

另外:old question with a solution in C#

答案 1 :(得分:1)