找回密码
 加入
搜索
查看: 8414|回复: 16

[系统综合] 缩小到右下角后,再次如何让它在最大化 已解决

 火.. [复制链接]
发表于 2011-5-12 17:20:42 | 显示全部楼层 |阅读模式
本帖最后由 zzm0163 于 2011-5-13 16:38 编辑

请教个问题,当程序运行后,在任务管理器中有相应的进程,点关闭是缩小到右下角的,那么再次运行的时候会报错,因为进程已经占用了,如何让它再次运行后直接跳到窗口模式呢 ?
 楼主| 发表于 2011-5-12 18:11:08 | 显示全部楼层
请教下,高手给指点下
发表于 2011-5-12 19:37:28 | 显示全部楼层
定义traysetonevent执行还原的函数
 楼主| 发表于 2011-5-12 19:57:27 | 显示全部楼层
高手具体点
发表于 2011-5-13 03:11:39 | 显示全部楼层
本帖最后由 netegg 于 2011-5-13 03:21 编辑
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1) ;默认菜单项目 (脚本暂停中/退出)(Script Paused/Exit) 将不会显示.

GUICreate("My GUI") ; 创建一个居中显示的 GUI 窗口
GUISetState(@SW_SHOW)
TraySetOnEvent($TRAY_EVENT_PRIMARYDOWN, "SpecialEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYDOWN, "SpecialEvent")
TraySetState()

While 1
        Sleep(10) ; 空闲循环
WEnd

Exit
Func SpecialEvent()
        $state = WinGetState("My GUI", "")
        Select
                Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOWN
                        If $state = 7 Then
                                GUISetState(@SW_HIDE)
                        Else
                                If $state = 5 Then
                                        GUISetState(@SW_SHOW)
                                EndIf
                        EndIf
                Case @TRAY_ID = $TRAY_EVENT_SECONDARYDOWN
                        ExitEvent()
                        
        EndSelect
EndFunc   ;==>SpecialEvent


Func ExitEvent()
        Exit
EndFunc   ;==>ExitEvent
写完了忽然觉得好像和楼主的问题有点答非所问,大概意思吧
发表于 2011-5-13 05:30:04 | 显示全部楼层
楼主贴出你的代码来看看!
发表于 2011-5-13 09:49:38 | 显示全部楼层
没有代码怎么帮到你呀?
 楼主| 发表于 2011-5-13 11:32:52 | 显示全部楼层
感谢各位帮忙。怎么说呢。我也说不清楚 。举个例子吧。

桌面上有QQ音乐快捷方式,点击QQ音乐的关闭按钮后,是缩到右下角的,但再次点击桌面上的快捷方式,又会弹到QQ音乐的窗口状态。我就想要这种效果。
问题是我现在的这个文件,运行第一次正常,点关闭也是缩到右下角,但是再次点击桌面快捷方式,就不会弹到窗口模式。

请各位在帮帮忙  谢谢
发表于 2011-5-13 11:33:22 | 显示全部楼层
很是厉害的啊
发表于 2011-5-13 11:33:26 | 显示全部楼层
很是厉害的啊
发表于 2011-5-13 11:41:06 | 显示全部楼层
回复 10# zzm0163
你这哪只涉及托盘图标的事呀,还要分析你点的那个图标到底是什么执行程序,进程是否已经存在,托盘图标是否有遗留。。。。。。
发表于 2011-5-13 12:09:23 | 显示全部楼层
是什么代码啊
发表于 2011-5-13 12:22:53 | 显示全部楼层
这还不简单吗?程序在执行后,首先先检测进程中是否已存在,如果存在,则还原存在的进程的窗口,然后退出自身,否则,就正常运行呗。这样运行快捷方式后,打开已有窗口的效果也就有了啊
 楼主| 发表于 2011-5-13 16:06:47 | 显示全部楼层
楼上的大哥可以以QQ为例写下代码吗?我连初级都算不上。只能照着代码扒,那样还能明白点  这个问题困饶我好长时间了。谢谢啊
发表于 2011-5-13 16:10:50 | 显示全部楼层
回复 15# 飘云
托盘和窗口是两码事,有的程序进程已经结束了,托盘还在,是还原还是重建
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-1 06:48 , Processed in 0.085559 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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