Нужно при нажатии на боковые кнопки мыши производились функции копи паст, вместо “назад” и “вперед” соответственно. Глобально!

223
15 января 2018, 06:26

Реализован глобальный хук и назначение функций на клавиши, нужно отменять действие "назад" и "вперед".

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();
        }
    }
}
READ ALSO
MS SQL SERVER связь многие ко многим

MS SQL SERVER связь многие ко многим

Вопрос следующийЕсть 2 таблицы: МАРШРУТ: Достопримечательность:

220
Привет мир на C#

Привет мир на C#

ЗдравствуйтеМне необходимо объединить в функции текст и переменную

190
Помогите разобраться с Charles

Помогите разобраться с Charles

Не могу разобраться как изменять IP в запросах в чарльзеПопробую объяснить - есть софт на C# использую dotnetbrowser

222
Копирование в Excel

Копирование в Excel

Как с помощью javascripta сделать так, чтобы массив текста копировался только в 1 ячейку экселя?

302