我想用 ShellExecute 打开一个没有“.exe”扩展名的可执行文件。我可以使用 CreateProcess,但我更喜欢使用 ShellExecute。有什么办法吗?

我将 C++ 与 win32api 函数一起使用。

谢谢你。

最佳答案

您使用 the lpClass member of the SHELLEXECUTEINFO structure 表示:“我希望您将此文件视为 EXE,即使它看起来不像扩展名中的文件。”

int _tmain(int argc, _TCHAR* argv[])
{
  SHELLEXECUTEINFO sei = {0};
  sei.cbSize = sizeof(sei);
  sei.nShow = SW_SHOWNORMAL;
  sei.lpFile = TEXT("myprogram.wrongextension");
  sei.fMask = SEE_MASK_CLASSNAME;
  sei.lpVerb = TEXT("open");
  sei.lpClass = TEXT("exefile");
  ShellExecuteEx(&sei);
  return 0;
}

关于c++ - 使用 ShellExecute 打开没有 ".exe"扩展名的可执行文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12655314/

10-09 07:12