Api функции для Blitz3D
|
|
maxturbo | Дата: Вторник, 15 Сентября 2009, 05:29 | Сообщение # 1 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Есть decl файл с api фнкциями для Blitz3D, есть программа калкулятор стандартная в windows'e Я нашол class этого калькулятара "SciCalc", далее нашел Caption кнопки "8", он равен тоже 8, потом нашел class этой кнопки "Button" Пробую в Blitz3D прописать код для нажатия клавиши 8; Code chwnd1=api_FindWindowEx(0,0,"SciCalc",0); chwnd2=api_FindWindowEx(0,0,"Button","8"); SendMessage(chwnd2, WM_LBUTTONUP,1,1) Но у меня ни чего не получается Пробовал еще так; Code button=FindWindow("Button","8"); SendMessage(button,WM_LBUTTONDOWN,1,1); SendMessage(button, WM_LBUTTONUP,1,1); И тоже не получается, подскажите как правельно сделать? Админ не ругайся, то что я подобное уже создовал в разделе "Другое", просто сейчас речь идет о Blitz3D поэтому и решил сдесь создать тему
Сообщение отредактировал maxturbo - Вторник, 15 Сентября 2009, 05:30 |
|
| |
maxturbo | Дата: Вторник, 15 Сентября 2009, 08:23 | Сообщение # 2 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Вот попробовал так найти окно Code c= api_FindWindow("SciCalc","Калькулятор"); If c <> 0 Then Print "Окно найдено" Else Print "Окно не найдено" EndIf WaitKey Теперь вопрос как найти кнопку, команды FindChildWindow у меня в decl файле нет, если не затруднит напиши как это сделать через EnumChildWindow...
Сообщение отредактировал maxturbo - Вторник, 15 Сентября 2009, 08:40 |
|
| |
maxturbo | Дата: Вторник, 15 Сентября 2009, 11:13 | Сообщение # 3 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Вот сделал так: Code button=api_FindWindowEx(api_FindWindow("#32770","United-Cheaters"),0,"Button","Load Hack"); If button <> 0 Print "Кнопка существует" EndIf WaitKey Если проверить то вроде видит кнопку, как теперь сделать чтоб ее нажать?
|
|
| |
maxturbo | Дата: Четверг, 17 Сентября 2009, 03:36 | Сообщение # 4 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Все программеры, разобрался и нашол ответ может кому понадобится, вот код: Code WM_MOUSEMOVE = $200 WM_LBUTTONDOWN = $201 WM_LBUTTONUP = $202 WM_LBUTTONDBLCLK = $203 WM_RBUTTONDOWN = $204 WM_RBUTTONUP = $205 WM_RBUTTONDBLCLK = $206
WM_MBUTTONDOWN = $207 WM_MBUTTONUP = $208 WM_MBUTTONDBLCLK = $209 WM_SETFOCUS = $7 WM_KEYDOWN = $100 WM_KEYFIRST = $100 WM_KEYLAST = $108 WM_KEYUP = $101 c= api_FindWindow("SciCalc","Калькулятор"); button=api_FindWindowEx(c,0,"Button","8"); If c <> 0 Then Print "Окно найдено" If button<>0 Then Print "Кнопка найдена" SendMessage(button, WM_LBUTTONDOWN, 1, 1) api_sleep(100); SendMessage(button, WM_LBUTTONUP, 1, 1) Else Print "Кнопка не найдена" EndIf Else Print "Окно не найдено" EndIf WaitKey Так что Jack окозалось все просто, но все равно спасибо за напровление к мысли!!! а фнкцию api_sleep я вытащил из библиотеки kernel32.dll может кому надо .lib "kernel32.dll" api_Sleep% (time%) : "Sleep" Впринципе аналогична Delay(time%)
Сообщение отредактировал maxturbo - Четверг, 17 Сентября 2009, 08:53 |
|
| |
maxturbo | Дата: Четверг, 17 Сентября 2009, 05:16 | Сообщение # 5 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Теперь проблема в другом: Code chit$="chit\BaDBoYv5.exe" ExecFile(chit$) Const WM_MOUSEMOVE = $200 Const WM_LBUTTONDOWN = $201 Const WM_LBUTTONUP = $202 Const WM_LBUTTONDBLCLK = $203 Const WM_RBUTTONDOWN = $204 Const WM_RBUTTONUP = $205 Const WM_RBUTTONDBLCLK = $206 Const WM_MBUTTONDOWN = $207 Const WM_MBUTTONUP = $208 Const WM_MBUTTONDBLCLK = $209 Const WM_SETFOCUS = $7 Const WM_KEYDOWN = $100 Const WM_KEYFIRST = $100 Const WM_KEYLAST = $108 Const WM_KEYUP = $101 api_sleep(100) c= api_FindWindow("#32770","United-Cheaters"); button=api_FindWindowEx(c,0,"Button","Load Hack") SendMessage(button, WM_LBUTTONDOWN, 1, 1) SendMessage(button, WM_LBUTTONUP, 1, 1) Сначала запускается чит, далее нажимается кнопка Load Hack но после ее нажатия Blitz почему то виснет, что за проблемка не подскажете? Хотя он просто должен выключится...а чит остаться запущенным
Сообщение отредактировал maxturbo - Четверг, 17 Сентября 2009, 08:58 |
|
| |
maxturbo | Дата: Четверг, 17 Сентября 2009, 08:57 | Сообщение # 6 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Все разобраслся просто я команду SendMessage заменил PostMessage, ну теперь другая проблема При запуске моей программы видно как запускается чит...Вопрос такой как сделать так чтоб он запускался как нибудь в фоне, ну чтоб не видно было что он запускается... мне надо чтоб кликнул по моей программе и ни каких реакций чтоб не было а чит запустился, короче нужно как то в фоне запустить его... P.S Админ не ругайся что я так много пишу
Сообщение отредактировал maxturbo - Четверг, 17 Сентября 2009, 08:59 |
|
| |
maxturbo | Дата: Четверг, 17 Сентября 2009, 17:24 | Сообщение # 7 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Так оно и так скрывается когда программно нажимаю кнопку "Load Hack", а вот как мне его скрыть чтоб даже не видно было как оно запускается, я доже не знаю, может как нибудь в трей можно его сразу свернуть при запуске? Ну или еще что нибудь, короче надо сделать чтоб не видно его было при запуске вообще!!!
|
|
| |
maxturbo | Дата: Пятница, 18 Сентября 2009, 10:05 | Сообщение # 8 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Что ни кто не подскажет чтоли?
|
|
| |
maxturbo | Дата: Пятница, 18 Сентября 2009, 10:41 | Сообщение # 9 |
![maxturbo](http://s5.ucoz.net/a/05/0892.jpg) Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус: ![](/on.gif)
Профессия: Программер
Проектов: 1 в разработке
| Всем спасибо за помощ Сам разобрался вытянул функцию из библиотеки shell32.dll вобщем вот: Code chit$="chit\BaDBoYv5.exe" ShellExecute%(0,"open",chit$,0,0,0) Оказывается в Blitz'e так легко использовать любую функцию Windows
Сообщение отредактировал maxturbo - Пятница, 18 Сентября 2009, 10:53 |
|
| |