3

ShellExecuteで「.exe」拡張子のない実行可能ファイルを開きたい。CreateProcessを使用できますが、ShellExecuteを使用することを好みます。それを行う方法はありますか?

私はwin32api関数でC++を使用しています。

ありがとうございました。

4

1 に答える 1

14

構造体lpClassメンバーをSHELLEXECUTEINFO使用して、「このファイルは、拡張子からは見えませんが、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;
}
于 2012-10-01T21:15:13.993 に答える