找回密码
 加入
搜索
查看: 2097|回复: 7

[系统综合] 如何让'显示桌面'按钮对指定Gui窗口失效~

  [复制链接]
发表于 2012-3-12 16:34:58 | 显示全部楼层 |阅读模式
如题~
试了好多方法均不成功~~
作为桌面窗口的子窗口也不成功,不知道是桌面句柄没找对还是怎么的.

谁了更好点儿的思路??
 楼主| 发表于 2012-3-12 17:10:29 | 显示全部楼层
算了,求人不如求自己了.
; vDesk.scf 的内容
;[Shell]
;Command=2
;IconFile=explorer.exe,3
;[Taskbar]
;Command=ToggleDesktop

ShellExecuteWait(@TempDir & "\vDesk.scf")
Sleep(2000)
Global Const $qWnd = _WinAPI_GetForegroundWindow()
$mWindow = GUICreate("呼叫帮助", 250, 200, -1, -1,$WS_POPUP, $WS_EX_MDICHILD + $WS_EX_LAYERED, $qWnd)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$ColseW = GUICreate("关闭", 250, 200, 220, 10, $WS_POPUP, $WS_EX_MDICHILD + $WS_EX_LAYERED, $mWindow)
GUICtrlCreateButton("测试",10,10,80,25)
GUISetState(@SW_SHOW, $ColseW)
发表于 2012-3-12 18:37:54 | 显示全部楼层
回复 2# tttbbb999
你这什么啊,运都不能运行,给你看看我的收藏吧
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
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()

运行后显示桌面试试
 楼主| 发表于 2012-3-12 18:56:24 | 显示全部楼层
我上面是代码片段~~

也能用~
发表于 2012-3-12 18:59:29 | 显示全部楼层
原来只发了部分啊,怎么不给大家分享分享呢
 楼主| 发表于 2012-3-12 19:01:06 | 显示全部楼层
能解释一下 "Dllcall..."那段是什么意思~~
还有能否让窗口自动排列位置(纵向)~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-3-12 19:11:47 | 显示全部楼层
就是设为桌面的子窗口吧,位置你看下GUICreate的帮助文件,加上坐标就就出来了
发表于 2012-3-12 21:50:09 | 显示全部楼层
winmove函数
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-10 18:34 , Processed in 0.077186 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表