Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нажатие кнопки

14K
28 ноября 2005 года
rur
2 / / 24.11.2005
Извиняюсь за повторение...

Короче, есть процедура:

wnd:=findwindow(nil,'Program name');
btn:=findwindowex(wnd,0,nil,'Start');
sendmessage(btn,WM_COMMAND, BN_CLICKED shl 16,Btn)

она как понимаете эмулирует нажатие кнопки в чужом приложении. Запустил пару программ чтоб проверить, но почему-то ничего не нажимается. А вот если создать прогу на delphi, на ней кнопка нажимается.

Объсните в чем разница? Почему не работает?
Может есть другие способы нажать на кнопку?
5
29 ноября 2005 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by rur
Извиняюсь за повторение...

Короче, есть процедура:

wnd:=findwindow(nil,'Program name');
btn:=findwindowex(wnd,0,nil,'Start');
sendmessage(btn,WM_COMMAND, BN_CLICKED shl 16,Btn)

она как понимаете эмулирует нажатие кнопки в чужом приложении. Запустил пару программ чтоб проверить, но почему-то ничего не нажимается. А вот если создать прогу на delphi, на ней кнопка нажимается.

Объсните в чем разница? Почему не работает?
Может есть другие способы нажать на кнопку?


может быть вся фишка в том, что в программах, собраных в разных системах программирования разные способы обработки сообщений...
есть другой способ "программного" кликания:
VOID mouse_event(

DWORD dwFlags, // flags specifying various motion/click variants
DWORD dx, // horizontal mouse position or position change
DWORD dy, // vertical mouse position or position change
DWORD dwData, // amount of wheel movement
DWORD dwExtraInfo // 32 bits of application-defined information
);

попробуй

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог