可能重复:
Win32: Find what directory the running process EXE is stored in
How to get the application executable name in Windows (C++ Win32 or C++/CLI)?
喜 我想让我的应用程序在statup上运行,它使用同一目录中的一些文件。它运行良好但是当它在启动时启动时,GetCurrentDirectory是“c:\ Documents and Settings \ User \”..但我想要实际exe文件的路径。我可以用c ++获取它。 请帮我。 感谢。
答案 0 :(得分:3)
尝试使用GetModuleFileName
或GetModuleFileNameEx
。
这样做:
wchar_t exeDirectory[1024]; //to store the directory
DWORD ret = GetModuleFileName(NULL, exeDirectory, 1024);
if ( ret )
{
/*the path to your EXE is stored in the variable "exeDirectory" - use it */
}
注意我将NULL作为第一个参数传递,因为MSDN说,
“如果此参数为NULL, GetModuleFileName检索路径 当前的可执行文件 过程“。
这就是你想要的。正确?
答案 1 :(得分:-1)
使用argv:
int main(int argc, char* argv[])
{
// argv[0] is the path to binary file you're running
// ...
return 0;
}
利润是这种方法与平台无关,不需要任何系统调用。