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

void CCreateShortCutDlg::CreateShortCut( CString csLinkPath, CString csExePath,CString csWorkingDir, CString csIconPath )
{
	HRESULT hres;
	hres = ::CoInitialize(NULL);
	if(S_OK == hres)
	{
		//delete old link
		CFileFind 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值