Я пытаюсь использовать следующий код, чтобы нажать кнопку в другом приложении:
HWND ButtonHandle;
if( (wnd = FindWindow(0, "Do you want to save?")) )
{
ButtonHandle = FindWindowEx(wnd, 0, "SaveButton", "&Save");
SendMessage(wnd, WM_COMMAND, MAKEWORD(GetDlgCtrlID(ButtonHandle), BN_CLICKED ), (LPARAM)ButtonHandle);
}
Это не работает. Я пытался передать разные дескрипторы в MAKEWORD и изменить WPARM и LPARAM, но ничего.
Любые идеи о том, как нажать кнопку в окне другого приложения?
Код приветствуется. Спасибо.
РЕДАКТИРОВАТЬ: Причина, по которой, похоже, не работают разрешения. Я отправил сообщение PostMessage(), и результатом была ошибка GetLastError() = 5 (или доступ запрещен). Есть идеи?
EDIT2 Я не хочу показаться грубым, но, пожалуйста, пожалуйста, я уже обыскал все API, включая получение и настройку регионов для кнопки, а затем отправку кнопки вниз и кнопку вверх, получение идентификатора элемента управления , получение идентификатора класса и многое другое. Причина, по которой я задал вопрос здесь, в первую очередь заключается в том, что я уже исчерпал свой поиск в Интернете. Если вы знаете ответ ПОСТАВЬТЕ КОД, не предлагайте API и все, покажите мне, как этот API решает проблему. Это не трудно. Спасибо.
РЕДАКТИРОВАТЬ 3: ответ на вопрос был выбран автоматически, когда награда закончилась. Вопрос по-прежнему остается без ответа.
SendInput
для отправки событий мыши могут быть вашим лучшим выбором. - person Adrian McCarthy   schedule 22.09.2009