任务计划程序应用程序退出触发器

时间:2012-02-03 12:13:11

标签: windows security scheduled-tasks kiosk

我正在编写(win7)自助服务终端软件,并且我想安排一个“关闭”蝙蝠,以便在我的应用程序退出(崩溃,“黑客”或“正常退出”)时,在任务调度程序的特定用户帐户下运行。

如何创建应用程序已关闭触发器?

如果不可能,我的后备计划是在应用程序启动事件中启动某种监视器,但我想如果我的假设黑客可以关闭主要应用程序,以阻止他们关闭监视进程?

编辑:目前,该应用程序是在过度有限配置文件下加载的,其中“runas”指令模拟了管理员用户。如果可以触发任务计划,我还可以在应用程序关闭时从管理帐户运行此批处理文件。

3 个答案:

答案 0 :(得分:1)

也许您可以让自助服务终端应用程序创建并拥有全局互斥锁,并让监视器应用程序在互斥锁上等待。监视器应用程序可以是一项服务,因此您不必担心从您的进程启动它。当您的应用程序终止时,监视器将获得互斥锁的所有权,作为奖励,如果您的进程意外终止(即没有正确释放互斥锁),则监视应用程序将抛出AbandonedMutexException。所以你会知道它是正常关机,还是崩溃/杀戮。您可以在具有必要权限的帐户下运行监视器应用程序,以执行所需的任何关闭工作。

答案 1 :(得分:1)

我有个主意。

当您的应用程序启动时,您会在1分钟后创建关闭计划。在您的应用程序中,您可以设置一个定时器来定期延迟计划。一旦你的应用程序关闭,没有人延迟计划,所以机器关机。您还应该在正常退出时删除计划

答案 2 :(得分:0)

这种情况的长短不一,一旦应用程序进程终止,就无法继续在同一进程中执行代码。您的应用程序监控应用程序是可行的方法。如果出现问题,我会以某种方式提醒你。如果您将轮询间隔设置得足够短,那么在发送某种警报之前结束这两个应用程序似乎不太可行(尽管可能)。