// 创建快捷方式
BOOL CCreateLnkDlg::CreateLink(LPSTR szPath,LPSTR szLink)
{
CoInitialize(NULL);
HRESULT hres;
IShellLink* psl;
IPersistFile* ppf;
WORD wsz[MAX_PATH];
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
IID_IShellLink, (void**)&psl);
if(FAILED(hres))
return FALSE;
psl->SetPath(szPath);
hres = psl->QueryInterface(IID_IPersistFile, (void**)&ppf);
if(FAILED(hres))
return FALSE;
MultiByteToWideChar(CP_ACP, 0, szLink, -1, wsz, MAX_PATH);
hres = ppf->Save(wsz, STGM_READWRITE);
ppf->Release();
psl->Release();
CoUninitialize();
return TRUE;
}
// 如何使用
CreateLink("c://a.txt", "d://a.lnk");
博客给出了使用VC++创建快捷方式的代码。定义了CreateLink函数,通过一系列操作如初始化COM库、创建IShellLink对象、设置路径等完成快捷方式创建,还给出了函数的使用示例,传入文件路径和快捷方式路径。
5283

被折叠的 条评论
为什么被折叠?



