【问题标题】:Open visible window from invisible BAT window on startup启动时从不可见的 BAT 窗口打开可见窗口
【发布时间】:2018-03-26 21:20:15
【问题描述】:

我正在编写这个小程序,防止在用户不知情的情况下将计划任务添加到系统中https://github.com/DVLP/Unscheduler

关于程序如何工作的一些背景知识

  1. install.bat 创建正在记录的当前计划任务的快照,并且正在添加新任务 check.bat 以在每次登录时运行
  2. 每次 check.bat 运行时,它都会获取所有计划任务的列表并将其与快照进行比较
  3. 当任务不在快照中时,它会显示在列表中
  4. 现在用户可以按数字删除任何新条目
  5. 高兴时,用户按“S”保存新快照

就是这样

在我的电脑上一切正常,但在每次登录的步骤 2 中,即使没有条目,也会出现一个窗口。

最后才是真正的问题:

我如何首先以隐藏的方式运行它,只有在检测到新条目时才显示窗口(或重新运行它可见)?

当前窗口要么 - 作为系统运行 - 始终不可见 或以用户身份运行 - 始终可见

我知道“runas”,但这需要提示输入用户密码。现在一切正常,无需提示输入密码,因此即使在 install.bat 期间提示一次也不是一种选择。

【问题讨论】:

    标签: windows batch-file command-line scheduled-tasks executable


    【解决方案1】:

    通过创建两个任务找到了解决方法

    -FirstTask 在每次登录时都作为系统不可见

    -SecondTask 是作为用户任务创建的,50 年内只运行一次(从不,基本上只有手动触发)

    -当第一个任务检测到新条目时,它使用schtasks /run /ts SecondTask 运行第二个任务,并带有允许用户交互的可见窗口

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      相关资源
      最近更新 更多