如何让程序每执行一次都读取不同的参数呢?
本帖最后由 leehomv 于 2012-3-18 20:28 编辑在程序完全退出的情况下
第二次执行
这样是不是就需要第一次启动时写入返回值
第二次启动时读取返回值?并循环? 群里也不说明白点,能否讲具体点 才能对症下药
都不明白你要干什么 回复 2# Ycxw2008
就是手动运行程序 程序每次启动都会按顺序不重复执行的执行其他操作 本帖最后由 Ycxw2008 于 2012-3-18 21:16 编辑
回复 3# leehomv
参数 这个单词 好像范围很广 做个例子给你看看 是不是这样
我猜你的意思 是不是 不想用ini类似的配置文件或tmp之类的 文件?
如果那样的话 估计你的想法有点不切实际了Opt("GUIOnEventMode", 1)
Local $sCtrlBtn = [["测 试 一", "测 试 二", "测 试 三", "测 试 四", "测 试 五", '读取', '保存', '退出']]
Local $hMain = GUICreate("", 200, 200, -1, -1)
GUISetOnEvent(-3, "_Exit")
For $i = 0 To UBound($sCtrlBtn, 2) - 4
$sCtrlBtn[$i] = GUICtrlCreateCheckbox(StringFormat("%s\t%s\t%s",$sCtrlBtn[$i]), 10, 10 + $i * 25)
If IniRead("t.ini", "Setting", "Menu" & $i, "") == 1 Then GUICtrlSetState(-1, 1)
Next
Local $Label=GUICtrlCreateLabel("",100,20,200,100),$sLabel=False
GUICtrlSetFont(-1, 24)
GUICtrlSetColor(-1, 0x0860a8)
$sCtrlBtn = GUICtrlCreateButton($sCtrlBtn, 5, 160, 60, 30)
$sCtrlBtn = GUICtrlCreateButton($sCtrlBtn, 65, 160, 60, 30)
$sCtrlBtn = GUICtrlCreateButton($sCtrlBtn, 125, 160, 60, 30)
GUISetState()
GUICtrlSetOnEvent($sCtrlBtn, "_Exit")
GUIRegisterMsg(273, "WM_COMMAND")
While 1
If $sLabel And GUICtrlRead($Label)="" Then GUICtrlSetData($Label,"已"&@CRLF&"修"&@CRLF&"改")
WEnd
Func _exit()
Exit
EndFunc ;==>_exit
Func WM_COMMAND($hWnd, $Msg, $wParma, $lParma)
Local $CtrlID = BitAND($wParma, 0x0000FFFF)
Switch $CtrlID
Case $sCtrlBtn To $sCtrlBtn
If ($sLabel =False And GUICtrlRead($Label)="") Then $sLabel=True
Case $sCtrlBtn
For $i = 0 To 4
If BitAND(IniRead("t.ini", "Setting", "Menu" & $i, ''), 1) Then
GUICtrlSetState($sCtrlBtn[$i], 1)
Else
GUICtrlSetState($sCtrlBtn[$i], 4)
EndIf
Next
$sLabel=False
GUICtrlSetData($Label,"")
Case $sCtrlBtn
For $i = 0 To 4
IniWrite("t.ini", "Setting", "Menu" & $i, BitAND(GUICtrlRead($sCtrlBtn[$i]), 1))
Next
MsgBox(262144, '提示', '已保存')
ShellExecute("t.ini")
EndSwitch
EndFunc ;==>WM_COMMAND
回复 4# Ycxw2008
比如参数就是执行其他程序 回复 5# leehomv
不然你就放出你的源码
给大家帮你看看
不然就无能为力了
给了你例子了 你稍微看下吧
要么就是刚才群里的例子
传命令行参数 就是命令行里 test.exe -1[就做-1的事]
-2[就做-2的事] 回复 6# Ycxw2008
好的
我现在弄
谢谢了 串式参数例子
ParaFilter($CMDLINE)
Exit
Func ParaFilter($ParaCount)
;Run in No Parameter
If $ParaCount < 1 Then
Run(@ScriptFullPath & ' /InsDrv')
Exit
EndIf
Switch $CMDLINE
Case '/InsDrv'
AutoItSetOption('TrayIconHide', 1)
Run(@ScriptFullPath & ' /ChkGUI ' & @AutoItPID)
InsDrv()
Case '/ChkGUI'
AutoIns(Number($CMDLINE))
EndSwitch
EndFunc ;==>ParaFilter
可以用参数, 也可以读取(文件\注册表等)获取'这个参数'的值吧!
第1次启动, 设立一个默认的起始值, 然后写文件等记录下一个值也行. 创建ini文件来写入和读取参数应该可以吧? 程序本身一般都是不可写的吧,要保存当然要有配置文件。每次都把配置保存一下,下次启动时读取就可以了。
页:
[1]