|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] MouseMove на центр экрана (для любого разрешения) |
|
[решено] MouseMove на центр экрана (для любого разрешения)
|
Пользователь Сообщения: 114 |
Профиль | Сайт | Отправить PM | Цитировать Здраствуйте, возник вопрос по позицианированию курсора по середине экрана.
Способ нашёл задать переменную всоты и ширины экрана делённую на 2 Осталось добавить в к самой фнкции mouemove
Так курсор перемещается на середину почти, не понятно почему немного отклоняется в левую сторону. Вопрос почему так происходит если код правильно составлен (я так думаю) ? |
|
Отправлено: 17:27, 01-05-2009 |
Новый участник Сообщения: 47
|
Профиль | Отправить PM | Цитировать У курсора есть точка позиционирования (выставляется в редакторе при создании курсора) -- возможно из-за этого. ЗЫ: деление лучше заменить на умножение %)
|
Отправлено: 18:05, 01-05-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата kagorec:
Цитата kagorec:
$iWidth = @DesktopWidth $iHeight = @DesktopHeight $iX = $iWidth / 2 $iY = $iHeight / 2 MouseMove($iX, $iY, 0) $aMPos = MouseGetPos() $iMouse_On_Center = ((($iX * 2) = $iWidth) And (($iY * 2) = $iHeight)) $sAsk_Msg = "" $iAsk_Flag = 64 If Not $iMouse_On_Center Then $sAsk_Msg = "\n\nMouse is not on center, move the mouse?" $iAsk_Flag = 52 EndIf $iAsk = MsgBox($iAsk_Flag, 'Results', _ StringFormat("DesktopWidth: %i\nDesktopHeight: %i\n\nMouse X Pos: %i\nMouse Y Pos: %i\n\nMouse on center: %s%s", _ $iWidth, $iHeight, $aMPos[0], $aMPos[1], $iMouse_On_Center, $sAsk_Msg)) If $iAsk = 6 Then $iX = $aMPos[0] $iY = $aMPos[1] If ($iX * 2) < $iWidth Then $iX = $iWidth - ($iX * 2) ElseIf ($iX * 2) > $iWidth Then $iX = ($iX * 2) - $iWidth EndIf If ($iY * 2) < $iHeight Then $iY = $iHeight - ($iY * 2) ElseIf ($iY * 2) > $iHeight Then $iY = ($iY * 2) - $iHeight EndIf MouseMove($iX, $iY, 0) EndIf |
||
------- Отправлено: 19:09, 01-05-2009 | #3 |
Пользователь Сообщения: 114
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Rognorek:
Исправлено, вернее изначально все было правильно, только не учел что берутся данные о разрешении именно виндовса. Тему можно закрывать ) п.с. Creat0R спасибо, тоже очень хорошее решение!+ |
|
Отправлено: 19:49, 01-05-2009 | #4 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата kagorec:
Цитата kagorec:
Цитата:
|
||||
------- Отправлено: 21:56, 01-05-2009 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Установка единственного разрешения экрана | anywhere | Microsoft Windows 2000/XP | 10 | 09-07-2008 07:27 | |
[решено] Различные разрешения экрана для разных пользователей | BleSSeD | Microsoft Windows 2000/XP | 2 | 30-05-2008 07:30 | |
Загрузка - [решено] Черный экран после установки недопустимых значений для разрешения экрана | Кварц | Microsoft Windows 2000/XP | 4 | 21-03-2008 22:34 | |
[решено] проблема с сменой разрешения экрана | Dmitriy_Demon | Microsoft Windows 2000/XP | 4 | 26-04-2007 19:46 | |
Borland C++ | Просмотр файла любого разрешения как текстового | Mad Mouse | Программирование и базы данных | 1 | 28-01-2005 15:31 |
|