Мне нужно написать приложение, которое будет установлено внутри Windows7 O / S. Задача этого приложения — перезапускать другое приложение в заранее настроенное время каждый день. Можете ли вы сказать мне, какие API мне нужно использовать для этой цели? Нужно ли мне зависеть от планировщика Windows для этой задачи? Можно ли настроить планировщик из кода win32?
Есть ли какое-нибудь приложение, которое уже работает на рынке?
Спасибо,
Джон.
Вы можете сделать это из командного файла.
Сначала подготовьте сценарий, например, «restart.bat», чтобы убить процесс и перезапустить его, убийство может быть сделано Taskkill, перезапуск должен быть сделан Начните не блокировать текущий скрипт.
Затем создайте установочный пакетный файл, чтобы добавить «restart.bat» в диспетчер задач
Я хотел бы использовать планировщик заданий, который хорошо документирован и имеет много примеров.
Взгляни на Пример запуска по времени:
Этот пример C ++ показывает, как создать задачу, которая запланирована на
выполнить Блокнот в указанное время. Задача содержит основанный на времени
триггер, который определяет начальную границу и конечную границу для
задача. Задача также содержит действие, которое определяет задачу для
выполнить блокнот. Задача регистрируется с помощью интерактивного входа
тип, что означает, что задача выполняется в контексте безопасности пользователя
кто запускает приложение Задача также содержит настройки простоя, которые
определяет, как планировщик задач выполняет задачи, когда компьютер находится в
состояние холостого хода.
Вы можете получить (или указать в виде строки) PID из EnumProcesses, убить процесс, используя TerminateProcess(), а затем вы можете создать процесс OpenProcess() функция из Win32.
Другой подход заключается в том, что вы также можете использовать ShellExecute() или же система выполнять команды командной строки непосредственно из программы Visual C ++ и передавать команду как:
taskkill /F /T /IM MyProcess.exe
позже просто откройте приложение, используя ShellExecute
или же system
,