DEV-C++上的
TCHAR Path[MAX_PATH];
ZeroMemory(Path, MAX_PATH);
::GetModuleFileName(NULL, Path, MAX_PATH);
HINSTANCE res;
res = ShellExecute(NULL, "runas", Path, Param, NULL, Showcmd);
到了VS上就需要改成
TCHAR Path[MAX_PATH];
ZeroMemory(Path, MAX_PATH);
::GetModuleFileName(NULL, Path, MAX_PATH);
HINSTANCE res;
wchar_t wideParam[MAX_PATH];
MultiByteToWideChar(CP_ACP, 0, Param, -1, wideParam, MAX_PATH);
res = ShellExecute(NULL, L"runas", Path, wideParam, NULL, Showcmd);
才能编译通过,原因是VS上所调用的函数要求返回值为宽字符,而DEV-C++是窄字符,请问应该怎么办才可以是这份代码可以在VS和DEV上运行(不需要改);
整份代码太长了,就先不挂在这里了