Dantes3000 |
Отправлено: 01 Марта, 2018 - 22:40:57
|
Эксперт
Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016
Репутация: 58
|
CODE:win w1, w2, w3, w4;
int x, y;
textout( 0, 10, 10, "Нажми ё над первым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 10, "Нажми ё над вторым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 10, "Нажми ё над третьем окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
textout( 0, 10, 10, "Нажми ё над четвертым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "Нажми ё над четвертым окном", 1);
loop() {
if(getkeystate(1)==1) {
getmouse(x, y, w1); sleep(50);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);
sendmouse(LEFT, x, y, w4);}
}
(Добавление)
если что-то существеннее интересует - в лс |
|
|
Vanga-98 |
Отправлено: 02 Марта, 2018 - 10:04:31
|
Прохожий
Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2016
Репутация: 0
|
Dantes3000 пишет: CODE:win w1, w2, w3, w4;
int x, y;
textout( 0, 10, 10, "Нажми ё над первым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(600, 300);
getmouse(x, y);
w1=getwindow(1, x, y);
textout( 0, 10, 10, "Нажми ё над вторым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(500, 300);
getmouse(x, y);
w2=getwindow(1, x, y);
textout( 0, 10, 10, "Нажми ё над третьем окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(400, 300);
getmouse(x, y);
w3=getwindow(1, x, y);
textout( 0, 10, 10, "Нажми ё над четвертым окном", 1);
while(getkeystate(192)==0) sleep(20);
while(getkeystate(192)==1) sleep(20);
beep(300, 300);
getmouse(x, y);
w4=getwindow(1, x, y);
textout( 0, -190, -110, "Нажми ё над четвертым окном", 1);
loop() {
if(getkeystate(1)==1) {
getmouse(x, y, w1);sleep(50);
sendmouse(LEFT, x, y, w2);
sendmouse(LEFT, x, y, w3);
sendmouse(LEFT, x, y, w4);}
}
(Добавление)
если что-то существеннее интересует - в лс
Cпасибо огромное, тестирую сейчас, в чем может быть причина что он не жмет клавиши в остальных окнах?
Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне, я так понял это число нужно уменьшить getmouse(x, y, w1);sleep(50); ?(Отредактировано автором: 02 Марта, 2018 - 10:22:08) |
|
|
Zireael |
Отправлено: 02 Марта, 2018 - 10:35:27
|
Эксперт
Покинул форум
Сообщений всего: 4461
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне
Основное окно указывать не нужно. Получается что 1 раз кликаете вы, второй раз кликает скрипт.
(Добавление)
Попробуйте скрипт. Запускать когда активно основное окно, в него нажатия посылаться не будут.
code (Отобразить)CODE:string name_window = "Warspear Online"; // имя окна
win wind[10];
int count;
int x, y;
count=find_window(); // поиск окон по имени
messagebox("Найдено окон "+format(count));
if(count > 0) // если окна найдены
{
loop()
{
for(int i=0; i<255; i++)
{
if(getkeystate(i)==1)
{
for(int j=count-1; j>0; j--) // цикл для всех окон, кроме первого (основного)
{
if(i==1 || i==2 || i=4) // если нажата кнопка мыши
{
while(getkeystate(i)==1)sleep(10);
getmouse(x, y, wind[0]);
sendmouse(LEFT, x, y, wind[j]);
}
else // если нажата кнопка клавиатуры
{
while(getkeystate(i)==1)sleep(10);
sendkey(i, wind[j]);
}
}
}
}
sleep(1);
}
}
function find_window()
{
external(INT, "FindWindowEx", "FindWindowExA", "user32.dll");
external(VOID, "GetWindowText", "GetWindowTextA", "user32.dll");
char array[512];
int adr=address(#array[0]);
int handle=FindWindowEx(0, 0, 0, name_window);
int i=0;
while (handle!=0)
{
wind[i]=handle;
GetWindowText(handle, adr, 512);
handle=FindWindowEx(0, handle, 0, name_window);
i++;
}
return i;
} |
|
|
Vanga-98 |
Отправлено: 02 Марта, 2018 - 16:12:27
|
Прохожий
Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2016
Репутация: 0
|
Zireael пишет: Цитата: Нашел особенность, кнопка мыши 2 раза срабатывает в основном окне
Основное окно указывать не нужно. Получается что 1 раз кликаете вы, второй раз кликает скрипт.
(Добавление)
Попробуйте скрипт. Запускать когда активно основное окно, в него нажатия посылаться не будут.
code (Отобразить)CODE:string name_window = "Warspear Online"; // имя окна
win wind[10];
int count;
int x, y;
count=find_window(); // поиск окон по имени
messagebox("Найдено окон "+format(count));
if(count > 0) // если окна найдены
{
loop()
{
for(int i=0; i<255; i++)
{
if(getkeystate(i)==1)
{
for(int j=count-1; j>0; j--) // цикл для всех окон, кроме первого (основного)
{
if(i==1 || i==2 || i=4) // если нажата кнопка мыши
{
while(getkeystate(i)==1)sleep(10);
getmouse(x, y, wind[0]);
sendmouse(LEFT, x, y, wind[j]);
}
else // если нажата кнопка клавиатуры
{
while(getkeystate(i)==1)sleep(10);
sendkey(i, wind[j]);
}
}
}
}
sleep(1);
}
}
function find_window()
{
external(INT, "FindWindowEx", "FindWindowExA", "user32.dll");
external(VOID, "GetWindowText", "GetWindowTextA", "user32.dll");
char array[512];
int adr=address(#array[0]);
int handle=FindWindowEx(0, 0, 0, name_window);
int i=0;
while (handle!=0)
{
wind[i]=handle;
GetWindowText(handle, adr, 512);
handle=FindWindowEx(0, handle, 0, name_window);
i++;
}
return i;
}
То что надо, и мышь работает адекватно во всех окнах и клавиши работают, спасибо! |
|
|
|