阻止 taskeng.exe 窗口弹出

Bla*_*laM 19 windows-7 popups focus task-scheduler

我在 Windows 7 环境中安排了几个进程,主要用于备份,这些进程应该在后台运行。

然而,任务调度程序不是只是在后台安静地执行它的工作,而是弹出一个黑色的(类似控制台的)“taskeng.exe”窗口。该窗口位于所有其他窗口的前面。幸运的是,它没有窃取我的键盘焦点,但它挡住了所有东西的视线。

任务程序

有没有办法避免这个窗口 - 或者至少让它出现在背景中而不窃取我的视觉焦点?

应用赏金后编辑的示例:

这是我最后一次尝试使用 WScript 内容(在名为 RunSignatured.bat 的文件中):

Set Shell = CreateObject("WScript.Shell")
Shell.Run C:\Users\danh\Bin\signatured.bat, 0, False
Run Code Online (Sandbox Code Playgroud)

signatured.bat 文件包含:

cd C:\Users\danh\bin
"C:\Program Files\Java\jre7\bin\java.exe" Signature
Run Code Online (Sandbox Code Playgroud)

Ƭᴇc*_*007 9

更具体地说是 Daniel R Hicks 的赏金/示例,但我认为它仍然可以应用于原始问题:

如果它是从 Task Scheduler 启动的批处理文件,那么除了启动最小化/不可见的批处理文件之外,您可能还需要修改批处理文件本身以不可见地运行它的命令。

所以改变:

cd C:\Users\danh\bin
"C:\Program Files\Java\jre7\bin\java.exe" Signature
Run Code Online (Sandbox Code Playgroud)

类似于:

cd C:\Users\danh\bin
start /b "C:\Program Files\Java\jre7\bin\java.exe" Signature
Run Code Online (Sandbox Code Playgroud)

或者可能完全消除批处理文件,只需从您直接从任务计划程序启动的 (VBS) 脚本中执行所有操作。

就像是:

Set Shell = CreateObject("WScript.Shell")
Shell.CurrentDirectory = "C:\Users\danh\bin" 
Shell.Run "C:\Program Files\Java\jre7\bin\java.exe Signature", 0, False
Run Code Online (Sandbox Code Playgroud)

由 DanH 实施的解决方案,响应 techie007 的建议,满足赏金:

一个名为 RunSignatured.vbs 的文件,包含:

Set Shell = CreateObject("WScript.Shell")
Shell.CurrentDirectory = "C:\Users\danh\bin" 
Shell.Run "java.exe Signature", 0, False
Run Code Online (Sandbox Code Playgroud)

请注意,上述内容依赖于路径中的 java.exe,因为在指定完整路径时,该技术不适用于 Program Files 中的空白。毫无疑问,有其他方法可以解决这个问题,但这需要其他人去发现。

然后RunSignature.vbs在任务计划程序的“操作”中添加为“程序/脚本”名称。


Dav*_*ett 4

您可以以其他用户身份运行计划任务,这样它们就不会与您的普通帐户的交互式桌面进行交互。这似乎在我管理的 Windows2003 服务器上确实有效。只需要小心,确保设置文件权限和其他身份验证详细信息,以便任务在作为不同用户时可以访问所需的内容。

编辑:或者,您可以使用一个小脚本,使用 WScript.Shell.Run 和“最小化,不更改焦点”选项来运行它,而不是直接运行控制台工具:

' sample script: c:\scripts\test.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "c:\location\of\tool\utility.exe", 7
Run Code Online (Sandbox Code Playgroud)

然后使用任务计划程序运行它(命令行类似于wscript c:\scripts\test.vbs),而不是直接调用该工具。您也应该能够以这种方式调用批处理文件和其他脚本。还有一个“完全隐藏”选项(将上面的 7 替换为 0),尽管在任何一种情况下,隐藏/最小化都仅控制初始窗口:如果该工具自行打开更多窗口,那么它们仍然可能像以前一样窃取焦点。

有关运行方法选项的完整列表,请参阅http://msdn.microsoft.com/en-us/library/d5fk67ky%28VS.85%29.aspx 。