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

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
А есть способ - получить список запущенных окон, а не процессов?
Я не ду... Потому и не бу...


dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
А есть способ - получить список запущенных окон, а не процессов?

Можно попробовать вот так. Конечно, много лишних движений, может есть вариант попроще, но все же он работает:
Code: (clickermann) [Select]
for($i=32, $i< 128)     //сунем в массив все hwnd окон по порядку с латинскими буквами и символами
   wndfindarr($arr, char($i))
   IF(arrsize($arr) > 0)
      ARRCONCAT ($arr_win, $arr)
   END_IF
end_cyc
for($i=1040, $i< 1104)       //добавляем все с кирилицей (RU)
   wndfindarr($arr, char($i))
   IF(arrsize($arr) > 0)
      ARRCONCAT ($arr_win, $arr)
   END_IF
end_cyc
ARRSORT ($arr_win, 0) // сортируем

$all_win[0] = $arr_win[1]
for($a=2,$a<arrsize($arr_win)) //убираем повторяющиеся hwnd 
   IF($arr_win[$a] ! $all_win[arrsize($all_win)-1])
      arrpush($all_win, $arr_win[$a])
   END_IF   
end_cyc


for($i=0, $i< arrsize($all_win)) //смотрим результат
   print(HGETTEXT($all_win[$i]))
end_cyc


HALT

v.4.14.003b


В логе:
Code: (текст) [Select]
22:19:10 Clickermann v4.14 x32
22:19:11 Program Manager
22:19:11 Результаты поиска - Opera
22:19:11 Справка Clickermann
22:19:11 Clickermann
22:19:11 Редактор - C:\Users\ed\Desktop\Clickermann v4.14 x32\
22:19:11 Лог
22:19:11 Калькулятор

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
В общем получение запущенных процессов намутил через dll и весь процесс занимает где-то от 10 до 25 мс и без танцев со всякими BOM-ами...
Думаю, что то же самое можно намутить с окнами.
Я не ду... Потому и не бу...

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Забыл сказать... dramster, спасибо! Всегда откликаешься...
Я не ду... Потому и не бу...