Что нового

[Процессы] Проверка наличия процесса в памяти по известному пути к программе

LuxVeritatis

Знающий
Сообщения
7
Репутация
5
Нужно периодически проверять запущена ли программа или нет, если нет запустить, сделать пару кликов мышью по некоторым кнопкам и через некоторое время снова проверить. Последние 2 момента я догадываюсь как можно осуществить - функции Run и ControlClick
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
623
LuxVeritatis
и первое просто реализуется - ProccessExists. и главное это не путь до программы, а название процесса
 
Автор
L

LuxVeritatis

Знающий
Сообщения
7
Репутация
5
Хорошо, тогда как сделать, чтобы например раз в 10 минут проверялось наличие данного процесса. Первая мысль бесконечный цикл с функции Sleep(600000), но может быть есть что-нибудь вроде таймера ну или привязать к системному времени как-нибудь.
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
370
Код:
While 1
	If @MIN = '05' And Not ProcessExists('notepad.exe') Then
		Run('notepad.exe')
		Sleep(60000) ; сон на минуту
	EndIf
	Sleep(5000)
WEnd

В 5 минут каждого часа (10:05, 11:05 и т.д.) проверяет, запущен ли блокнот и если нет - то запуск.
Или так - проверяет наличие блокнота в минуты кратные 10
Код:
While 1
	Switch @MIN
		Case '00', '10', '20', '30', '40', '50'
			If Not ProcessExists('notepad.exe') Then
				Run('notepad.exe')
				Sleep(60000)
			EndIf
	EndSwitch
	Sleep(5000)
WEnd
 
Верх