Прокрутить колесо прокрутки на кнопки?
Я хочу, чтобы колесико мыши вверх и вниз отправляло клавиши + и - соответственно - непосредственно в ОС, как будто оно пришло с клавиатуры. Но только когда нажата клавиша 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()