Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2019, 08:41   #1
itx
Новичок
Джуниор
 
Регистрация: 04.03.2019
Сообщений: 1
Радость Mouse перехват действий и замена

Привет всем, учу С#, задача у меня стоит(для себя, я сам учу, не посылайте далеко) поставить перехват действий мыши и установить свои значения, копаюсь с этим делом уже долго, перечитал весь док по мышам майкрософт(там примеров взаимодействия мало для меня), на гитхабе искал смотрел исходники, не могу понять как это реализовать? Глобальный хук я поставил всё нормально все данные есть но не меняются(ну как не меняются, они где-то работают как установлено мной, а где-то идет задвоение, то есть происходит действие в активном окне, потом моё недо приложение), читал смотрел как нужно делать в итоге запутался, дайте ссылку толковую, или может есть у кого исходники с пояснением, я буду рад любой хорошей информации. Спасибо всем))

вот копался в этом коде понимаю что утопия((

Код:
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
 
namespace Txx
{
    public partial class Form1 : Form
    {
        bool localHook = false;
        [DllImport("User32.dll")]
        private static extern short GetAsyncKeyState(Keys vKey);
        public Form1()
        {
         InitializeComponent();
        }
        private void WaitKey()
        {
         while (IsHandleCreated)
                {
                if (localHook)
                {
                    int res1 = Convert.ToInt32(GetAsyncKeyState(Keys.XButton1).ToString());
                    int res2 = Convert.ToInt32(GetAsyncKeyState(Keys.XButton2).ToString());
                    if (res1 == -32767)
                    {
                        string T1 = textBox1.Text;
                        Process myProcess = Process.Start(T1);
                    }
                    if (res2 != 0)
                    {
                        string T2 = textBox2.Text;
                        Process myProcess = Process.Start(T2);
                    }
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MethodInvoker mi = new MethodInvoker(WaitKey);
            mi.BeginInvoke(null, null);
            localHook = true;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            localHook = false;
        }
    }
}
Буду рад советам))
itx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотр действий программы / перехват задания печати krabich Помощь студентам 2 15.12.2015 10:56
Класс Mouse MIKE11IPME Общие вопросы .NET 6 28.10.2013 20:41
Фоновый перехват действий мышки atenx Общие вопросы C/C++ 4 27.03.2012 15:24
Перехват данных или эмуляция действий пользователя? Zuban Win Api 13 15.01.2011 22:22
devil mouse Drive Общие вопросы C/C++ 2 01.12.2008 23:25