【问题标题】:How to programmatically schedule a task to run when shutting down Windows?如何以编程方式安排任务在关闭 Windows 时运行?
【发布时间】:2011-04-23 22:42:39
【问题描述】:

这与How to schedule a task to run when shutting down windows 几乎相同,除了我需要以编程方式 进行。另外,我需要保证当脚本运行时,没有应用程序可以再取消关闭

这可能吗?

谢谢。

更新,带一点上下文:我的公司开发了一种防病毒程序,旨在保护网上银行客户。自然,该程序是恶意软件的常见目标,因此它需要保护自己不被卸载。它做的第一件事就是将自己注入到一个系统进程中,这样它就不能在不带整个系统的情况下被杀死。

卸载此类程序的典型方法之一是将其标记为在下次关闭时将其删除,因此我们的应用会主动监控处理这些延迟删除的注册表项并将其删除。

我最近的任务是为我们的应用程序编写一个卸载程序 - 哦,讽刺的是。当然,卸载程序必须删除文件,因此它必须解决我们自己构建的所有内容。它必须与旧版本兼容,因此不能更改保护机制。

【问题讨论】:

  • 老实说,您与 windows 的设计方式背道而驰。 Windows(尤其是从 Windows 7 开始)希望每个应用程序脚本和服务在收到关闭消息时立即或几乎立即关闭。对于 Windows 7,如果在关机时运行的时间甚至超过一两秒,用户就有机会强行杀死它。我不确定您要做什么,但让任务在关机时运行可能不是这样做的方法。
  • Windows 7 似乎在关机期间执行了一些更新任务,尽管到那时操作系统环境可能已经很远了。你想用你的脚本做什么样的任务?
  • @Robert, Nick:在这个问题上添加了一些上下文。感谢您的宝贵时间。

标签: c++ c windows group-policy


【解决方案1】:

由于您需要支持无法添加后门以供将来使用的旧版本,因此您可能必须将机器启动到备用操作系统,这样您的文件才不会在启动时加载,然后您可以安全地删除它们.考虑在卸载过程中加入免费的第三方 DOS 克隆,甚至是小型 Linux 版本。

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2016-03-05
    • 2018-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多