BOOLCreateLink(LPWSTRszPath,LPCWSTRszLink){HRESULThres;IShellLink*psl;IPersistFile*ppf;WORDwsz[MAX_PATH];CoInitialize(NULL);hres=CoCreateInstance(CLSID_ShellLink,NULL,CLSCTX_INPROC_SERVER,IID_IShellLink,(void**)&psl);if(FAILED(hres)){returnFALSE;}psl->SetPath(szPath);psl->SetHotkey(MAKEWORD('M',HOTKEYF_SHIFT|HOTKEYF_CONTROL));hres=psl->QueryInterface(IID_IPersistFile,(void**)&ppf);if(FAILED(hres))returnFALSE;//MultiByteToWideChar(CP_ACP,0,szLink,-1,(LPWSTR)&wsz[0],MAX_PATH);hres=ppf->Save((LPCOLESTR)szLink,STGM_READWRITE);ppf->Release();psl->Release();CoUninitialize();returnTRUE;}VOIDCreateShortCut(CStringstrAppName){TCHARDeskTopPath[MAX_PATH];TCHARcurrDirPath[MAX_PATH];LPITEMIDLISTpidl=NULL;if(SUCCEEDED(SHGetFolderLocation(NULL,CSIDL_DESKTOP,NULL,0,&pidl))){SHGetPathFromIDList(pidl,DeskTopPath);IMalloc*pMalloc=NULL;::SHGetMalloc(&pMalloc);pMalloc->Free(pidl);pMalloc->Release();}CStringtmp1=GetApplicationPath2()+strAppName;TCHARszFilename[MAX_PATH];TCHARszDrive[MAX_PATH];TCHARszPath[MAX_PATH];TCHARszExt[MAX_PATH];_wsplitpath_s(tmp1,szDrive,255,szPath,255,szFilename,255,szExt,255);USES_CONVERSION;if(_access(W2A(tmp1),0)==-1)return;CStringtmp;tmp=DeskTopPath;tmp+="\\";tmp+=szFilename;tmp+=_T(".lnk");if(!CreateLink(tmp1.GetBuffer(),tmp))AfxMessageBox(_T("创建快捷方式出错!"));tmp1.ReleaseBuffer();}