找回密码
 加入
搜索
查看: 4738|回复: 9

[IE类操作] 激活隐藏的窗口后,为什么不能再隐藏?

  [复制链接]
发表于 2011-5-6 19:20:24 | 显示全部楼层 |阅读模式
以下代码点击关闭后,双击托盘后,恢复原来的窗口,但是再点击关才时不能再隐藏了,请高手指点一下!
#include <Constants.au3>

#include<ie.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <Constants.au3>
#include <ButtonConstants.au3>
#NoTrayIcon
Opt("TrayOnEventMode",1)
Opt("TrayMenuMode",1)  
;默认菜单项目 (脚本暂停中/退出) 将不会显示. 
$exititem = TrayCreateItem("退出")
TraySetState()
TraySetClick(16)
XIAO()
ds2()
Func ds2()
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE,"SpecialEvent")
TraySetOnEvent($TRAY_EVENT_SECONDARYUP,"SpecialEvent")
TraySetState()
EndFunc
While 1
        $msg = GUIGetMsg()
        Sleep(10)        ; 空闲循环
WEnd
Exit
; Functions
Func SpecialEvent()
        Select
                Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOUBLE
                                     GUISetState(@SW_SHOW )
                                                                        
                Case @TRAY_ID = $TRAY_EVENT_SECONDARYUP
                        Msgbox(64,"SpecialEvent-Info","次鼠标键双击.")
                        Exit
        EndSelect
EndFunc

Func ExitEvent()
        Exit
        EndFunc
Func XIAO()  ;增
       $oIE = _IECreateEmbedded ()

GUICreate(" 百度",860,632, -1,-1 , 0x04000000 + 0x00CF0000)

 $GUIActiveX = GUICtrlCreateObj($oIE, 2, 2, 880, 680)
 GUICtrlSetResizing($GUIActiveX , 0x0001)
GUISetState()
_IENavigate ($oIE, "http://www.baidu.com")
While 1
     $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
        Msgbox(64,"SpecialEvent-Info","次鼠标键双击.")
                GUISetState(@SW_HIDE)
        
                ExitLoop
        EndSelect
                WEnd
                
        EndFunc  
            Func _XIAO()  ;增
        GUISetState(@SW_HIDE)
                
        EndFunc  
        
发表于 2011-5-7 10:45:57 | 显示全部楼层
先看看別人是怎麼解釋的,現在時間不多,沒時間研究了
发表于 2011-5-8 18:56:21 | 显示全部楼层
本帖最后由 netegg 于 2011-5-8 19:01 编辑

$GUI_EVENT_CLOSE这个消息处理里面close之后就退出循环了,哪还有消息呀
还有,以后再发代码的时候,把结构整理好了再发,这个问题不是很难,但是你的代码太乱了,谁有那么多功夫还替你整理好代码在回答呀
 楼主| 发表于 2011-5-10 14:21:38 | 显示全部楼层
乱吗?
能整理好我就已经发布源码啦!还用问吗?
发表于 2011-5-12 05:39:33 | 显示全部楼层
本帖最后由 netegg 于 2011-5-13 00:39 编辑

回复 4# xunyar
既然你这么说,自己对着看
#include <Constants.au3>

#include<ie.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <ButtonConstants.au3>
#NoTrayIcon
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)

;默认菜单项目 (脚本暂停中/退出) 将不会显示.
$exititem = TrayCreateItem("退出")

TraySetState()
TraySetClick(16)

XIAO()
ds2()

Func ds2()
    TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "SpecialEvent")
    TraySetOnEvent($TRAY_EVENT_SECONDARYUP, "SpecialEvent")
    TraySetState()
EndFunc   ;==>ds2

While 1
    $msg = GUIGetMsg()
    Sleep(10) ; 空闲循环
WEnd

Exit

; Functions
Func SpecialEvent()
    Select
        Case @TRAY_ID = $TRAY_EVENT_PRIMARYDOUBLE
                GUISetState(@SW_SHOW)
        Case @TRAY_ID = $TRAY_EVENT_SECONDARYUP
                MsgBox(64, "SpecialEvent-Info", "次鼠标键双击.")
                Exit
    EndSelect
EndFunc   ;==>SpecialEvent

Func ExitEvent()
        Exit
EndFunc   ;==>ExitEvent

Func XIAO() ;增
    $oIE = _IECreateEmbedded()
    GUICreate(" 百度", 860, 632, -1, -1, 0x04000000 + 0x00CF0000)
    $GUIActiveX = GUICtrlCreateObj($oIE, 2, 2, 880, 680)
    GUICtrlSetResizing($GUIActiveX, 0x0001)
    GUISetState()
    _IENavigate($oIE, "http://www.baidu.com")
   While 1
         $msg = GUIGetMsg()
         Select
            Case $msg = $GUI_EVENT_CLOSE
                MsgBox(64, "SpecialEvent-Info", "次鼠标键双击.")
                GUISetState(@SW_HIDE)
                ExitLoop
        EndSelect
   WEnd
EndFunc   ;==>XIAO

Func _XIAO() ;增
    GUISetState(@SW_HIDE)
EndFunc   ;==>_XIAO
而且,如果你认为你自己那样写代码很好,没有指责的意思,出问题的时候一样还是找不到。
另外,鉴于你4楼的回应,现在帮你把代码整理好了,想来应该可以解决问题了,就不多此一举解答了
如果感觉自己整理代码很麻烦http://www.autoitx.com/thread-23285-1-1.html有方法,
发表于 2011-5-13 17:33:37 | 显示全部楼层
蛋蛋说的没错,确实够乱的,源代码里头的函数还得睁大眼睛去找endfunc在哪儿...呵呵...
发表于 2011-6-9 13:40:32 | 显示全部楼层
发表于 2011-6-10 00:44:19 | 显示全部楼层
用个隐藏缩小函数看看
发表于 2011-6-10 18:37:12 | 显示全部楼层
代码有点乱,看得不是很清楚。
发表于 2011-6-10 18:43:58 | 显示全部楼层
可能是用记事本什么的编写的吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-2 08:54 , Processed in 0.086812 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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