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

[系统综合] 〖求助〗au3 如果程序运行双击程序还原窗口

  [复制链接]
发表于 2016-7-7 20:33:34 | 显示全部楼层 |阅读模式
本帖最后由 mshuking 于 2016-7-7 20:35 编辑

〖求助〗au3 双击程序如果在运行 还原窗口,如果没有运行 直接运行
$version = @ScriptName
If WinExists($version) Then
        ;还原窗口如何写
EndIf
AutoItWinSetTitle($version)
$Form1 = GUICreate("Form1", 623, 442, 192, 124)
GUISetState(@SW_SHOW)
Opt("TrayIconHide", 1)
Opt("TrayMenuMode",1)
Opt("TrayOnEventMode",1)
TraySetOnEvent($TRAY_EVENT_PRIMARYUP,"tray")
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $GUI_EVENT_MINIMIZE
                        GUISetState(@SW_HIDE, $Form1)
                        Opt("TrayIconHide", 0)
        EndSwitch
WEnd

Func tray()
        Opt("TrayIconHide", 1)
        GUISetState(@SW_SHOW, $Form1)
        WinActivate($Form1)
EndFunc
发表于 2016-7-7 23:03:04 | 显示全部楼层
WinSetState,flag取 @SW_RESTORE,即可还原窗口
 楼主| 发表于 2016-7-10 00:20:44 | 显示全部楼层
回复 2# alwaystick


  感谢
 楼主| 发表于 2016-7-10 00:22:28 | 显示全部楼层
本帖最后由 mshuking 于 2016-7-17 23:13 编辑

回复 2# alwaystick

这样对么
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_icon=C:\Windows\SYSTEM32\SHELL32.dll|-15
#PRE_UseX64=n
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <Misc.au3>
#include <Constants.au3> 
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$version = @ScriptName
;If WinExists($version) Then
If _Singleton($version,1)=0 Then
        WinSetState("Form1","",@SW_RESTORE)
        Exit
EndIf
AutoItWinSetTitle($version)
$Form1 = GUICreate("Form1", 623, 442, 192, 124)
GUISetState(@SW_SHOW)
Opt("TrayIconHide", 1)
Opt("TrayMenuMode",1)
Opt("TrayOnEventMode",1)
TraySetOnEvent($TRAY_EVENT_PRIMARYUP,"tray")
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $GUI_EVENT_MINIMIZE
                        GUISetState(@SW_HIDE, $Form1)
                        Opt("TrayIconHide", 0)
        EndSwitch
WEnd
Func tray()
        Opt("TrayIconHide", 1)
        GUISetState(@SW_SHOW, $Form1)
        WinActivate($Form1)
EndFunc
发表于 2016-7-10 13:24:33 | 显示全部楼层
本帖最后由 alwaystick 于 2016-7-10 13:28 编辑

回复 4# mshuking
可能你的
If WinExists($version) Then

要改成
If _Singleton($version,1)=0 Then

如果你是想判断你的EXE程序是否在运行的话,就要这样改。
如果改了,记得加上#include <Misc.au3>
发表于 2016-7-16 15:24:23 | 显示全部楼层
学习了,有时小到托盘时,这个很好用
 楼主| 发表于 2016-7-17 23:11:46 | 显示全部楼层
回复 5# alwaystick


    谢谢。。。大神。。。。学习了
 楼主| 发表于 2016-7-17 23:15:21 | 显示全部楼层
感觉还是不对呢。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 22:43 , Processed in 0.186652 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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