作者TKyo (暗黑贵公子)
看板Programming
标题Re: [请益] Win32 progrmming--CurrentDirectory
时间Mon Dec 29 08:23:21 2008
※ 引述《琏琏 <[email protected]>, 看板: Programming》之铭言:
: 1.
: 不是,不要想太多,就是工作路径,例如捷径里面有个开始位置,那个就可以跟执行档
: 不同,也是工作路径。
: 工作路径可以独立设定,透过 Windows Shell 跑的时候,若没有设定,预设会是执行档
: 路径。例如档案总管是 Windows Shell 的一部分。
: 当你 A 呼叫 B 所用的 API 没指定 B 的工作路径时,B 的 Process 才会在 A 的工作
: 路径上,若是用编译器或语言自带的 Shell 方法,则看编译器是否有预设值而定。
: A / B / E 是三个独立的 Process ,可以有各自的工作路径。
GetCurrentDirectory() 的定义应该说是该 Process 的完整路径
ShellExecute() 如上 devil 上篇所述, 补充一下 CreateProcess() 部分
A 呼叫 B, 使用 CreateProcess() 方式时, 一定要指定完整路径, 不然会呼叫失败
而这时被呼叫的 B, B 呼叫 GetCurrentDirectory() 後则是 B 的完整路径
如果 B 是 .lnk, B 呼叫 GetCurrentDirectory() 後则是 B 的工作路径
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.168.73