找了一段快捷方式的代码,但编译就通不过,#include 就出错,好象是重复定义了很多变量?
jaffy 2006-07-21 02:16:06 第一次用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 ;