我已阅读并了解 lpClass 可用于修复“错误的文件扩展名问题”。但是,当我阅读以下代码行时,我无法弄清楚打开可执行文件时 lpClass 的用途。
//code excerpt from foo.exe
SHELLEXECUTEINFO info;
ZeroMemory(&info, sizeof(SHELLEXECUTEINFO));
info.cbSize = sizeof(SHELLEXECUTEINFO);
info.nShow = SW_NORMAL;
info.lpVerb = L"open";
info.lpClass = L"ProgId Of foo.exe"; //what is this used for???
info.fMask = SEE_MASK_FLAG_LOG_USAGE | SEE_MASK_CLASSNAME;
info.lpFile = L"bar.exe";
info.lpParameters = lpszParam;
ShellExecuteEx(&info);
在没有指定 lpClass 的情况下,如果 lpVerb 是“open”并且 lpFile 是 exe,则运行代码只会执行 exe。但是如果在这种情况下指定 lpClass 怎么办?