如何使指定窗口始终处于最底层?
如题。 .[ 本帖最后由 新手上路 于 2008-7-15 09:54 编辑 ] API。 呵呵,本人新手,不懂怎么用 API 这么高级的呀
这个行不行?
http://www.autoitx.com/forum.php?mod=viewthread&tid=1410 不是这样的。我的要求是,假设有 A、B、C 三个窗口,只有 B、C 可以成为顶层窗口,即使用鼠标激活 A 窗口,也不会浮到顶层。 请 sanhen 大侠再指点一下啊$Parent = GUICreate("")
$Form1 = GUICreate("InputPass", 109, 13, -1, -1, 0x80000000, 0, $Parent);弹出试窗口并且不在任务拦显示
$Info = WinGetPos($Form1)
$PasswordEdit = GUICtrlCreateInput("", 0, 0, 89, 15, 0x0020 + 0x0080, 0x00020000);密码输入框
$ButtonOk = GUICtrlCreateButton("ok", 90, 0, 20, 14, 0)
$Width = Width_() / 2 - ($Info / 2);设置左侧在屏幕中间
DllCall("user32.dll", "long", "SetWindowPos", "long", $Form1, "long", -1, "long", $Width, "long", 0, "long", 0, "long", 0, "long", 1);置顶
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $ButtonOk
Exit
EndSelect
WEnd
;--------------------------------------返回分辨率宽度---------------------------
Func Width_()
Local $colItems = "", $Output = ""
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", 0x10 + 0x20)
For $objItem In $colItems
$Output = $objItem.ScreenWidth
Next
Return $Output
EndFunc ;==>Width_ 晕看错标题 还以为是最顶层呢 #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Example1()
; example 1
Func Example1()
Local $msg,$Child,$hwnd
$Child=GUICreate("My GUI")
$hwnd=WinGetHandle("Program Manager","")
DllCall("user32.dll","hwnd","SetParent","hwnd",$Child,"hwnd",$hwnd)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
GUIDelete()
EndFunc ;==>Example1
:face (29): 收下了!! 呵呵,不错,学习一下。。 学习一下能看懂一点 看不懂9楼代码的意思啊,谁能解释一下.学习学习 完全没看明白。 {:face (249):}
页:
[1]
2