Author Topic: Можно как-то получить список запущенных процессов в диспетчере задачь?  (Read 13770 times)

0 Members and 4 Guests are viewing this topic.

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Самый лучший вариант, это  - ДЛЛ  :D. Состряпай на делфи.

Или если с длл не знаком, дай код делфи, который будет определять наличие этого процесса, а я покажу как это будет выглядеть для длл.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Самый лучший вариант, это  - ДЛЛ  :D. Состряпай на делфи.

Или если с длл не знаком, дай код делфи, который будет определять наличие этого процесса, а я покажу как это будет выглядеть для длл.
Имя процесса нельзя просто впаивать в длл-ку, так как имя может изменяться и перемену кликер знает. Это не только длл-кликер общение нужно делать, но и кликер-длл. Чтобы кликер длл сообщал имя процесса, а длл кликеру его статус.
Я не ду... Потому и не бу...

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Code: [Select]
@echo off
Set Process=Clickermann
tasklist | Find /i "%Process%.exe" || (goto Else)
:THEN
ECHO process=1 > file.ini
Exit
:ELSE
ECHO process=0 > file.ini
Exit
« Last Edit: March 01, 2019, 10:59:11 PM by Космич »
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Ага... имя может меняться... А как кликерман узнает перемену?

 Вообще, в длл можно и текст передать, если сильно захотеть. В v4.14 такая возможность есть, хотя такой вариант смахивает на костыль  ;D . Там есть CODE(символ). Создаем массив каждого символа имени процесса, и передаем в длл. А там снова собираем в строку.
Я так пока не пробовал, но должно получиться  :D

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Можно как-то намутить длл-ку, которую кликер запускал бы и передавал бы ей имя процесса, а длл-ка проверяла бы статус процесса, передавала бы его кликеру назад и закрывалась бы? У меня уже башка не варит...
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Можно как-то намутить длл-ку, которую кликер запускал бы и передавал бы ей имя процесса, а длл-ка проверяла бы статус процесса, передавала бы его кликеру назад и закрывалась бы? У меня уже башка не варит...

Именно так. Все верно. Можно попробовать.  :)

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Можно в батнике перезаписывать строку с новым именем
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Можно в батнике перезаписывать строку с новым именем

Но упор весь в передаче параметра кликерману, а это в тваем случае - ини . Выше мы говорили о возможных косяках с ними.

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
Можно в батнике перезаписывать строку с новым именем
http://crapware.aidf.org/forum/index.php?topic=4520.msg30881#msg30881
Code: [Select]
@echo off
Set Process=Clickermann
tasklist | Find /i "%Process%.exe" || (goto Else)
:THEN
ECHO process=1 > file.ini
Exit
:ELSE
ECHO process=0 > file.ini
Exit
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Космич, пойми уже наконец )) Если каждую секунду на экране будет мелькать окно командной строки, то это ну совсем не вариант...))
К тому же опять же передача инфы через ини или какой-то другой файл...
Я не ду... Потому и не бу...

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
но ведь её можно скрыть  :D
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
У меня, например, есть длл-ка, для проверки активности нужного окна и в кликере это выглядит так:
Code: (clickermann) [Select]
CALL("handle_active_window.dll")
IF($hwnd_okna_igri ! $_return1)
   //============================================= Клиент игры не активен
else
   //============================================= Клиент игры активен
END_IF
Все работает очень быстро и надежно...
« Last Edit: March 01, 2019, 11:23:07 PM by Hito »
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
вот так будет выглядеть передача строки в длл:
Code: (clickermann) [Select]
$name = "process.exe"


//создаем массив
FOR($a=0, $a < 15)  //максимальная длина имени процесса
    $arr_code[$a] = 0
END_CYC


//пишем строку в массив (коды символов)
FOR($a=1, $a <= STRLEN ($name))
   $arr_code[$a-1] = code(STRCUT($name, $a, 1)))
END_CYC

CALL ("check_process.dll", STRLEN($name), $arr_code[0], $arr_code[1], $arr_code[2], $arr_code[3], $arr_code[4], $arr_code[5], $arr_code[6], $arr_code[7], $arr_code[8], $arr_code[9], $arr_code[10], $arr_code[11], $arr_code[12], $arr_code[13], $arr_code[14])


//в длл берем столько параметров, сколько указанно в первом параметре (длина строки), и создаем там саму строку имени процесса.
halt