找回密码
 加入
搜索
查看: 7845|回复: 8

[GUI管理] 如何將已隱藏的窗口(或最小化) 在托盤顯示圖示

  [复制链接]
发表于 2012-7-23 21:29:16 | 显示全部楼层 |阅读模式
本帖最后由 tcpuuu 于 2012-7-28 12:50 编辑

我開啟了一個 .XLS     並將其隱藏
WinSetState ( "Microsoft Excel","",@SW_HIDE)

如何將這個隱藏的窗口 在托盤顯示圖示
发表于 2012-7-25 12:56:52 | 显示全部楼层
你的意思是,实现“最小化到托盘”这种效果?
发表于 2012-7-25 13:19:46 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-7-25 13:22 编辑

回复 1# tcpuuu

看这个:
    如何实现窗口最小化后隐藏到托盘,双击(或单击)托盘图标后还原窗口?

这个其实是用AutoIt程序本身的托盘图标来显示的,用TraySetIcon()可以动态改变图标Icon显示。
 楼主| 发表于 2012-7-25 15:24:14 | 显示全部楼层
本帖最后由 tcpuuu 于 2012-7-25 15:46 编辑

我不是要最小化  GUI窗口  到托盘
是要最小化 其他已開啟的檔案  讓已最小化的檔案 在托盘顯示

如圖 已最小化的 新增文字文件.txt 檔   讓它顯示在托盘   不要顯示在工作列

本帖子中包含更多资源

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

×
发表于 2012-7-25 16:40:14 | 显示全部楼层
回复 4# tcpuuu


    童鞋,方法是一样的。
   不管这个GUI窗口是你自己创建的还是别的应用的,都可以通过WinSetState隐藏掉(状态栏不显示),然后在系统托盘显示图标就可以了。
   上面的链接你好好看看吧
 楼主| 发表于 2012-7-25 22:57:45 | 显示全部楼层
WinSetState ( "Microsoft Excel","",@SW_HIDE)
Opt("TrayIconHide", 0)
---------------------------------------
這樣  Excel檔  變不見    沒有顯示在托盘阿?
发表于 2012-7-26 09:41:35 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-7-26 09:43 编辑

回复 6# tcpuuu


    你要知道,这种方法是用AutoIt本身的托盘图标来显示的。Opt("TrayIconHide", 0) 后脚本不能退出,否则图标也就没了。
   你要在后面加个死循环。设置个热键用于退出脚本。
 楼主| 发表于 2012-7-28 12:41:08 | 显示全部楼层
本帖最后由 tcpuuu 于 2012-7-28 12:49 编辑
$gu_Form1 = GUICreate("EXCEL",300,300,-1,-1)
$BUT1 = GUICtrlCreateButton("計算",1,260,42,22,0x01)
;=============================================================================
_EXL()
Func _EXL()  
        GUISetState(@SW_SHOW)
        AdlibRegister("Refesh",1000)
        Local $nMsg
        While 1
        $nMsg = GUIGetMsg()
           Switch $nMsg
                    Case -3
                        Exit
                    Case $BUT1
               msgbox(0,"對話框標題","循環中 按下我,還是會有按鈕事件 (多線程)") 
            EndSwitch
        WEnd
EndFunc;==>_EXL
;=============================================================================
Func Refesh() 

msgbox(0,"","每秒循環1次")

if 這個窗口標題("Microsoft Excel")的窗口,被最小化 then
最小化到托盤
endif

if 這個托盤圖示被點擊 then
還原窗口
endif

EndFunc;==>_EXL
-------------------------------------------------------------------------------------
我是要 實現以上這樣的 效果 可以做到嗎?
順便 如何更換托盤圖示?
发表于 2012-7-28 17:59:01 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-7-28 18:01 编辑

回复 9# tcpuuu


    判断窗口是否是最小化状态 —— WinGetState
    最小化到托盘 —— WinSetState隐藏窗口 + Opt("TrayIconHide", 0) 显示托盘图标
   
   托盘图标被点击 —— TrayGetMsg
     还原窗口 —— WinSetState显示窗口(若还是最小化状态,需要同时加上restore)
  
   更改托盘图示 见3# 或者直接在编译的时候通过选项指定icon即可。
  
要用到的函数你都知道了,然后就是看帮助了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 01:27 , Processed in 0.091996 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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