[已解决]程序启动限制
在未学习AU3之前用过破帽做的网吧维护通道+桌面壁纸更新软件!发现它的程序,除了从主程序上启动各个分程序,都无法使用,当你运行时会提示你从主程序启动该工具,帽子现在不知道消失在那儿去了,想找他问问都没法,大侠们是否知道这是怎么做到的?网上找的说明!很明确定,留着这以便他人学习!
$CmdLine 保存着命令行中参数的个数(不包括脚本文件名),如上例/a /b /c,返回值为3(个)
$CmdLine 是第 1 个参数,如上例/a
$CmdLine 则是第 2 个参数,如上例/b
$CmdLine 则是第 3 个参数,如上例/c
如果命令行是这个:soft.exe Path /C:\Drivers则返回参数
$CmdLine 如上例返回值为2(个)
$CmdLine 返回参数Path
$CmdLine 返回参数/C:\Drivers(去掉前面的“/”即可得到路径参数C:\Drivers)
以下是具体判断:
If $Cmdline = 3 Then
$sn1 = $cmdline
$sn2 = $cmdline
$sn3 = $cmdline
If $sn1 = "/a" Then;首先判断第一个参数是/a 或/b或 /c并执行动作
如何如何动作...
ElseIf $sn1 = "/b" Then
如何如何动作...
ElseIf $sn1 = "/c" Then
如何如何动作...
EndIf
等等、等等...以下依次判断第二、三个参数
EndIf
[ 本帖最后由 jycel 于 2009-3-31 17:27 编辑 ] 大约是参数吧 今晚遇上帽子了,也说的是参数!:face (13): 还不懂!谁能给个例子或讲解下! 命令行参数。
检测程序直接运行就提示要主程序才能运行。程序指定参数来让主程序来运行就是了。 if cmdline<>"aa" them msgbox(0,"AA","请从主程序启动") 原帖由 zjg2003 于 2009-3-27 20:59 发表 http://autoitx.com/images/common/back.gif
if cmdline"aa" them msgbox(0,"AA","请从主程序启动")
能讲下cmdline是什么吗?中间是then吧 原帖由 sanhen 于 2009-3-27 20:59 发表 http://autoitx.com/images/common/back.gif
命令行参数。
检测程序直接运行就提示要主程序才能运行。程序指定参数来让主程序来运行就是了。
sanhen能给个具体点的例子吗?或者具具体函数用法 看帮助里有说明 帮助中
If $CmdLine = 0 Then
Exit
EndIf
这个$CmdLine = 0 取值问题是怎么取的?
我是这样写的
If $CmdLine <> "Server" Then
MsgBox(16,"错误","请输从主程序启动!")
Exit
EndIf
server换成server.exe都不行
从主程序中启动都启动不了,这该怎么付值呢?
我先给$CmdLine 付值也不行,提示不能对常量付值
[ 本帖最后由 jycel 于 2009-3-27 23:02 编辑 ] $cmdline是数组
$cmdline 是参数的数量.
$cmdline是第1个参数, 搞了一晚上还是没弄懂,一头雾水~
If $cmdline <> 0 Then
$filename = $cmdline
MsgBox(4096, "测试", '你输入的命令行参数是 "' & $filename & '"')
Else
MsgBox(64, "测试", '请此程序')
EndIf
这个命令行参数$filename = 后面换成其它的,但都提示请带参数运行
:face (13): 谁能直接给我说下,还容易理解些!
主程序为:
server.exe
子程序
Netbar.exe
只能从server来启动netbar 唉,楼主你太心急了!
此问题出动了论坛几大高手,你依然未能明白,可见你从一开始就想一步登天了...........
一步一步从基础学起吧 If $CMDLine = 1 Then
MsgBox(0, 0, "第1个参数是:" & $CMDLine
Else
MsgBox(0, 0, "没有带参数运行,在这后面跟上退出的代码!")
Exit
EndIf
$CMDLine 为运行脚本时所带的参数,$CMDLine 为第N个参数的内容.
楼主把以上代码保存为"C:\1.au3",再在命令提示符下运行"C:\1.au3 xxxx"试下,
当然,你也可以在SciTE里设置运行参数.
如果你依然不了解,那我还是劝你多看帮助文档了!
[ 本帖最后由 漠北雪~狼 于 2009-3-28 02:36 编辑 ] 基本搞定了,就是有点小问题不清楚,在命令行下代正确定参数可以启动,错误参数会提示请从主程序启动,但直接点它则提示
If $cmdline = "server" Then
$filename = $cmdline
Else
MsgBox(0,"警告!","请从Server主界面调用本功能!",10)
Exit
EndIf
[ 本帖最后由 jycel 于 2009-3-28 12:10 编辑 ] If $CMDLine = 1 Then ;参数的数量你需先判断是否有带有一个参数后再判断参数是不是你想要的“Server”值
你要判断“Server”放在这里
Else
MsgBox(0, 0, "没有带参数运行,在这后面跟上退出的代码!")
Exit
EndIf
页:
[1]
2