找回密码
 加入
搜索
查看: 4700|回复: 22

想问下autoit可不可以制作那种加参数效果。。。

[复制链接]
发表于 2009-6-30 13:05:49 | 显示全部楼层 |阅读模式
本帖最后由 kn007 于 2009-7-1 11:13 编辑

如下图所示:
这玩意也是自动关机装置,不知用什么写的....


妈的,该死的论坛编辑,让我等了5分钟还不行,非要注销后才行,草



能不能帮下忙   -Thh:mm:ss

谁给我个例子(源码)给我,或者告诉我怎么改,不知怎么写

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-6-30 13:07:42 | 显示全部楼层
暂时没学到这里,帮顶。
发表于 2009-6-30 13:09:18 | 显示全部楼层
嘿嘿 !~     可以的  记得有一个数组保存参数信息  你帮助里搜一下   “参数”试试
 楼主| 发表于 2009-6-30 13:09:18 | 显示全部楼层
呵呵,兄弟反应迅速
发表于 2009-6-30 13:10:33 | 显示全部楼层
呵呵  没你快
 楼主| 发表于 2009-6-30 13:14:30 | 显示全部楼层
我会去查下的
 楼主| 发表于 2009-6-30 13:16:14 | 显示全部楼层
好像找到了,我得来研究下,要是有哪位给出源码,那就更好了
帮助里是这样写的:
命令行参数
当我们传递命令行参数到AutoIt脚本中的时候,AutoIt会初始化一个特殊的数组 $CmdLine.   注意, 脚本文件名不算进参数; 请使用 @ScriptName 代替脚本名称.  一个参数中如果含有空格,必须使用 "双引号"把内容围住.  已编译的 脚本同样也能接受命令行参数. 请看下面代码:

$CmdLine[0] ;参数的数量
$CmdLine[1] ;第一个参数 (脚本名称后面)
$CmdLine[2] ;第二个参数等等
...
$CmdLine[$CmdLine[0]] ;可以用来表示得到最后一个参数...



如果您的脚本是像下面这样被运行的话:

    AutoIt3.exe myscript.au3 参数1 "这是 一个其它参数"

$CmdLine[0] 等价于... 2

$CmdLine[1] 等价于... 参数1

$CmdLine[2] 等价于... 这是一个其它参数

@ScriptName 等价于... myscript.au3



除开 $CmdLine 之外还有一个变量叫做 $CmdLineRaw ,它保存着完整的未被拆分的命令行语句, 对于上面这个例子:

$CmdLineRaw 等价于... myscript.au3 参数1 "这是一个其它参数"



如果脚本已经被编译,那么得到的值将会是下面这个样子:

    myscript.exe 参数1 "这是 一个其它参数"

$CmdLineRaw 等价于... 参数1 "这是一个其它参数"

注意 $CmdLineRaw 会立即返回参数.



注意 : 只有 63 个参数会被 $CmdLine[...] 正常返回, 但是 $CmdLineRaw 总是会返回完整的所有参数.
 楼主| 发表于 2009-6-30 13:17:29 | 显示全部楼层
If $CmdLine[0] = 0 Then
ElseIf $CmdLine[1] = "/q" Then
ElseIf $CmdLine[1] = "/e" Then
Else
EndIf
$CmdLineRaw 代表原封不动地传送所有命令行参数 
 楼主| 发表于 2009-6-30 15:49:23 | 显示全部楼层
哪位能帮我写下,如1楼的图片的参数示例
 楼主| 发表于 2009-6-30 20:11:53 | 显示全部楼层
仍未解决。。。
发表于 2009-6-30 21:34:46 | 显示全部楼层
本帖最后由 afan 于 2009-6-30 21:51 编辑
If $CmdLine[0] > 0 Then
    If $CmdLine[1] = "-C0" Then ;---待机
        if StringInStr($CmdLine[2],"-T") <>0 Then
              $t = StringTrimLeft($CmdLine[2],2)
              msgbox(0,0,$t & ' 后进入待机')
        elseif StringInStr($CmdLine[2],"-Q") <>0 Then
              msgbox(0,0,'现在立即进入待机')
        endif
    ElseIf $CmdLine[1] = "-C1" Then ;---休眠
        if StringInStr($CmdLine[2],"-T") <>0 Then
              $t = StringTrimLeft($CmdLine[2],2)
              msgbox(0,0,$t & ' 后进入休眠')
        elseif StringInStr($CmdLine[2],"-Q") <>0 Then
              msgbox(0,0,'现在立即进入休眠')
        endif
    ElseIf $CmdLine[1] = "-C2" Then ;---注销
        if StringInStr($CmdLine[2],"-T") <>0 Then
              $t = StringTrimLeft($CmdLine[2],2)
              msgbox(0,0,$t & ' 后进入注销')
        elseif StringInStr($CmdLine[2],"-Q") <>0 Then
              msgbox(0,0,'现在立即进入注销')
        endif
    ElseIf $CmdLine[1] = "-C3" Then ;---关机
        if StringInStr($CmdLine[2],"-T") <>0 Then
              $t = StringTrimLeft($CmdLine[2],2)
              msgbox(0,0,$t & ' 后进入关机')
        elseif StringInStr($CmdLine[2],"-Q") <>0 Then
              msgbox(0,0,'现在立即进入关机')
        endif
    ElseIf $CmdLine[1] = "-C4" Then ;---重启
        if StringInStr($CmdLine[2],"-T") <>0 Then
              $t = StringTrimLeft($CmdLine[2],2)
              msgbox(0,0,$t & ' 后进入重启')
        elseif StringInStr($CmdLine[2],"-Q") <>0 Then
              msgbox(0,0,'现在立即进入重启')
        endif
    endif
EndIf

评分

参与人数 1金钱 +10 收起 理由
kn007 + 10 先谢了,待会在试试

查看全部评分

 楼主| 发表于 2009-6-30 23:14:18 | 显示全部楼层
先谢了,待会在试试
发表于 2009-6-30 23:21:04 | 显示全部楼层
编译exe测试了下没问题~
加点 Sleep() 、Shutdown () 之类的,有必要的话再弄个Gui应该就行了吧~ 呵呵
 楼主| 发表于 2009-6-30 23:25:03 | 显示全部楼层
我现在是gui,要应用这个,全部都得改位置。。。
发表于 2009-6-30 23:33:47 | 显示全部楼层
14# kn007

不用改位置~~~
直接再后面加个gui吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-23 01:29 , Processed in 0.098040 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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