Прокрутить колесо прокрутки на кнопки?

Я хочу, чтобы колесико мыши вверх и вниз отправляло клавиши + и - соответственно - непосредственно в ОС, как будто оно пришло с клавиатуры. Но только когда нажата клавиша Win.

То есть Windows 7 Magnifier использует Win + - и Win ++ для увеличения и уменьшения масштаба, и я хочу сделать это с помощью win-mousewheel, как это и должно было работать. Любое подобное решение подойдет, но предпочло бы использовать встроенное из-за его отличной поддержки нескольких мониторов.

Я знаю только VB.NET и C#, поэтому в вероятном сценарии решение будет на другом языке, пожалуйста, предоставьте достаточно, чтобы мне не нужно было изучать язык.

2 ответа

Решение

Пример решения ниже. Он корректно работает с лупой Win7, к сожалению, нуждается в Python 2.5.4, pywin32, pyHook и SendKeys. Но это может быть переписано в 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()

Также: старый вопрос с решением в C#

Другие вопросы по тегам