找回密码
 加入
搜索
查看: 4326|回复: 4

[系统综合] [已解决]编译后占用内存,$GUI_DISABLE参数等问题

[复制链接]
发表于 2009-6-6 22:29:36 | 显示全部楼层 |阅读模式
本帖最后由 jevonleen 于 2012-8-1 21:41 编辑

请各位帮我看一下以下代码,我编译后运行,竟然要占用13M的内存,打开的时间要等半分钟才会弹出窗口,而且当鼠标点击托盘图标的时候,脚本就暂停了,有没有什么办法可以改良一下?还有就是我原来有设置点击指定的单选框后,指定的输入框为不可用$GUI_DISABLE,可是输入框老是不断地闪,请帮我解决一下,还有个问题就是在连网的情况下,怎么样获取指定时区的时间,比如北京时间!谢谢各位!
#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiButton.au3>
#Include <Date.au3>
;---------------------------------------------------------------------------
$Tittle = '123'
$Form1 = GUICreate($Tittle, 275, 224, 359, 275)
GUISetBkColor(0xFFFFFF)
$Button1 = GUICtrlCreateButton("执行命令", 32, 172, 65, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("退出程序", 176, 172, 65, 25, $WS_GROUP)
$Group1 = GUICtrlCreateGroup("123", 10, 64, 169, 93)
$Radio4 = GUICtrlCreateRadio("使用天数", 20, 132, 65, 16)
$Radio2 = GUICtrlCreateRadio("使用时间", 20, 109, 65, 16)
$Radio1 = GUICtrlCreateRadio("使用期限", 20, 86, 65, 16)
GUICtrlSetState(-1,$GUI_CHECKED)
$Input2 = GUICtrlCreateInput("", 85, 131, 30, 18,$ES_NUMBER)
$Input3 = GUICtrlCreateInput("", 85, 108, 30, 18,$ES_NUMBER)
$Year = @YEAR & '/'
$Moth = @MON & '/'
$Date = @MDAY 
$Time = $Year & $Moth & $Date
$Date1 = GUICtrlCreateDate('', 85, 85, 87, 18)
$DTM_SETFORMAT_ = 0x1032
$style = "yyyy/MM/dd"
GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
$Label1 = GUICtrlCreateLabel("最多2年", 120, 110, 46, 17)
$Label2 = GUICtrlCreateLabel("最多366天", 120, 133, 54, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$StatusBar1 = _GUICtrlStatusBar_Create($Form1)
_GUICtrlStatusBar_SetSimple($StatusBar1)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 17)
$Tab1 = GUICtrlCreateTab(-1, 56, 390, 113)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
GUICtrlCreateTabItem("")
$Pic1 = GUICtrlCreatePic("C:\Documents and Settings\jevonleen\桌面\g_06_top_bg.jpg", 0, 0, 278, 50, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
$Form2 = GUICreate('123','200','200','200','200',$Form1)

IniWriteSection('c:\myfile.ini','FTIME','ftime=' & $Time);写入
While 1
        $msg = GUIGetMsg()
        
    Select
                Case $msg = $GUI_EVENT_CLOSE  
                        Ms1()
                Case $msg = $Button2
                        Ms1()   
                Case $msg = $Button1
                        GUICtrlSetState($Input2,$GUI_DISABLE)
                        go()
                        ;GUISetState(@SW_SHOW,$Form2)
        EndSelect
WEnd

   
Func Ms1()
         $Ms1 = MsgBox(4+32,'提示','是否确定退出程序?')
         If $Ms1 = 6 Then
                 Exit
        EndIf
EndFunc

Func go()
        $ftime = ControlGetText($Tittle,'使用期限',$Date1)
        $D1 = ControlGetText($Tittle,'使用期限',$Input3)
        $D2 = ControlGetText($Tittle,'使用期限',$Input2)
        $D3 = $D1 * 366
        If GUICtrlRead($Radio1) = $GUI_CHECKED Then
                ltd1()
        EndIf
        If GUICtrlRead($Radio2) = $GUI_CHECKED Then
                ltd2()
        EndIf
        If GUICtrlRead($Radio4) = $GUI_CHECKED Then
                ltd3()
        EndIf
EndFunc

Func ltd1()
        $ftime = ControlGetText($Tittle,'使用期限',$Date1)
        $D1 = ControlGetText($Tittle,'使用期限',$Input3)
        $D2 = ControlGetText($Tittle,'使用期限',$Input2)
        $D3 = $D1 * 366
        $11 = _DateDiff('D', $Time, $ftime)
        If $11 > 366 Then
                
                MsgBox(0+16,'错误','请填入正确的有效数值!')
                GUISetState(@SW_HIDE,$Form1)
        ElseIf $11 < 1 Then
                MsgBox(0+16,'错误','请填入正确的有效数值!')
        Else
                IniWriteSection('c:\myfile.ini','FTIME','ftime=' & $Time);写入
                IniWriteSection('c:\myfile.ini','DATE','date=' & $ftime);写入
                IniWriteSection('c:\myfile.ini','TIME','time=');写入
        EndIf
EndFunc

Func ltd2()
        $ftime = ControlGetText($Tittle,'使用期限',$Date1)
        $D1 = ControlGetText($Tittle,'使用期限',$Input3)
        $D2 = ControlGetText($Tittle,'使用期限',$Input2)
        $D3 = $D1 * 366
        If $D1 > 2 Then
                MsgBox(0+16,'错误','请填入正确的有效数值!')
        ElseIf $D1 < 1 Then
                MsgBox(0+16,'错误','请填入正确的有效数值!')
        Else
                IniWriteSection('c:\myfile.ini','FTIME','ftime=' & $Time);写入
                IniWriteSection('c:\myfile.ini','TIME','time=' & $D3);写入
                IniWriteSection('c:\myfile.ini','DATE','date=');写入
        EndIf
EndFunc
Func ltd3()
        $ftime = ControlGetText($Tittle,'使用期限',$Date1)
        $D1 = ControlGetText($Tittle,'使用期限',$Input3)
        $D2 = ControlGetText($Tittle,'使用期限',$Input2)
        $D3 = $D1 * 366
        If $D2 > 366 Then
                MsgBox(0+16,'错误','请填入正确的有效数值!')
        ElseIf $D2 < 1 Then
                MsgBox(0+16,'错误','请填入正确的有效数值!')
        Else
                IniWriteSection('c:\myfile.ini','FTIME','ftime=' & $Time);写入
                IniWriteSection('c:\myfile.ini','TIME','time=' & $D2);写入
                IniWriteSection('c:\myfile.ini','DATE','date=');写入
        EndIf
EndFunc
 楼主| 发表于 2009-6-7 12:54:48 | 显示全部楼层
没人帮帮我吗?
发表于 2009-6-7 13:38:30 | 显示全部楼层
本帖最后由 lynfr8 于 2009-6-7 13:41 编辑

1.编译后运行占用13M的内存,要等半分钟才会弹出窗口---测试编译为exe1秒钟之内打开,检查是否你系统问题 ;至于内存问题,现在内存一般都G以上,无视这13m


2.当鼠标点击托盘图标的时候,脚本就暂停了--------增加下面两行即可
Opt("TrayMenuMode",1) 
$exititem = TrayCreateItem("软件名称")
;--------------------------------------------------------------------------- $Tittle = '123'
3.输入框老是不断地闪--直接输入数字没有你所说的情况,除非是想输入字母

4.连网的情况下,怎么样获取指定时区的时间---论坛有相关帖子,自行研究
传送门:http://www.autoitx.com/forum.php?mod=viewthread&tid=392&extra=page%3D1
发表于 2009-6-7 14:19:59 | 显示全部楼层
学习了,留名ing
 楼主| 发表于 2009-6-8 01:03:04 | 显示全部楼层
谢谢,我再试一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-28 12:38 , Processed in 0.084114 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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