开发者

GetCurrentDirectory for startup App. c++ [duplicate]

开发者 https://www.devze.com 2023-02-05 07:16 出处:网络
This question already has answers here: Closed 12 years ago. Possible Duplicates: Win32: Find what directory the running process EXE is stored in
This question already has answers here: Closed 12 years ago.

Possible Duplicates:

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)?

hi, i want to make my application run on statup,it uses some of files in the same directory.it works good but when it start at startup the GetCurrentDirectory is "c:\Documen开发者_如何转开发ts and Settings\User\"..but i want the actual path of the exe file.how i can get it in c++. please help me. thanks.


Try using GetModuleFileName or GetModuleFileNameEx.

Do this:

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 */
}

Note I'm passing NULL as first argument, because MSDN says,

"If this parameter is NULL, GetModuleFileName retrieves the path of the executable file of the current process."

which is what you want. Right?


Using argv maybe:

int main(int argc, char* argv[])
{
  // argv[0] is the path to binary file you're running
  // ...
  return 0;
}

The profit is that this method is platform-independent and has no needs for any system calls.

0

精彩评论

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