比如说我在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的呢?如果我写的是f:\.a\a,系统也会自动加上.exe,这是如何实现的?有相关的API吗 ?别告诉我自己写啊,我的目的不是这个,我是要在任何情况下都得到和系统一样的路径,所以怕自己写的代码不能做到这一点  

解决方案 »

  1.   

    你只要知道DOS操作系统下.和..是什么意思,那一切就明白了。
      

  2.   

    关于“系统也会自动加上.exe”:我记得DOS下(windows下应该也是),命令行状态下执行一个命令,可以不带扩展名,这样系统就按*.com--->*.exe--->*.bat等顺序查找,找到一个,就执行它,并不再继续查找。我说的顺序可能不准确,并且Windows下有更多的可执行程序(或服务)扩展名。
      

  3.   

    还有,如果我写成f:\////////////////////////1 -abcd
    系统也可以把lpCommandline变成"f:\1.exe" -abcd
      

  4.   

    CreateProcessW 的帮助里应该有说明。