现在有如下需求:有一个文件Example.exe放在加载进进程的一个kernel.dll的同级目录下,现在要获取该Example.exe的文件路径,程序如下所示:
BOOL __getOtherFilePath()
{
HINSTANCE hr;
WCHAR ExampleFileName[] = L"\\ExmapleDemo.exe";
WCHAR ExampleFilePath[MAX_PATH] = { 0 };//用来存放获取的完整路径
HMODULE wpsMinisiteDll = ::LoadLibrary(L"Kernel.dll");
if (wpsMinisiteDll == NULL)
{
_tprintf(L"Load the kernel.dll path failed.");
return false;
}
::GetModuleFileName(wpsMinisiteDll, ExampleFilePath, MAX_PATH);
::PathRemoveFileSpec(ExampleFilePath);
::PathRemoveBackslash(ExampleFilePath);
errno_t concatError = wcscat_s(ExampleFilePath, ARRAYSIZE(ExampleFilePath), ExampleFileName);
if (concatError != 0)
return false;
return true;
}