系统是如何识别路径的 ( 积分: 25 )

  • 主题发起人 主题发起人 sy0116
  • 开始时间 开始时间
S

sy0116

Unregistered / Unconfirmed
GUEST, unregistred user!
比如说我在autorun.inf中写open="./a/a.exe abcd",然后系统在自动运行的时候会这样调用CreateProcessW('f:/.a/a.exe','"f:/a/a.exe" abcd',……);请问系统是如何把="./a/a.exe abcd"这样的路径转换成'f:/.a/a.exe和"f:/a/a.exe" abcd的呢?有相关的API吗
 
应该是参数调用把
 
楼上能讲清楚点吗
 
不是跟你在命令行里打入./a/a.exe&nbsp;abcd一样吗?系统在调用的时候就分paramstr(i)吧。<br>我不大清楚,我不是微软的,嘿嘿!
 
但是,我的autorun.inf中路径写的是&quot;./a/a.exe&nbsp;abcd&quot;,系统在调用CreateProcessW时自动把lpApplication变成了f:/.a/a.exe,引号去掉了,如果我写的是f:/.a/a,系统也会自动加上.exe,这是如何实现的?别告诉我自己写啊,我的目的不是这个,我是要在任何情况下都得到和系统一样的路径,所以怕自己写的代码不能做到这一点
 
你用&nbsp;&nbsp;GetCommandLine&nbsp;就知道了。
 
你用ExpandFileName试试看。
 
至于扩展名识别,你显然要根据系统的调用规则来咯,com-exe-bat
 
function&nbsp;WindowsDirectory:&nbsp;string;<br>&nbsp;&nbsp;var<br>&nbsp;&nbsp;&nbsp;&nbsp;WinDir:&nbsp;array&nbsp;[0..MAX_PATH]&nbsp;of&nbsp;char;<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;GetWindowsDirectory(WinDir,&nbsp;MAX_PATH);<br>&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:=&nbsp;WinDir;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Result[Length(Result)]&nbsp;&lt;&gt;&nbsp;'/'&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;:=&nbsp;Result&nbsp;+&nbsp;'/';<br>end;<br><br>这个是获取WINDOWS目录的&nbsp;不知道适合不
 
GetCurrentDirectory啊!
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
759
import
I
I
回复
0
查看
501
import
I
I
回复
0
查看
516
import
I
I
回复
0
查看
800
import
I
后退
顶部