Zireael |
Отправлено: 20 Апреля, 2019 - 18:49:12
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: moue_event
Если нужен скролл в неактивном окне:
CODE:win w=window (-1, "Edit", window (-1, "Notepad", -1)); // окно (блокнот в данном случае)
int x=180; // координата X
int y=260; // координата Y
mousewheel(w, x, y, -2); // на 2 щелчка вниз
sleep(2000);
mousewheel(w, x, y, 3); // на 3 щелчка верх
function mousewheel(win w, int x, int y, int delta)
{
sendmessage(WM_MOUSEWHEEL, delta*120*65536, x+y*65536, w);
} |
|
|
Zireael |
Отправлено: 21 Апреля, 2019 - 10:15:55
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: а нажатие клавиш через sendmessage можно сделать? Например Esc.
sendkey для этого есть.
CODE:win w=window (-1, "Edit", window (-1, "Notepad", -1)); // окно (блокнот в данном случае)
sendmessage(WM_CHAR, 97, 1, w); // напечатать 'a' в блокноте |
|
|
Rafael |
Отправлено: 24 Апреля, 2019 - 11:43:16
|
Наблюдатель
Покинул форум
Сообщений всего: 40
Дата рег-ции: Март 2019
Репутация: 0
|
Adomb пишет: Zireael , а нажатие клавиш через sendmessage можно сделать? Например Esc.
Благодарю!!! всё супер работает в неактивном.
(Добавление)
Rafael пишет: Adomb пишет: Zireael , а нажатие клавиш через sendmessage можно сделать? Например Esc.
Благодарю!!! всё супер работает в неактивном.
Возникла другая проблема. и не знаю где причина может быть. в рамках этого таймера происходит клик в зону, где клика быть не может. как понять куда кликает и кто даёт такую команду вообще.
все зоны поиска в правой части экрана (красным на фото). а кликает в левую часть пару сантиметров левее от оранжевой кнопки. кликает во время прокрутки.
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
[img](для просмотра ссылки Вам необходимо авторизоваться) /img] |
|
|
Zireael |
Отправлено: 25 Апреля, 2019 - 11:49:22
|
Эксперт
Покинул форум
Сообщений всего: 4464
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: чтоб таймеры, созданные, в реальном времени показывали время до срабатывания.
CODE:int t1=gettime()+3000;
int t2=gettime()+8000;
enabletimer(0);
loop()sleep(10);
CREATE_TIMER(0, 50)
{
textbkcolor(255, 65280);
textout(0, 500, 500, format(t1-gettime()), 1);
if(gettime()>t1)
{
messagebox("Действие 1");
t1=gettime()+3000;
}
textbkcolor(255, 65279);
textout(1, 500, 520, format(t2-gettime()), 1);
if(gettime()>t2)
{
messagebox("Действие 2");
t2=gettime()+8000;
}
} |
|
|
Rafael |
Отправлено: 30 Апреля, 2019 - 14:17:19
|
Наблюдатель
Покинул форум
Сообщений всего: 40
Дата рег-ции: Март 2019
Репутация: 0
|
Zireael пишет: Цитата: moue_event
Если нужен скролл в неактивном окне:
CODE:win w=window (-1, "Edit", window (-1, "Notepad", -1)); // окно (блокнот в данном случае)
int x=180; // координата X
int y=260; // координата Y
mousewheel(w, x, y, -2); // на 2 щелчка вниз
sleep(2000);
mousewheel(w, x, y, 3); // на 3 щелчка верх
function mousewheel(win w, int x, int y, int delta)
{
sendmessage(WM_MOUSEWHEEL, delta*120*65536, x+y*65536, w);
}
помоги пожалуйста заменить данное действие на:
зажал левую мышку
провел ей верх
отжал лев кнопку мыши |
|
|
|