我想用 ShellExecute 打开一个没有“.exe”扩展名的可执行文件。我可以使用 CreateProcess,但我更喜欢使用 ShellExecute。有什么办法吗?
我将 C++ 与 win32api 函数一起使用。
谢谢你。
您使用该结构的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;
}