开发应用程序以重新启动另一个应用

时间:2014-09-25 10:49:49

标签: c++ winapi visual-c++ win32-process

我需要编写一个将安装在windows7嵌入式企业O / S中的应用程序。此应用程序作业是每天在预先配置的时间重新启动另一个应用程序。您能否告诉我,我需要为此目的提供哪些API?我需要依赖Windows调度程序来完成这项任务吗?是否可以从win32代码配置调度程序?

市场上是否有任何应用程序已经存在?

谢谢, 约翰。

3 个答案:

答案 0 :(得分:3)

我会使用一个很好的文档记录的任务计划程序,并有很多例子。 看看Time Trigger Example

  

此C ++示例显示如何创建计划的任务   在指定的时间执行记事本。该任务包含基于时间的   触发器,指定的起始边界和结束边界   任务。该任务还包含指定任务的操作   执行记事本。使用交互式登录注册任务   type,表示任务在用户的安全上下文下运行   谁运行该应用程序。该任务还包含空闲设置   指定任务计划程序在计算机所在的位置执行任务的方式   闲置状况。

答案 1 :(得分:2)

您可以从批处理文件中执行此操作。

首先,准备一个脚本,例如" restart.bat"要终止并重新启动它,可以通过taskkill执行查杀,重新启动应该由start完成,以阻止当前脚本。

然后创建安装批处理文件以添加" restart.bat"到task scheduler

答案 2 :(得分:2)

您可以从EnumProcesses获取(或指定为字符串)PID,使用TerminateProcess()终止进程,然后您可以通过OpenProcess()函数创建进程的Win32。

另一种方法是,您还可以使用ShellExecute()或system直接从Visual C ++程序执行命令行命令,并将命令传递为:

taskkill /F /T /IM MyProcess.exe

稍后只需使用ShellExecutesystem打开该应用程序。