[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Api функции для Blitz3D
maxturboДата: Вторник, 15 Сентября 2009, 05:29 | Сообщение # 1
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 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
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 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
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 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
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 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
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 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
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Все разобраслся просто я команду SendMessage заменил PostMessage, ну теперь другая проблема :)
При запуске моей программы видно как запускается чит...Вопрос такой как сделать так чтоб он запускался как нибудь в фоне, ну чтоб не видно было что он запускается... мне надо чтоб кликнул по моей программе и ни каких реакций чтоб не было а чит запустился, короче нужно как то в фоне запустить его...
P.S Админ не ругайся что я так много пишу ;)


Сообщение отредактировал maxturbo - Четверг, 17 Сентября 2009, 08:59
 
maxturboДата: Четверг, 17 Сентября 2009, 17:24 | Сообщение # 7
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Так оно и так скрывается когда программно нажимаю кнопку "Load Hack", а вот как мне его скрыть чтоб даже не видно было как оно запускается, я доже не знаю, может как нибудь в трей можно его сразу свернуть при запуске? Ну или еще что нибудь, короче надо сделать чтоб не видно его было при запуске вообще!!!
 
maxturboДата: Пятница, 18 Сентября 2009, 10:05 | Сообщение # 8
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Что ни кто не подскажет чтоли?
 
maxturboДата: Пятница, 18 Сентября 2009, 10:41 | Сообщение # 9
Профи
Группа: Участники
Сообщений: 379
Награды: 0
Замечания: 0%
Статус:

Профессия: Программер
Проектов: 1 в разработке
Всем спасибо за помощ :) Сам разобрался вытянул функцию из библиотеки shell32.dll вобщем вот:
Code

chit$="chit\BaDBoYv5.exe"
ShellExecute%(0,"open",chit$,0,0,0)

Оказывается в Blitz'e так легко использовать любую функцию Windows :)


Сообщение отредактировал maxturbo - Пятница, 18 Сентября 2009, 10:53
 
  • Страница 1 из 1
  • 1
Поиск: