找了一段快捷方式的代码,但编译就通不过,#include 就出错,好象是重复定义了很多变量?

jaffy jaffy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
第一次用COM,接口,很多地方都不懂,大家来教教我
IShellLink* pLink; // IShellLink介面可讓我們建立捷徑。
IPersistFile* pPersistFile; // IPersistFile 可將link存於硬碟中。
if(SUCCEEDED(CoInitialize(NULL)))// 首先進行COM程式庫的初始化。
{// 建立IShellLink物件的實體。
if(SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,IID_IShellLink, (void **)&pLink)))
{
// 快把捷徑的相關資訊填一填。
pLink->SetPath(sfile);
pLink->SetDescription(sfile);
pLink->SetShowCmd(SW_SHOW);
// 把捷徑存到硬碟去。
if(SUCCEEDED(pLink->QueryInterface(IID_IPersistFile, (void **)&pPersistFile)))
{
// 讓IPersistFile物件把捷徑存到桌面上。因為,Win32平台支援多國語言,所以這邊要用WideString。
WideString strShortCutLocation(tfile);
pPersistFile->Save(strShortCutLocation.c_bstr(), TRUE);
pPersistFile->Release();
}
pLink->Release();
}
// 結束了,記得釋放COM程式庫的資源。
CoUninitialize();
return 0 ;
}
return -1 ;
...全文
评论 13
收藏 已收藏
分享
返回顶部
jaffy
ActiveX/COM/DCOM 703 成员 3,001 内容