zlmyongheng 发表于 2009-3-5 08:44:05

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 编辑 ]

顽固不化 发表于 2009-3-5 10:55:08

看你的参数是怎么加的

另外,请把起始位置也加上:c:\windows\resoure\themes

[ 本帖最后由 顽固不化 于 2009-3-5 11:13 编辑 ]

liongodmien 发表于 2009-3-5 12:00:30

If $cmdlineRaw <> '' then

zlmyongheng 发表于 2009-3-5 12:03:32

这个没有问题,我的是在雨林木风主题中看到theme.exe的,它的能运行

zlmyongheng 发表于 2009-3-5 12:21:35

如果用
If $cmdlineRaw <> '' then
还是一样提示找到相应的theme文件

[ 本帖最后由 zlmyongheng 于 2009-3-5 12:29 编辑 ]

zlmyongheng 发表于 2009-3-5 12:37:20

总感觉能找到theme的文件,却不能执行,不知道是怎么回事

liongodmien 发表于 2009-3-5 12:37:29

If $cmdline <> 0 Then
   $filename = $cmdline
MsgBox(64, "注意",$filename)
ShellExecute($filename)
send("{enter}")
Else   
    MsgBox(64, "注意", '请带参数运行此程序')
EndIf
看一下得到的文件名是否正确,还有路径。

zlmyongheng 发表于 2009-3-5 12:38:09

会不会是
ShellExecute($filename)
不支持变量啊

zlmyongheng 发表于 2009-3-5 12:44:15

因为换成:
ShellExecute("tiger.theme")
就能成功执行

顽固不化 发表于 2009-3-5 15:08:38

ShellExecute ( "文件名" [, "参数" [, "工作目录" [, "verb" [, 显示标志]]]] )


把工作目录写上试试:c:\windows\resoure\themes

zlmyongheng 发表于 2009-3-5 17:33:43

试过,还是一样,都把头搞大了

zlmyongheng 发表于 2009-3-6 07:39:20

如果按楼上下面的代码来写的话,我发现一个现象就是:如果我的快捷方式中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

zlmyongheng 发表于 2009-3-6 07:41:52

而雨林木风的这个文件却都能得到正确结果,也能执行,照这样看,有可能是雨林木风的获取文件名的方式不同

顽固不化 发表于 2009-3-6 08:41:32

文件名中有空格时用引号括起来

liongodmien 发表于 2009-3-6 10:21:16


If $cmdline <> 0 Then
   $filename = $cmdline
        ShellExecute(@ScriptDir & '\' & $filename)
        WinWait('显示 属性')
        ControlClick('显示 属性', '主题是背景加一组声音', '')
Else   
    MsgBox(64, "注意", '请带参数运行此程序')
EndIf

按你的实现形式,上面代码在我的破机测试通过,如果在你那不行,那就。。。
页: [1] 2
查看完整版本: au3带参数运行theme文件为什么不行