au3带参数运行theme文件为什么不行
下面是我的源码If $cmdline <> 0 Then
$filename = $cmdline
ShellExecute($filename)
send("{enter}")
Else
MsgBox(64, "注意", '请带参数运行此程序')
EndIf
现在我把程序编译成theme.exe文件,放到c:\windows\resoure\themes目录下
,想通过建立快捷方式并带参数运行对应的主题文件如图所示:
结果总是提示找不到tiger.theme文件,
不知道是哪里出错了,就是不能带theme文件参数,而直接用ShellExecute("tiger.theme")却可以运行,可是想带参数运行却不行了,请各位兄台帮忙看一下
[ 本帖最后由 zlmyongheng 于 2009-3-5 08:45 编辑 ] 看你的参数是怎么加的
另外,请把起始位置也加上:c:\windows\resoure\themes
[ 本帖最后由 顽固不化 于 2009-3-5 11:13 编辑 ] If $cmdlineRaw <> '' then 这个没有问题,我的是在雨林木风主题中看到theme.exe的,它的能运行 如果用
If $cmdlineRaw <> '' then
还是一样提示找到相应的theme文件
[ 本帖最后由 zlmyongheng 于 2009-3-5 12:29 编辑 ] 总感觉能找到theme的文件,却不能执行,不知道是怎么回事 If $cmdline <> 0 Then
$filename = $cmdline
MsgBox(64, "注意",$filename)
ShellExecute($filename)
send("{enter}")
Else
MsgBox(64, "注意", '请带参数运行此程序')
EndIf
看一下得到的文件名是否正确,还有路径。 会不会是
ShellExecute($filename)
不支持变量啊 因为换成:
ShellExecute("tiger.theme")
就能成功执行 ShellExecute ( "文件名" [, "参数" [, "工作目录" [, "verb" [, 显示标志]]]] )
把工作目录写上试试:c:\windows\resoure\themes 试过,还是一样,都把头搞大了 如果按楼上下面的代码来写的话,我发现一个现象就是:如果我的快捷方式中theme中有空格得到的文件名就不正确,如Dz aero.theme 得到的结果是Dz而不是Dz aero.theme ,而如果没有空格如tiger.theme,得到文件名是tiger.theme,但不能执行,不知道是不是我们获取文件名的方式有错误,还是其它什么原因
If $cmdline <> 0 Then
$filename = $cmdline
MsgBox(64, "注意",$filename)
ShellExecute($filename)
send("{enter}")
Else
MsgBox(64, "注意", '请带参数运行此程序')
EndIf 而雨林木风的这个文件却都能得到正确结果,也能执行,照这样看,有可能是雨林木风的获取文件名的方式不同 文件名中有空格时用引号括起来
If $cmdline <> 0 Then
$filename = $cmdline
ShellExecute(@ScriptDir & '\' & $filename)
WinWait('显示 属性')
ControlClick('显示 属性', '主题是背景加一组声音', '')
Else
MsgBox(64, "注意", '请带参数运行此程序')
EndIf
按你的实现形式,上面代码在我的破机测试通过,如果在你那不行,那就。。。
页:
[1]
2