开发者

How to get the path of the exexuter in C++?

I am usin开发者_开发百科g Visual studio 2008 and I want to get the absolute path of the .exe file? meaning when the user opens the exe file, I need to know its absolute path??

thanks in advance


Under Windows try the following:

char ExeName[8192]; // or what ever max. size you expect.

if (0 != GetModuleFileName (NULL, ExeName, sizeof (ExeName)))
{
  printf ("Your array was probably not large enough. Call GetLastError for details\n");
}

If you compile for unicode use wchar_t.


Using the _pgmptr or _wpgmptr global variable is probably the easiest way.* (They're in stdlib.h.)

*Note: Under some rather rare circumstances, it's possible that this won't work... in that case, use GetModuleFileName(NULL, ...);


If you want to obtain a path of the current process, you should use API function:

GetModuleFileName

But, if you want to obtain a full path of the process that is not written by you, use

GetModuleFileNameEx

Above function expects one argument more than GetModuleFileName - it is a HANDLE of a process which path is supposed to be obtained. It is explained in more details on MSDN.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