Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];

Вниз

Управление мышью   Найти похожие ветки 

 
Slimer   (2009-02-17 13:09) [0]

Добрый день!
Врядли вы сталкивались с такой проблеммой:) Но как опытные программисты может быть знаете как ее решить:
требуется управлять мышью (перемещение/клики), но без использования Win32 функции SendInput() или mouse_event(). Есть ли другие способы?


 
Palladin ©   (2009-02-17 13:10) [1]

Можно маленького робота построить, подключить его к LPT и написать к нему программу движений :)


 
Slimer   (2009-02-17 13:13) [2]


> Можно маленького робота построить, подключить его к LPT
> и написать к нему программу движений :)

кхм... т.е. никак получается?))


 
Сергей М. ©   (2009-02-17 13:14) [3]

А как еще можно управлять мышью, не прикасаясь к ней ?)


 
Сергей М. ©   (2009-02-17 13:16) [4]

Ну разве что запрограммировать какого-нть "телекинетика", чтобы взглядом двигал мыша и кнопки на ней давил)


 
Slimer   (2009-02-17 13:22) [5]

Ну я думал может есть какие нибудь другие функции помимо этих двух и телекинеза с роботом))


 
Johnmen ©   (2009-02-17 13:26) [6]

А эти две разве управляют???


 
Slimer   (2009-02-17 13:28) [7]


> А эти две разве управляют???

курсором


 
Johnmen ©   (2009-02-17 13:31) [8]

Причем здесь курсор?


 
MBo ©   (2009-02-17 13:33) [9]

http://rsdn.ru/forum/message/3286095.1.aspx


 
Сергей М. ©   (2009-02-17 13:43) [10]


> Slimer   (17.02.09 13:28) [7]
> курсором


Управление мышью и управление курсором (эмуляция событий мыши) - две разные разницы.

Про курсор в вопросе ни слова.


 
Slimer   (2009-02-17 13:45) [11]


> Причем здесь курсор?

я думаю вопрос понятен: требуется эмулировать нажатие кнопки мыши без использования функций SendInput или mouse_event. А если вариантов нет - смысл цепляться к словам?


 
Сергей М. ©   (2009-02-17 13:58) [12]

SetCursorPos - поелозить курсором по экрану

[Child]WindowFromPoint - получение хэндла окна, над которым находится мышиный курсор

WM_[L|R]BUTTON[UP|DOWN|DBLKLIK] - сообщения об эмулируемых событиях мышиных кнопок для отправки окну, над которым находится мышиный курсор


 
Slimer   (2009-02-17 14:02) [13]


> Сергей М. ©   (17.02.09 13:58) [12]

SetCursorPos - не подходит, надо что-то другое.

> WM_[L|R]BUTTON[UP|DOWN|DBLKLIK]

это же API из user32.dll - тоже не подходит.


 
Сергей М. ©   (2009-02-17 14:12) [14]

Я сейчас тебе один умный вещ скажу, только ты не обижайся)..

Добраться к мышиному "нутру" минуя API конечно можно, но это уже будут НЕдокументированные способы. А они дурно пахнут)


 
Slimer   (2009-02-17 14:14) [15]


> Сергей М. ©   (17.02.09 14:12) [14]

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


 
Сергей М. ©   (2009-02-17 14:17) [16]

Весьма дурной, уверяю тебя)


 
Anatoly Podgoretsky ©   (2009-02-17 15:03) [17]

> Slimer  (17.02.2009 13:09:00)  [0]

Деньги будут рекой течь, будешь самый известный кликер.


 
имя   (2009-02-17 15:03) [18]

Удалено модератором


 
KSergey ©   (2009-02-17 15:10) [19]

Я придумал! Надо драйвер написать мышиный, но с мышкой не связанный никак.


 
Slimer   (2009-02-17 16:05) [20]

подскажите, можно ли с помощью SendMessage переместить курсор мыши в нужную мне точку?


 
Сергей М. ©   (2009-02-17 16:22) [21]

Что-то ты как-то слишком быстро оглобли завернул - то тебе WinAPI не товарищ, то сразу согласный стал)


> можно ли с помощью SendMessage переместить курсор мыши в
> нужную мне точку?


Чем тебе SetCursorPos не угодила ? На то ведь и существует она ..


 
Slimer   (2009-02-17 16:40) [22]

SetCursorPos другие функции блокируются другой программой


 
Сергей М. ©   (2009-02-17 16:54) [23]


> SetCursorPos другие функции блокируются другой программой


Эт что за вирусня такая ?


 
Slimer   (2009-02-17 16:57) [24]

это обычный GameGuard :) блокирует использование API функций, но не всех... раскопал вот что SendMessage он постеснялся трогать почему-то...


 
@!!ex ©   (2009-02-17 17:01) [25]

