玄关
  • 板块灌水区
  • 楼主lzh009
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/4/26 20:09
  • 上次更新2024/4/26 22:32:31
查看原帖
玄关
952814
lzh009楼主2024/4/26 20:09

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上运行(不需要改);

整份代码太长了,就先不挂在这里了

2024/4/26 20:09
加载中...