Проблема с WinAPI

Boogdan

Новичок
Регистрация
12.04.2018
Сообщения
8
Благодарностей
0
Баллы
1
Решил написать шаблол для работы с Телеграмом через WinApi. Всё делел по инструкции:
http://zennolab.com/discussion/threads/pm-winapi-ili-upravlenie-oknami-ljubyx-drugix-prilozhenij.27491/

После запуска выполнения экшена кубик горит зелёным, но никакие кнопки в приложении не нажимаются. Совсем. В чём может быть проблема?

Код:
IntPtr hwnd = CommonCode.FindWindow("Qt5QWindowIcon", null);

CommonCode.SendMessage(hwnd, CommonCode.WM_MOUSEMOVE, IntPtr.Zero, CommonCode.MakeLParam(140, 90));
CommonCode.SendMessage(hwnd, CommonCode.WM_LBUTTONDOWN, (IntPtr)CommonCode.MK_LBUTTON, CommonCode.MakeLParam(140, 90));
CommonCode.SendMessage(hwnd, CommonCode.WM_LBUTTONUP, IntPtr.Zero, CommonCode.MakeLParam(140, 90));

return hwnd;
2.png

1.jpg
 

ezotonal

Client
Регистрация
13.01.2014
Сообщения
809
Благодарностей
227
Баллы
43
Решил написать шаблол для работы с Телеграмом через WinApi. Всё делел по инструкции:
http://zennolab.com/discussion/threads/pm-winapi-ili-upravlenie-oknami-ljubyx-drugix-prilozhenij.27491/

После запуска выполнения экшена кубик горит зелёным, но никакие кнопки в приложении не нажимаются. Совсем. В чём может быть проблема?

Код:
IntPtr hwnd = CommonCode.FindWindow("Qt5QWindowIcon", null);

CommonCode.SendMessage(hwnd, CommonCode.WM_MOUSEMOVE, IntPtr.Zero, CommonCode.MakeLParam(140, 90));
CommonCode.SendMessage(hwnd, CommonCode.WM_LBUTTONDOWN, (IntPtr)CommonCode.MK_LBUTTON, CommonCode.MakeLParam(140, 90));
CommonCode.SendMessage(hwnd, CommonCode.WM_LBUTTONUP, IntPtr.Zero, CommonCode.MakeLParam(140, 90));

return hwnd;
Посмотреть вложение 29906
Посмотреть вложение 29905
Попробуй без "WM_MOUSEMOVE"
 

lederer

Client
Регистрация
13.04.2013
Сообщения
169
Благодарностей
84
Баллы
28
Я к примеру использовал следующую конструкцию

var handle = AutoItX.WinGetHandle("Название ресурса");
AutoItX.WinActivate(handle);
AutoItX.WinMove(handle, 0, 0);
AutoItX.MouseClick("LEFT", 506, 22);

Не забудьте подключить библиотеки AutoIt
 

ezotonal

Client
Регистрация
13.01.2014
Сообщения
809
Благодарностей
227
Баллы
43
Я к примеру использовал следующую конструкцию

var handle = AutoItX.WinGetHandle("Название ресурса");
AutoItX.WinActivate(handle);
AutoItX.WinMove(handle, 0, 0);
AutoItX.MouseClick("LEFT", 506, 22);

Не забудьте подключить библиотеки AutoIt
Если для кого нибудь писать. То тут могут быть разные размеры мониторов. Соответственно и разные координаты будут
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)