Попытался поискать на форуме — в ответ:
Retrieving the COM class factory for component with CLSID {7B0501BE-630B-4A5A-882E-E73B5385024A} failed due to the following error: 80040154.
Так что все-таки задам вопрос.
Приложению надо послать нажатие определенной клавиши, и потом кликнуть мышкой в паре мест.
Посылаю сообщение нажатия клавиши:
SendMessage(intptr1, WM_KEYDOWN, 33, 3242786817); //послали программе
SendMessage(intptr1, WM_KEYUP, 33, 3242786817); //нажатие КНОПКИ PageUp
Все посылается прекрасно.. Но вот в определенном месте программно кликнуть мышкой — никак..
SendMessage(intptr1, WM_LBUTTONDOWN, 1, 45875600);
SendMessage(intptr1, WM_LBUTTONUP, 1, 45875600);
Что делаю не так...??
Может у кого примерчик есть, как в стороннем окне тыкать программно мышкой в определенных координатах окна?
17.04.09 12:01: Перенесено модератором из '.NET' — TK
Здравствуйте, Lazyman, Вы писали:
L>L>SendMessage(intptr1, WM_LBUTTONDOWN, 1, 45875600);
L>SendMessage(intptr1, WM_LBUTTONUP, 1, 45875600);
L>
не исключено что ты кидаешь сообщение в поток в котором и находишься , т.е. в этом месте ты уже обрабатываешь какоето
сообщение и обработчик для этого не доступен ... андестенд?
как вариант — попробуй postmessage — сообщение придет когда ты выйдешь из обработчика
Здравствуйте, Lazyman, Вы писали:
L>Попытался поискать на форуме — в ответ:
L>Retrieving the COM class factory for component with CLSID {7B0501BE-630B-4A5A-882E-E73B5385024A} failed due to the following error: 80040154.
L>Так что все-таки задам вопрос.
L>Приложению надо послать нажатие определенной клавиши, и потом кликнуть мышкой в паре мест.
L>Посылаю сообщение нажатия клавиши:
L>L>SendMessage(intptr1, WM_KEYDOWN, 33, 3242786817); //послали программе
L>SendMessage(intptr1, WM_KEYUP, 33, 3242786817); //нажатие КНОПКИ PageUp
L>
L>Все посылается прекрасно.. Но вот в определенном месте программно кликнуть мышкой — никак..
L>L>SendMessage(intptr1, WM_LBUTTONDOWN, 1, 45875600);
L>SendMessage(intptr1, WM_LBUTTONUP, 1, 45875600);
L>
L>Что делаю не так...??
L>Может у кого примерчик есть, как в стороннем окне тыкать программно мышкой в определенных координатах окна?
Если клики — щелчки надо посылать в чужую програму, то лучше использовать SendInputs или mouse_event / keybd_event
Здравствуйте, Lazyman, Вы писали:
...
L>Может у кого примерчик есть, как в стороннем окне тыкать программно мышкой в определенных координатах окна?
#define GET_KOORD(x, y) (x|(y<<16))
VOID ClickOnWnd(HWND hWnd) {
DWORD dwCoord = GET_KOORD(1, 1); // Координаты "кликанья"
PostMessage(hWnd, WM_LBUTTONDOWN, MK_LBUTTON, LPARAM(dwCoord));
PostMessage(hWnd, WM_LBUTTONUP, NULL, NULL);
}