【框架-MFC】C++ 创建快捷方式

来源:互联网 发布:windows nt server 编辑:程序博客网 时间:2024/05/16 15:42
void CCreateShortCutDlg::CreateShortCut( CString csLinkPath, CString csExePath,CString csWorkingDir, CString csIconPath ){HRESULT hres;hres = ::CoInitialize(NULL);if(S_OK == hres){//delete old linkCFileFind cfind;if(cfind.FindFile(csLinkPath)){CFile::Remove(csLinkPath);}IShellLink * pShellLink ;hres = ::CoCreateInstance( CLSID_ShellLink, NULL,CLSCTX_INPROC_SERVER, IID_IShellLink,(void **)&pShellLink);if( SUCCEEDED( hres)){pShellLink -> SetPath(csExePath);if(PathFileExists(csIconPath))pShellLink -> SetIconLocation(csIconPath, 0); pShellLink -> SetHotkey( MAKEWORD( 'R', HOTKEYF_SHIFT | HOTKEYF_CONTROL));//csWorkingDir = csExePath.Left(2);//csWorkingDir.Append(FILE_SEPARATOR);//TRACE_CS(csWorkingDir);pShellLink->SetWorkingDirectory(csWorkingDir);IPersistFile *pPersistFile;hres = pShellLink -> QueryInterface( IID_IPersistFile, (void **)&pPersistFile) ;if( SUCCEEDED(hres)){hres = pPersistFile -> Save(csLinkPath, TRUE);pPersistFile -> Release();}pShellLink -> Release();}::CoUninitialize();}    }
, m_sLink(_T("C:\\Users\\Public\\Desktop\\Pro ENGINEER.lnk"))
, m_sExe(_T("E:\\ptc\\proeWildfire4.0\\bin\\proe.exe"))
, m_sDir(_T("F:\\work\\ards\\AmmunitionDesign2005"))
, m_sIcon(_T("E:\\ptc\\proeWildfire4.0\\install\\nt\\mmotion.ico"))
0 0