shweii 发表于 2009-11-10 18:29:31

用一个按键循环功能 按下隐藏 再按就显示

HotKeySet("{F9}","ShowHotKey");按F8显示窗口
HotKeySet("{F10}","HIDEHotKey");按F9隐藏窗口

Func ShowHotKey();显示窗口
GUISetState(@SW_SHOW)
EndFunc

Func HIDEHotKey();隐藏窗口
GUISetState(@SW_HIDE)
EndFunc

这样是把隐藏和显示分开来用按键控制,怎么只用一个按按F9,按一下就隐藏再按一下就显示,循环的来

水木子 发表于 2009-11-10 19:14:51

逻辑判断真假#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

HotKeySet("{F9}","ShowHotKey")
$Form1 = GUICreate("", 300, 280)
GUISetState(@SW_SHOW)
$tf=True

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

Func ShowHotKey();显示窗口
        If $tf = True Then
                GUISetState(@SW_HIDE)
                $tf = False
        Else
                GUISetState(@SW_SHOW)
                $tf = True
        EndIf       
EndFunc

shweii 发表于 2009-11-10 19:26:21

太感谢水哥了,刚学,什么都还不懂

水木子 发表于 2009-11-10 19:30:17

太感谢水哥了,刚学,什么都还不懂
shweii 发表于 2009-11-10 19:26 http://www.autoitx.com/images/common/back.gif

呵呵!别抬举我啦!叫我“木子”就好,大家都是新人同学习、共进步吧!

catcher 发表于 2009-11-10 22:40:23

木子有才
有才木子

kleist 发表于 2009-11-13 15:59:23

本帖最后由 kleist 于 2009-11-13 16:16 编辑

WinGetState
用这个函数判断当前状态来决定隐藏或是显示也可以#include <GUIConstantsEx.au3>

HotKeySet("{F9}","ShowHotKey")
$gui = GUICreate("", 300, 280)
GUISetState(@SW_SHOW)

While 1
      $Msg = GUIGetMsg()
      Select
             Case $Msg=$GUI_EVENT_CLOSE
               Exit
      EndSelect
WEnd

Func ShowHotKey();显示窗口
      If WinGetState($gui) = 5 Then
            guisetState (@SW_SHOW)
               Else
            guisetState (@SW_HIDE)
                EndIf      
EndFunc

wisly 发表于 2009-11-13 16:10:30

HotKeySet帮助里面的example都不好好看,里面就是水木子的变量逻辑控制方法
不过我觉得楼上的方法更保险一点,因为有可能在脚本暂停的时候人为改变了状态
页: [1]
查看完整版本: 用一个按键循环功能 按下隐藏 再按就显示