Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - iggi

Pages: 1 [2]
16
Здравствуйте.
Подскажите, как вызвать 21 подпрограмму в случайном порядке и при этом без повторов?
Поиском нашел похожий вопрос с вот таким скриптом:
Code: (clickermann) [Select]
$r = "ABCDEFGHIJKLMNOPQWVXYZ"
$a = STRLEN($r)
 
FOR($c, $c < $a)
$f = STRCUT($r, RND(1, STRLEN($r)), 1)
   IF(STRLEN($r) > 1)
      $r = STRFILTER($r, $f, 0)
   END_IF
     LOGWRITE($f)
   WAITMS(50)
END_CYC
Но не могу сообразить как его использовать чтобы вместо LOGWRITE($f) вызывать подпрограммы.
Попробовал вот такой вариант, но он не работает:
Code: (clickermann) [Select]
SUB(A)
//подпрограмма A
END_SUB
...
//и т.д. подпрограммы B-X
...
SUB(Y)
//подпрограмма Y
END_SUB

$r = "ABCDEFGHIJKLMNOPQWVXY"
$a = STRLEN($r)

FOR($c, $c < $a)
$f = STRCUT($r, RND(1, STRLEN($r)), 1)
   IF(STRLEN($r) > 1)
      $r = STRFILTER($r, $f, 0)
   END_IF
     STRCONCAT( $f,() )   // не работает - подпрограммы не вызываются
   WAITMS(50)
END_CYC

17
Фокусировку на окно выполняет команда WNDBUMP.
С ней цикл будет таким:

$var[0] = "1"
$var[1] = "2"
$var[2] = "3"
$var[3] = "4"
$var[4] = "5"
$var[5] = "6"
$var[6] = "7"
$var[7] = "8"

For($i, $i<8 )
$hwnd1 = wndfind($var[ $i ]) // получаем HWND окна кликера
WNDBUMP ($hwnd1) // фокус на окно
WAIT(2)
End_cyc

18
1. Команда WNDSTATE не фокусирует на окне, а сворачивает или разворачивает окно.
2. Если окно свернуто, его HWND командой wndfind определен не будет.

19
Общие вопросы / Re: Узнать PID окна
« on: October 11, 2018, 10:42:25 PM »
правильно:
Code: (clickermann) [Select]
EXECUTE("TASKKILL",STRCONCAT("/F /PID ", $pid ))
Да, так работает, спасибо.

Соблюдайте самый элементарный синтаксис, не надо так извращённо  насиловать интерпритатор кода.
Я неопытен в этих делах, и совсем не программист. Сидел с кликерманом 4.11 и пытался по справке писать скрипты.
Когда здесь мне сказали о HGETPID, только тогда увидел что в кликермане 4.13 появилась эта команда и несколько новых шаблонов.

Кроме того, задуманное вами не самое лучшее решение , для закрытия окна есть много простых и естественных способов.
Можно пару примеров?

20
Общие вопросы / Re: Узнать PID окна
« on: October 11, 2018, 07:31:29 PM »
Но задуманное это выполнить не помогло.
Во второй строке $pid не интерпретируется как число и окно не закрывается.
Кстати здесь на форуме $pid во второй строке подсвечивается синим, а в кликермане нет.
Code: (clickermann) [Select]
$pid=HGETPID(WNDFIND("NoxPlayer3")) //определение PID окна c заголовком NoxPlayer3 и занесение значения в $pid
EXECUTE("TASKKILL","/F /PID $pid ") //попытка завершить процесс
HALT



21
Общие вопросы / Re: Узнать PID окна
« on: October 11, 2018, 03:56:44 PM »
Спасибо!

22
Общие вопросы / Узнать PID окна
« on: October 11, 2018, 05:51:18 AM »
Можно ли с помощью clickermann как то узнать PID окна?
Для чего мне это нужно:
имеется три окна нокса, в скрипте кликермана надо закрыть только одно из них.
Если использовать для этого TASKKILL, то надо указывать PID, в конструкции типа
EXECUTE("TASKKILL","/F /PID код_процесса")

Pages: 1 [2]