Опять кликер для ММОРПГ...
Вот нафиг. а?


 
Slimer   (2009-02-17 17:04) [26]


> Вот нафиг. а?

чтоб рулить:)


 
Slimer   (2009-02-17 17:05) [27]

да программа то собственно отлично работает, но не на всех серверах. там где ГГ - не фурычит


 
@!!ex ©   (2009-02-17 17:09) [28]

Dll инъекцию и никакой GG не спасет.


 
Сергей М. ©   (2009-02-17 17:09) [29]

Кризис, панимаиш, на дворе цветет махровым цветом, а им все в цацки-бирюльки поиграть)


> раскопал вот что SendMessage он постеснялся трогать почему-
> то


Раскопай все что оно "трогает", тогда наверняка подыщем простейшее решение)
А SendMessage ни мыша ни курсор двинуть не может - не для того она предназначена


 
Slimer   (2009-02-17 17:14) [30]

Вот собсно оглашаю весь список:

(ntdll.dll)
--------------------------
Ntopenthreadtoken
NtQueueApc Thread
NtTranslateFilePatch
NtUnlockfile
RtlGetNVersionNumbers
ZWOpenProcess
zwquerysysteminformation
zwsuspendthread
zwterminatethread
--------------------------
(CSRSRV.dll)
--------------------------
Csrcreateprocess
--------------------------
(User32.dll)
--------------------------
GetWindowThreadProcessID
PostmessageA
PostmessageW
SendInput
SendMessageA
SendmessageW
SetCursorPos
SetwindowshookexA
Setwindowshookexw
keybd_event
mouse_event
--------------------------
(Kernel32.dll)
--------------------------
CreateProcessInternalW
DebugActiveProcess
GetProcAddress
Loadlibraryexw
movefilew
openprocess
readprocessmemory
VirtualProtect
Virtualprotectex
writeprocessmemory
--------------------------
(GDI32.DLL)
--------------------------
get pixel
--------------------------
(Advapi32.dll)
--------------------------
CreateRestrictedToken
--------------------------
(Winsta.dll)
--------------------------
winstationterminateprocess


 
Сергей М. ©   (2009-02-17 20:21) [31]


> Slimer   (17.02.09 17:14) [30]


Из каких источников сия конфид.инф-ция ?
Уж не из таблицы ли импорта ?


 
Slimer   (2009-02-17 21:15) [32]

на каком-то форуме нарыл... за 100% достоверность не отвечаю, но mouse_event, SendInput и SetCursorPos сам лично проверял - действительно не работают, в принципе кроме них больше ничего и не надо было...

возможно я много на себя беру, но может написать аналог SetCursorPos и т.д. правда даже не представляю как это реализовано в user32.dll:)


 
@!!ex ©   (2009-02-17 21:24) [33]

> [32] Slimer   (17.02.09 21:15)

пиши свой драйвер мыши и нет проблем.


 
Slimer   (2009-02-17 21:35) [34]


> пиши свой драйвер мыши и нет проблем.

ты говоришь это человеку, который создал тему в разделе "Начинающим"?)))


 
@!!ex ©   (2009-02-17 21:57) [35]

> [34] Slimer   (17.02.09 21:35)

Ну и я частенько пишу в начинающих(раз в по года примерно).
На самом деле нет особой проблемы. Примеры драйверов в инете есть. Там всне не сложно.


 
Slimer   (2009-02-17 22:38) [36]

может проще (хотя как это может быть просто) переписать функцию SetCursorPos? Да даже и переписывать не надо, просто скопировать и по другому назвать... или допустим скопировать user32.dll и в нем просто изменить название функции, и потом эту библиотеку использовать? мда... извините конечно если бред пишу))


 
@!!ex ©   (2009-02-17 22:50) [37]

> [36] Slimer   (17.02.09 22:38)

Зависит от того, как действует защитник. Я без идей как он дейстуует поэтому не могу ответить на ваш вопрос.


 
Сергей М. ©   (2009-02-18 08:38) [38]


> может проще (хотя как это может быть просто) переписать
> функцию SetCursorPos?


Если даже и проще, то кто будет переписывать ?
Так что пока см. [37] : единственный способ победить врага - это узнать все о его стратегии и тактике).. Закидать его валенками тут не получится)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.011 c
15-1233660628
palva
2009-02-03 14:30
2009.04.05
Как изменить стиль hover?


15-1233422138
blackman
2009-01-31 20:15
2009.04.05
Отстал от жизни.


4-1207513836
Alex
2008-04-07 00:30
2009.04.05
Расстояние между иконками в Virtual ListView.


2-1234352807
cyborg
2009-02-11 14:46
2009.04.05
Компонент TPageControl


15-1233426561
deadteachers
2009-01-31 21:29
2009.04.05
LOST





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский