Форумы портала PHP.SU » » Программирование на C++ » Обработка мыши за пределами экрана [Builder C++]

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

1. sweb - 12 Апреля, 2013 - 23:11:35 - перейти к сообщению
Как можно получить координаты мыши если она выходит за пределы экрана?
(Builder 6 C++)
2. caballero - 12 Апреля, 2013 - 23:15:23 - перейти к сообщению
это как? на обоях рядом отображается? или на столе?
3. sweb - 12 Апреля, 2013 - 23:20:37 - перейти к сообщению
caballero пишет:
это как? на обоях рядом отображается? или на столе?
На стенке Голливудская улыбка
Ну а если серьезно, то нужно её переместить на другой компьютер,подключеный через LAN. Вообщем хочу что бы у меня 1 мышь работала на 2х компах. А вот как обработать переход на другой скрин я не знаю Недовольство, огорчение
4. caballero - 12 Апреля, 2013 - 23:40:25 - перейти к сообщению
и каким чудом в собираетесь перемещать мышь на другой комп по сетке?
теоретически конечно можно с написать два процесса которые будут перебрасыватся положением мыши через TCP но это какой то редкостный изврат.

насколько я знаю операционка может обеспечить вывод экрана на несколько мониторов подключенных к одному компу. Но мышь там сама должнв перепрыгивать.
5. sweb - 12 Апреля, 2013 - 23:55:52 - перейти к сообщению
caballero пишет:
и каким чудом в собираетесь перемещать мышь на другой комп по сетке?
теоретически конечно можно с написать два процесса которые будут перебрасыватся положением мыши через TCP но это какой то редкостный изврат.

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

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

Только надо сначало придумать как получить координаты курсора после того как он ушел за пределы скрина... Есть какие нибудь идеи?Улыбка
6. caballero - 13 Апреля, 2013 - 00:09:40 - перейти к сообщению
а зачем координаты если он вышел? вы хотите чтобы на клиенте он вылез в таком же месте?
7. sweb - 13 Апреля, 2013 - 00:23:56 - перейти к сообщению
caballero пишет:
а зачем координаты если он вышел? вы хотите чтобы на клиенте он вылез в таком же месте?

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

опять же теоретически - можно обратится к API и поцепиться на события мыши. То есть отслеживать движения не курсора а мыши и самостоятельно пересчитывать где по идее должен быть курсор.
это так - навскидку
9. sweb - 13 Апреля, 2013 - 00:54:13 - перейти к сообщению
caballero пишет:
если они в ряд то не очень понятно почему они не на одном системнике, впросем дело хозяйское

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

Не в одном системнике - потому что один из ПК - ноутбук.
Думаю сам механизм пересчета движения мыши можно запускать только после того как курсор ушел за пределы 1го моника, тогда нет необходимости эмулировать еще и курсор сервера.
Ну и скорей всего да, без API не получится.
10. DeepVarvar - 13 Апреля, 2013 - 02:24:00 - перейти к сообщению
sweb пишет:
Думаю сам механизм пересчета движения мыши можно запускать только после того как курсор ушел за пределы 1го моника
Как? В видеоустройстве (драйвере) сетка ограничена "величиной" самого монитора.
Курсор тупо не выйдет за "пределы".
Откуда первому компу знать скока еще у других компов мониторов прицеплено и в каких координатах они в комнате стоят?
11. sweb - 13 Апреля, 2013 - 02:41:02 - перейти к сообщению
DeepVarvar пишет:
Как? В видеоустройстве (драйвере) сетка ограничена "величиной" самого монитора.
Курсор тупо не вйдет за "пределы".

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

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

Это пока не столь важно, но это легко решается оправкой этой информации на сервер.

 

Powered by ExBB FM 1.0 RC1