本帖最后由 sanmoking 于 2009-7-24 20:29 编辑
你可以在你的程序里面把一些特定字符串转换成当前系统变量。当然这个只是个建议,还有个参考:
传送门:那个所谓的最牛逼的QQdll抓图工具的源码
这个里面关于程序启动参数的设定部分由可借鉴之处,楼主只需要研究里面识别特定字符后自动转换的部分。
下面给楼主一个参考方向:
可以使用
[run]
1=!@WindowsDir!\a.exe
然后在你的程序中专门花心思写一个自定义函数来解析两个!!之间的部分:
当读取到得字符串中有两个!存在并且字符串的第一个字符就是!的话(使用$ooo=StringSplit($zifuchuan,"!"),用$ooo[0]=3和$ooo[1]=""来嵌套验证),启动这个解析函数,在这个函数里面进行一些常见的系统目录宏的识别,
1.分割字符串为!之间的部分$a和之后的部分$b(这个能做到吧)
2.识别$a部分,例如if $a = "@WindowsDir" then
$i=@WindowsDir
elseif $a = "@ProgramFilesDir" then
$i=@ProgramFilesDir
……
else
msgbox(1,"出错了"."路径设置错误。") ;当然你也可以用别的语句代替
$i = 1
endif
3.合并分析后的路径,简单了,$lujing = $i & $b,当然
if $i = 1 then
$lujing = @DesktopDir
else
$lujing = $i & $b
;这个位置可以增加一句分析$lujing是否存在的代码,不存在的话,要么创建要么$lujing = @DesktopDir
endif
当然@DesktopDir你可以设置成自己需要的啦。
上述有点乱,不知道能否帮助楼主。 |