Реализован глобальный хук и назначение функций на клавиши, нужно отменять действие "назад" и "вперед".
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
namespace GlobalM45
{
public partial class Form1 : Form
{
[DllImport("User32.dll")]
private static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);
[DllImport("user32.dll", SetLastError = true)]
private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
private static void SendCtrlhotKey(char key)
{
keybd_event(0x11, 0, 0, 0);
keybd_event((byte)key, 0, 0, 0);
keybd_event((byte)key, 0, 0x2, 0);
keybd_event(0x11, 0, 0x2, 0);
}
public Form1()
{
InitializeComponent();
MethodInvoker mi = new MethodInvoker(WaitKey);
mi.BeginInvoke(null, null);
}
private void WaitKey()
{
int res1 = 0;
int res2 = 0;
while (this.IsHandleCreated)
{
//XButton1 или XButton2 соответственно 4 и 5 кнопки
res1 = Convert.ToInt32(GetAsyncKeyState(Keys.XButton1).ToString());
res2 = Convert.ToInt32(GetAsyncKeyState(Keys.XButton2).ToString());
if (res1 != 0)
{
Thread.Sleep(200);
SendCtrlhotKey('V');
//MessageBox.Show("Верхняя" + res1);
}
if (res2 != 0)
{
Thread.Sleep(200);
SendCtrlhotKey('C');
//MessageBox.Show("Нижняя" + res2);
}
}
}
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
Application.Exit();
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вопрос следующийЕсть 2 таблицы: МАРШРУТ: Достопримечательность:
Не могу разобраться как изменять IP в запросах в чарльзеПопробую объяснить - есть софт на C# использую dotnetbrowser
Как с помощью javascripta сделать так, чтобы массив текста копировался только в 1 ячейку экселя?