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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2012, 22:43   #1
sergeant.coolagin
 
Регистрация: 04.05.2011
Сообщений: 5
По умолчанию Какие есть способы эмуляции мыши?

Сейчас эмулирую мышь в отдельном потоке вот так:
Код:
public MainWindow()
        {
            InitializeComponent();
            bind = new Bindings();
            Thread mouseT = new Thread(new ThreadStart(mouseThread));
            mouseT.Start();
        }


void mouseThread()
        {
            while (bind != null)
            {
                if (bind.shoulder_r_z - bind.hand_r_z > 0.35)
                {  
             WindowsAPI.mouse_event(0x0001, (int)bind.points_x.Average(), (int)bind.points_y.Average(), 0, 0);          
                }
                Thread.Sleep(50);
            }
        }
В windows мышь идет плавно, а в играх почему-то идет рывками. Это особенно заметно, когда (int)bind.points_x.Average() и (int)bind.points_y.Average() принимают большие значения.
И я хочу узнать, что же я неправильно делаю. Если на место (int)bind.points_x.Average() и на место (int)bind.points_y.Average() поставить просто число 20, то мышь все равно будет дергаться в играх и перемещаться плавно в Windows.
Может быть дело в mouse_event();? SetCursorPos(x,y); Мне тоже не поможет т.к. он не предназначен для игр... У меня в Mouse_event нет привязки значения переменной к позиции курсора на экране...

Есть что-то что может помочь мне? Есть какая-то другая функция? Или может с потоком что-то не так?
sergeant.coolagin вне форума Ответить с цитированием
Старый 14.04.2012, 10:38   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А приоритет потока какой?? может при загрузке игр потоку просто не хватает системного времени?? и он выполняется в самую последнюю очередь, к тому же плюс вашу задержку вот и получаются рывки.
А какая задача если не секрет??
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие есть книги по VBA для access 2007 A.F. Microsoft Office Access 2 17.01.2011 09:16
Какие есть методы для поиска даты в тексте ? kakawkin Общие вопросы Delphi 9 17.10.2010 19:28
Программер и Photoshop какие есть альтернативы? ZvEr_HaCkEr Моделирование, изометрия, photoshop, 3d редакторы 18 08.08.2010 09:59
Какие способы есть изменения адреса памети kakawkin Общие вопросы Delphi 6 10.06.2010 16:39
DirectX и Delphi - какие интересные проекты у вас есть? sergey07 Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 05.01.2008 12:44