elexy 发表于 2012-7-25 17:21:02

【已解决】@sw_hide 在此句DOS代码上失效,请高手看看能否不弹黑窗

本帖最后由 elexy 于 2012-7-26 16:48 编辑

Run(@ComSpec & " /c " & 'ntsd -c q -pn explorer.exe', "", @SW_HIDE)

win7上面确实不弹黑窗,主要是xp上面会弹

xiehuahere 发表于 2012-7-26 09:15:06

本帖最后由 xiehuahere 于 2012-7-26 12:54 编辑

ntsd属于外部程序调用,会新开一个shell运行(手动试试就知道),而用Run命令中的@SW_HIDE只会隐藏当前运行命令的那个DOS窗口,新开的窗口隐藏不掉。
建议对于外部程序(非DOS内置命令)使用ShellExecute来执行:ShellExecute("NTSD", "-c q -pn explorer.exe", @SystemDir, "open", @SW_HIDE)ShellExecute不会先打开命令窗口,然后再从DOS窗口执行命令,而是直接执行外部程序的。所以@SW_HIDE就是直接针对这个外部程序运行窗口的。
当然,根据你的情况,考虑是否要使用:ShellExecuteWait

menfan1 发表于 2012-7-26 10:11:36

楼上正解哈。。

menfan1 发表于 2012-7-26 10:12:08

入门容易精通难,日积月累超AFAN------经典哈。。

xiehuahere 发表于 2012-7-26 12:55:53

回复 4# menfan1


    超 menfan 也可以,拿出你的大号来啊

elexy 发表于 2012-7-26 16:47:54

本帖最后由 elexy 于 2012-7-26 16:56 编辑

谢谢二楼,正解!!! win7没黑窗因为win7压根就没ntsd
页: [1]
查看完整版本: 【已解决】@sw_hide 在此句DOS代码上失效,请高手看看能否不弹黑窗