Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.02.2015, 01:23
Аватар для -sanya-
-sanya- -sanya- вне форума
Новичок
 
Регистрация: 14.04.2009
Сообщения: 64
Репутация: 20
Печаль Помогите отключить мышь в windows 8

Убил весь день и уже ночь и умотался уже, не знаю вроде бы элементарного.
Сделал программку, форма которой всегда поверх всех окон, она прозрачная и состоит из множества регионов, поддерживается мультитач.
Суть программы имитировать виртуальный джойстик на windows 8 планшете рисуясь полупрозрачно поверх игры, все отлично работает даже если поставить на таймер управление мышкой то она ей в игре прекрасно управляет, но как бы знаем, тачскрин имитирует мышку, а раз я получаю нажатия на форму напрямую с тачскрина то мышка мне ненужна, более того она только все портит, потому что как только я жму на виртуальную кнопку то становиться активной окно формы из за мышки. Подойдет вариант с отключением устройства по vid/pid но как отключить устройство я тоже не понимаю. Гугл не помог, и все что было в гугле типа ActiveBlock и rundll32 mouse,disable и прочее не срабатывает. Помогите пожалуйста кто чем может, нужно отключить устройство мышь программно. Использую RadStudio Delphi XE7 обычный виндовый VCL проект.
Сейчас проверил, отключение hid устройство не поможет, тогда и сам тач отключается и нажатие не передает. Есть для windows 8 программка, называется mousetouchpointer она имитирует тачпад как в ноутбуке, так вот она каким то образом умеет отключать мышь и ловить только нажатия с тача, вот как она так делает?
__________________

Последний раз редактировалось -sanya-, 22.02.2015 в 01:40.
Ответить с цитированием
  #2  
Старый 22.02.2015, 22:12
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Начнём с того, что в восьмёрке всё наоборот, это мышь имитирует тачскрин, она пока осталась в ней для обычных компов и ноутов. Действует принцип "один экран - один курсор", поэтому можно сделать вывод, что здесь необходимо только спрятать изображение указателя и само устройство типа мышь можно и не трогать. Вероятно требуется подобное
Код:
var
 CState: Integer;
...

 // Убрать изображение курсора
 CState:= ShowCursor(True);
 while Cstate >= 0 do
 Cstate:= ShowCursor(False);

...

 // Показать курсор
 Cstate:= ShowCursor(True);
 while CState < 0 do
 CState:= ShowCursor(True);

...
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter