如何使一个指定的窗口永远在最下层?
这个为题的情景是这样的,先建立了一个背景界面(全屏),然后通过 RunWait 运行 Ghost ,此时如果使用鼠标点击背景界面,Ghost 的窗口就会被背景窗口覆盖,如何设置这个背景窗口,使其永远在新窗口的下面?好像AU3没有设置窗口在最下层的命令?
谢谢。 AU3没有 但是API可以 自己搜索一下吧 有一个窗口一直在最上层的帖子
再去MSDN上看看相关的函数解释 自己就能搞定了
就是这个api函数SetWindowPos
[ 本帖最后由 xrbenbeba 于 2009-3-22 12:08 编辑 ]
Func _SetParent($TitleP, $TitleC)
If WinExists($TitleP) Then
If WinExists($TitleC) Then
$HwndP = WinGetHandle($TitleP)
$HwndC = WinGetHandle($TitleC)
DllCall("user32.dll", "str", "SetParent", "HWnd", $HwndP, "HWnd", $HwndC)
Return 1
Else
Return -1
EndIf
Else
Return -1
EndIf
EndFunc
使用方法
_SetParent(你的句柄, "Program Manager")
谢谢楼上的两位,自己在消化学习下。
回复 3# ceoguang 的帖子
SetParent这个函数的返回值是hwnd类型吧,不过改为别的貌似也无大碍~也不必加If WinExists()判断,因为SetParent自己会判断吧~?
[ 本帖最后由 pusofalse 于 2009-3-22 18:53 编辑 ] 嗯 原理就是把桌面设置成程序的父窗口 那要如何还原成原来的样子呢
页:
[1]