vbscript使用wshshell.run和选项8,窗口仍然窃取焦点?

vbscript使用wshshell.run和选项8,窗口仍然窃取焦点?,vbscript,Vbscript,守则: WshShell.Run quote & "C:\Program Files\ImageMagick-6.7.0-Q16\composite.exe" & quote & " -dissolve 65 -geometry +65+65 -gravity southeast C:\watermark.png " & quote & file & quote & " " & quote & file & quot

守则:

WshShell.Run quote & "C:\Program Files\ImageMagick-6.7.0-Q16\composite.exe" & quote & " -dissolve 65 -geometry +65+65 -gravity southeast C:\watermark.png " & quote & file & quote & " " & quote & file & quote, 8, true
报价定义为Chr(34)

每一张经过处理的照片都会弹出一个新的控制台框,它会偷走我正在处理的任何东西的焦点。据我所知,我选择了选项8。我不想最小化窗口,这似乎是其他选项,只是让他们留在后台

我还尝试了以下可能性:

0=有效,但不表示该过程正在进行

4=允许我在另一个窗口中工作,比如键入电子邮件,只要它不在控制台框弹出的区域内,但控制台框仍在所有内容的顶部呈现

6和7=工作,但只显示任务栏中的最小化窗口。如果有必要,我将使用选项7


我做错了什么?或者这是预期的行为?有没有更好的方法来解决这个问题?

我相信这是预期的行为。当您运行wshShell.run时,您告诉程序窗口的初始状态应该是什么。这并不意味着窗口后面的程序不能决定更改状态

例如,如果您通过wshShell.Run打开记事本并传递一个8,它将协作并保持不集中。但是如果你打开Calc.exe,不管你告诉它使用什么状态,它都会窃取焦点(我只尝试了0-9)。想必composite.exe是不接受命令的程序之一


一个可能的(令人讨厌的)解决方法是不断强制当前窗口聚焦(例如,在IE中进行此操作需要低安全性)。

感谢您的回复!我可以研究使用ImageMagick的其他内置方法。