小弟最近在写一个简单的进程重启工具的时候,发现当用 执行该程序时生成的Log文件消失了,在本地磁盘里面找了好久也找不到。当然我的问题不是该文件跑道哪里去了。而是说当我用函数打开该程序时为什么生成的文件消失了。
两个原因,一个是程序使用的是工作目录,而它和程序exe的目录不同,所以在别的地方
另一个原因是你的程序是32bit的,并且以uac提升了权限,windows使用了砂箱路径(sandbox),它位于当前用户路径下一个很隐蔽的位置。
HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd);
LPCTSTR lpDirectory这个参数可以指定工作路径的。