Run命令执行程序使用了@SW_HIDE,为什么还是无法隐藏程序呢?
本帖最后由 dreamgg 于 2010-1-4 16:05 编辑Run命令执行程序显示标志为@SW_HIDE,为什么还是无法隐藏程序界面呢?
Run("c:\windows\temp\fix.exe","",@SW_HIDE)
有什么不对吗? 这条语句本身的语法是正确的,问题在于fix.exe,在程序设计之初,可能阻止了隐藏状态。 哦,原来如此,有没有其他的方法解决? $Run=Run("notepad.exe")
WinWait("无标题 - 记事本")
MsgBox(0,"","注意任务栏")
_SetParent("无标题 - 记事本", "Program Manager")
Func _SetParent($TitleP, $TitleC)
If WinExists($TitleP) Then
If WinExists($TitleC) Then
$HwndP = WinGetHandle($TitleP)
$HwndC = WinGetHandle($TitleC)
$user32 = DllOpen("user32.dll")
DllCall($user32, "str", "SetParent", "HWnd", $HwndP, "HWnd", $HwndC)
Return 1
Else
Return -1
EndIf
Else
Return -1
EndIf
EndFunc
把这个例子改一下就ok了 可能用vbs试下 非常感谢4楼朋友的帮助,按你的方法解决了我的问题。 如果改了之后,还是不行,那就是你调用的那个程序不支持隐藏窗口,我目前的办法是用shellexcute()调用那个程序的快捷方式,而不是直接调用他本身。因为可以把快捷方式的属性设置为最小化运行。侥幸的达到了隐藏的目的。希望各位高手能支招,让他在任务栏也不显示。那就太好了。(#NoTrayIcon在这里是没有用的。) FIX是个什么程序? 学习了,感谢分享 这个还是没有完全隐起来 是不是这样隐藏了就不能对此窗口操作了 学习了,感谢分享
页:
[1]