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

0 Members and 1 Guest are viewing this topic.

Hito

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

Космич

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

Hito

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

Космич

  • Активный участник
  • ***
  • Posts: 265
    • View Profile
wmic process get name >file.txt
Это что такое...?
Создаёшь батник и получаешь через текстовик имена процессов

https://ab57.ru/cmdlist/wmic.html
«Иногда ты ваяешь до тех пор, пока до тебя не дойдёт, что именно ты делаешь.»

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
wmic process get name >file.txt
Это что такое...?
Командная строка. Сохраняет в файл.
Code: (clickermann) [Select]
EXECUTE("cmd.exe", "/C wmic process get name >D:\Processes.txt")

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
А я вспомнил что в автоите чтото подобное видел  :)

Глянул в справку - ProcessList()

Пока вы тут уже все проще придумали, я проверил:

Code: (clickermann) [Select]
Example()

Func Example()
      $aProcessList = ProcessList()

      ConsoleWrite("количество процессов - " & ($aProcessList[0][0]-1) / 2  & @CRLF)

      For $i = 1 To $aProcessList[0][0] Step 2
ConsoleWrite($aProcessList[$i][0] & " - " & $aProcessList[$i][1] & @CRLF)
      Next

EndFunc
Exit

Тоже работает... Вроде правильно. Но это так... конечно же проще через командную строку  :D


Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Каждую секунду запускать CMD... Это попа...
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
А можно как-то проверить наличие ОДНОГО процесса? Скажем - process.exe
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Так а WNDFIND (title, [begin])  не подойдет? Если нету такого заголовок, он возвратит 0 . Или у этого процесса нет заголовка и окна?

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Или у этого процесса нет заголовка и окна?
Окно есть, но заголовка у окна нет. Окно даже диспетчер окон кликера не видит...
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile


Это окно нужно как-то ловить...
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
НУ, у меня идей больше нет.

 Могу состряпать ехе-шку на автоите, если дашь имя этого процесса. Будет в ини передавать параметр присутствия его. Делов на 2 минуты... Отрабатывать будет за ~милисекунду.

Hito

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

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Попробуй передавать данные напрямую кликеру. SENDMESSAGE-ам передавай, GETMESSAGE-ам принимай. Быстроо, без посторонних файлов и касяков с ними.

Незнаю как это в делфи будет выглядеть, но автоитом я отсылал так параметры, вроде не сложно, зато четко и быстро.
« Last Edit: March 01, 2019, 10:38:56 PM by dramster »

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Попробуй передавать данные напрямую кликеру. SENDMESSAGE-ам передавай, GETMESSAGE-ам принимай. Быстроо, без посторонних файлов и касяков с ними.
Это все конечно хорошо, но у меня уже столько костылей к проекту, что плюсовать к ним не особо хочется...
У меня в 17-ти виртуалках контролируется куча окон, их запуск, ошибки, активность окон - обо всем писать замучаюсь. Костылей уже куча понаделана...
Я не ду... Потому и не бу...