3

我正在编写(win7)信息亭软件,我想安排一个“关闭”蝙蝠在我的应用程序退出(崩溃、“黑客”或正常退出)时在任务调度程序的特定用户帐户下运行。

但是,如何创建应用程序关闭触发器?

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

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

4

3 回答 3

1

我有个主意。

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

于 2012-02-15T02:27:07.223 回答
1

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

于 2012-02-15T00:28:28.197 回答
0

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

于 2012-02-13T22:35:05.923 回答