2010-01-25 2 views
0

На самом деле это то, что я хочу делать;Можем ли мы использовать таймер для себя?

Когда появится условие, моя программа закроется, и через пять минут она снова откроется.

Возможно ли использовать только один .exe - используя любое свойство ОС?

Я делаю это с двумя .exe

if (close_condition){ 
    //call secondary program 
    system ("secondary.exe"); 
    return (0); 
} 

и моя вторичная программа просто ждет в течение пяти минут и требует первичного.

main(){ 
    Sleep (300000)//sleep for five minutes; 
    system ("primary.exe"); 
    return (0); 
} 

Я хочу сделать это без дополнительной программы.

(жаль бедные английского)

ответ

3

Вы можете сделать это с помощью одного приложения, которое просто имеет другое поведение, если задан переключатель (скажем myapp.exe /startme).

system() - синхронный вызов, кстати, он возвращается только после завершения выполнения команды. В win32 CreateProcess() - это то, что вы ищете.

Вы также можете просто следовать указаниям Jays о том, чтобы позволить ОС планировать свою работу, используя NetScheduleJobAdd().

Но, в зависимости от того, чего вы пытаетесь достичь, лучшим решением может быть просто спрятать приложение в течение 5 минут.

+0

Я также собирался сказать, что: скрыть приложение в течение 5 минут и повторно активировать все связанные переменные и начать все заново. – Donotalo

+0

скрывать приложение не для меня, но спасибо, я решил его с помощью планировщика задач – H2O

1

Я думаю, вы должны использовать планировщик задач системы для планирования повторного запуска, который в некотором смысле использует другое приложение, но один, который является частью операционной системы ,

Я уверен, что это можно сделать, но, честно говоря, я думаю, вы должны просто придерживаться своей текущей настройки.

Смежные вопросы