Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обработка мыши за пределами экрана [Builder C++]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
sweb
Отправлено: 12 Апреля, 2013 - 23:11:35
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Как можно получить координаты мыши если она выходит за пределы экрана?
(Builder 6 C++)
 
 Top
caballero
Отправлено: 12 Апреля, 2013 - 23:15:23
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




это как? на обоях рядом отображается? или на столе?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sweb
Отправлено: 12 Апреля, 2013 - 23:20:37
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




caballero пишет:
это как? на обоях рядом отображается? или на столе?
На стенке Голливудская улыбка
Ну а если серьезно, то нужно её переместить на другой компьютер,подключеный через LAN. Вообщем хочу что бы у меня 1 мышь работала на 2х компах. А вот как обработать переход на другой скрин я не знаю Недовольство, огорчение
 
 Top
caballero
Отправлено: 12 Апреля, 2013 - 23:40:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




и каким чудом в собираетесь перемещать мышь на другой комп по сетке?
теоретически конечно можно с написать два процесса которые будут перебрасыватся положением мыши через TCP но это какой то редкостный изврат.

насколько я знаю операционка может обеспечить вывод экрана на несколько мониторов подключенных к одному компу. Но мышь там сама должнв перепрыгивать.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sweb
Отправлено: 12 Апреля, 2013 - 23:55:52
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




caballero пишет:
и каким чудом в собираетесь перемещать мышь на другой комп по сетке?
теоретически конечно можно с написать два процесса которые будут перебрасыватся положением мыши через TCP но это какой то редкостный изврат.

насколько я знаю операционка может обеспечить вывод экрана на несколько мониторов подключенных к одному компу. Но мышь там сама должнв перепрыгивать.

Ну на счет извращения возможно, но все равно интересно. Впринципе, сам процесс не так сложен. Просто на комп с подключенной мышью ставится сервер, на другой комп - клиент. Клиент будет эмулировать работу мыши только тогда, когда сервер даст сигнал о том что курсор достиг конца 1го скрина, и тут же сервер блочит свой курсор и отдает управление клиенту. В теории можно даже реализовать межПиСишный драгЭндДроп.

Только надо сначало придумать как получить координаты курсора после того как он ушел за пределы скрина... Есть какие нибудь идеи?Улыбка
 
 Top
caballero
Отправлено: 13 Апреля, 2013 - 00:09:40
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а зачем координаты если он вышел? вы хотите чтобы на клиенте он вылез в таком же месте?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sweb
Отправлено: 13 Апреля, 2013 - 00:23:56
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




caballero пишет:
а зачем координаты если он вышел? вы хотите чтобы на клиенте он вылез в таком же месте?

А на что будет опираться сервер, выдавая клиенту данные по движению курсора, если у него данные статичны в максимальной точке?
Т.е, если например имеем 2 монитора 1440х900 (сервер) и 1440х900 (клиент) расположенных в ряд, двигаем мышь в право до предела, у нас курсор останавливается на 1440,*
но мышь то движется дальше!!! И она передает куда то нужные нам данные, на которые мы будем опираться при эмуляции курсора клиента. А вот где, и как достать эти данные, я не представляю.
 
 Top
caballero
Отправлено: 13 Апреля, 2013 - 00:36:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




если они в ряд то не очень понятно почему они не на одном системнике, впросем дело хозяйское

опять же теоретически - можно обратится к API и поцепиться на события мыши. То есть отслеживать движения не курсора а мыши и самостоятельно пересчитывать где по идее должен быть курсор.
это так - навскидку


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sweb
Отправлено: 13 Апреля, 2013 - 00:54:13
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




caballero пишет:
если они в ряд то не очень понятно почему они не на одном системнике, впросем дело хозяйское

опять же теоретически - можно обратится к API и поцепиться на события мыши. То есть отслеживать движения не курсора а мыши и самостоятельно пересчитывать где по идее должен быть курсор.
это так - навскидку

Не в одном системнике - потому что один из ПК - ноутбук.
Думаю сам механизм пересчета движения мыши можно запускать только после того как курсор ушел за пределы 1го моника, тогда нет необходимости эмулировать еще и курсор сервера.
Ну и скорей всего да, без API не получится.
 
 Top
DeepVarvar Супермодератор
Отправлено: 13 Апреля, 2013 - 02:24:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




sweb пишет:
Думаю сам механизм пересчета движения мыши можно запускать только после того как курсор ушел за пределы 1го моника
Как? В видеоустройстве (драйвере) сетка ограничена "величиной" самого монитора.
Курсор тупо не выйдет за "пределы".
Откуда первому компу знать скока еще у других компов мониторов прицеплено и в каких координатах они в комнате стоят?
 
 Top
sweb
Отправлено: 13 Апреля, 2013 - 02:41:02
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




DeepVarvar пишет:
Как? В видеоустройстве (драйвере) сетка ограничена "величиной" самого монитора.
Курсор тупо не вйдет за "пределы".

Да мне и не надо что бы он выходил, надо что бы сервер в конечной точке скрина, отдал управление мышью клиенту.
DeepVarvar пишет:

Откуда первому компу знать скока еще у других компов мониторов прицеплено и в каких координатах они в комнате стоят?

Это пока не столь важно, но это легко решается оправкой этой информации на сервер.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на C++ »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB