如何检查当前windows命令提示符是隐藏使用vbscript或命令行



我想检测当前运行的bat脚本是否被调用者隐藏,这意味着(nCmdShow=0)例如。

有一个windows API来获取这个信息,GetStartupInfo,但是它不能被命令提示符或VBScript调用(没有第三方库)。

下面的脚本可以检索启动信息,但问题是这只能在WinXp下工作,它不能在Win7下工作。我正在寻找一种方法可以支持跨winxp - win8。 Dim wmiService Set wmiService = GetObject("winmgmts:\.rootcimv2") Dim startupInfo Set startupInfo = wmiService.Get("Win32_ProcessStartup")

下面的代码在xp下可以正常工作,但在win7下不能工作,它显示了所有的启动信息

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ProcessStartup",,48)
For Each objItem in colItems
    Wscript.Echo "CreateFlags: " & objItem.CreateFlags
    Wscript.Echo "EnvironmentVariables: " & objItem.EnvironmentVariables
    Wscript.Echo "ErrorMode: " & objItem.ErrorMode
    Wscript.Echo "FillAttribute: " & objItem.FillAttribute
    Wscript.Echo "PriorityClass: " & objItem.PriorityClass
    Wscript.Echo "ShowWindow: " & objItem.ShowWindow
    Wscript.Echo "Title: " & objItem.Title
    Wscript.Echo "WinstationDesktop: " & objItem.WinstationDesktop
    Wscript.Echo "X: " & objItem.X
    Wscript.Echo "XCountChars: " & objItem.XCountChars
    Wscript.Echo "XSize: " & objItem.XSize
    Wscript.Echo "Y: " & objItem.Y
    Wscript.Echo "YCountChars: " & objItem.YCountChars
    Wscript.Echo "YSize: " & objItem.YSize
Next

可以通过VBS或批处理方式调用API。

appactivate在多个Internet explorer实例之间

由于名称冲突,给出的示例在7及以后不能工作。将sendmail重命名为其他值

如果有限用户需要手动添加注册表项到hkcusoftwareclasses.

最新更新