Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > Библиотеки

Библиотеки Сторонние библиотеки для Blitz

Ответ
 
Опции темы
Старый 16.09.2009, 04:46   #1
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
API Функции

Привет всем!!! У меня назрел такой вопрос, искал на него ответ на других сайтах, говорят не реально...Ну я все же пытаюсь найти ответ на этот вопрос, может его и не существует а вдруг
Значить так:
Есть decl файл user_32 для Blitz3D...Хочу написать на Blitz3D программу чтоб при запуске ее нажималась кнопка в другой программе. Вопрос как это сделать????
Пробовал вот так:
c= api_FindWindow("SciCalc","Калькулятор");
button=api_FindWindowEx(c,0,"Button","8"); 
If c <> 0 Then
Print "Окно найдено"
If button<>0 Then
Print "Кнопка найдена"
Else
Print "Кнопка не найдена"
EndIf
Else
Print "Окно не найдено"
EndIf
WaitKey
Вроде по проверкам все находит, но как мне ее нажать вопрос заключается в этом, хотя и может у меня чтото в коде не правельно...Моя просьба, помогите пожалуйсто, мне просто очень надо это сделать!!!
За ранее благодорю...
(Offline)
 
Ответить с цитированием
Старый 16.09.2009, 18:47   #2
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: API Функции

совет, делай на пуребасике, если тебе важна только конечная цель. там это наверняка делается гораздо проще, хотя точно не уверен как
(Offline)
 
Ответить с цитированием
Старый 16.09.2009, 20:27   #3
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: API Функции

кури SendMessage

btn=FindWindowEx(FindWindow(0, 'Заголовок окна'), 0, nil, "ИмяКнопки");

SendMessage(btn, WM_LBUTTONDOWN, 1, 1)
Sleep(100);
SendMessage(btn, WM_LBUTTONUP, 1, 1)

Для WM_LBUTTONDOWN, WM_LBUTTONUP
wParam определяет состояние кнопок мыши, lParam - упакованые оконные координаты события.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti

Последний раз редактировалось Randomize, 16.09.2009 в 20:34.
(Offline)
 
Ответить с цитированием
Старый 17.09.2009, 01:51   #4
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: API Функции

Не получается пробовал так
button=api_FindWindowEx(api_FindWindow("SciCalc","Калькулятор"),0,"Button","8");
If button <> 0
SendMessage(button, WM_LBUTTONDOWN, 1, 1)
api_sleep(100);
SendMessage(button, WM_LBUTTONUP, 1, 1)
Else
EndIf
WaitKey
и вот так:
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
Всеравно не выходит Может ктото сталкивался с этим, дайте мне ответ пожалуйсто!!!
(Offline)
 
Ответить с цитированием
Старый 17.09.2009, 04:13   #5
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,852 пользователей)
Ответ: API Функции

XD
WM_LBUTTONDOWN и WM_LBUTTONUP у тебя гденибуть прописаны?
это же котируется как обычные переменные в б3д а следовательно ты передаёшь 0. А это ни к чему естественно не приведёт.

Вот декларируй на здоровье:
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
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 17.09.2009, 04:34   #6
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: API Функции

Большое спасибо, ты супер ))))
(Offline)
 
Ответить с цитированием
Старый 17.09.2009, 08:14   #7
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: API Функции

Вот теперь еще такой вопрос, как мне сделать допустим запущен у меня блокнот и при запуске моей программы в нем написалось "Привет"
Пробовал так:
Const WM_SETTEXT= $C
s=api_FindWindow("Notepad","Безымянный - Блокнот")
t=api_FindWindowEx(s,0,"Edit","")
If t<>0
SendMessage(t, WM_SETTEXT, 0, "Привет");
EndIf
WaitKey
Но не выходит
(Offline)
 
Ответить с цитированием
Старый 17.09.2009, 10:38   #8
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: API Функции

Попробуй по отдельности посылать в окно нажатия кнопок клавиатуры, которые соответствуют вводимым в окно символам. Только возможно понадобится перевести фокус на текстовое поле, в которое хочешь ввести текст. Но это один из способов. Если ты нашел ссыку на текстовое окно, то проще установить его текст не с помошью сообщения, а непосредственно API функцией SetWindowCaption или SetWindowText.
__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 17.09.2009 в 13:14.
(Offline)
 
Ответить с цитированием
Старый 18.09.2009, 02:38   #9
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: API Функции

А можно по подробней?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функций NitE BlitzMax 16 17.08.2009 00:39
Функции ( Crystal 3D-программирование 26 13.09.2007 17:16
Функции pipns Основной форум 1 23.04.2007 11:54
Где функции? root 3D-программирование 12 02.01.2006 23:34


Часовой пояс GMT +4, время: 12:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com