Я пытаюсь разработать свой собственный менеджер управления кнопками мыши. До сих пор мне удалось настроить хук низкого уровня, который регистрирует все, что я делаю, с помощью мыши и клавиатуры. Следующий шаг - привязать настраиваемое действие к некоторым кнопкам мыши. В настоящее время я установил громкость вверх и вниз на мои кнопки X_.
private int MouseHookProc(int nCode, IntPtr wParam, IntPtr lParam)
{
MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
MouseUsageMessage message = new MouseUsageMessage(1);
MouseUsageManager.mouseUsageMessageQueue.Add(message);
if (nCode >= 0)
{
if (MouseMessages.WM_LBUTTONDOWN == (MouseMessages) wParam)
{
leftButtonDown = true;
//Console.WriteLine("Left button click");
} else if (MouseMessages.WM_LBUTTONUP == (MouseMessages)wParam)
{
leftButtonDown = false;
} else if (MouseMessages.WM_RBUTTONDOWN == (MouseMessages) wParam)
{
//Console.WriteLine("Right button click");
} else if (MouseMessages.WM_XBUTTONDOWN == (MouseMessages) wParam)
{
VolumeControl vc = new VolumeControl();
Keybindings kb = new Keybindings();
switch (MyMouseHookStruct.hwnd)
{
case 65536:
vc.VolUp();
break;
case 131072:
vc.VolDown();
break;
}
}
}
return CallNextHookEx(hMHook, nCode, wParam, lParam);
}
Однако, когда я использую кнопки XBUTTONs в своем браузере, я все равно возвращаюсь на страницу назад или дальше, в зависимости от того, какая у меня страница. Я пытался отрегулировать обратную линию безуспешно. Как я могу подавить или отключить действие кнопки по умолчанию, чтобы моё собственное действие происходило без выполнения действия по умолчанию?