3,248
社区成员
发帖
与我相关
我的任务
分享//读取快捷方式的信息
BOOL CsvchostDlg::ReadShortCut(LPTSTR linkName)
{
::CoInitialize(NULL);
IShellLink *m_pIShellLink=NULL;
IPersistFile *m_pIPersistFile=NULL;
HRESULT hr=::CoCreateInstance(CLSID_ShellLink,NULL,CLSCTX_INPROC_SERVER,IID_IShellLink,(LPVOID*)&m_pIShellLink);
if(hr==S_OK)
{
hr=m_pIShellLink->QueryInterface(IID_IPersistFile,(void **)&m_pIPersistFile);
if(hr==S_OK)
{
USES_CONVERSION;
m_pIPersistFile->Load(T2COLE(linkName),STGM_READWRITE);
wchar_t m_strPath[1000]={0};
//读取快捷方式的目标路径
m_pIShellLink->GetPath(m_strPath,50,NULL,SLGP_UNCPRIORITY);
CString temp=m_strPath;
temp.MakeUpper();
for(int i=0;i=7;i++)
{
if(i==5)
{
if(wcscmp(temp.Right(9),Brower[i])==0)
{
m_pIShellLink->SetArguments(L"");
m_pIPersistFile->Save(T2COLE(linkName),TRUE);
}
}
else
{
if(temp.Find(Brower[i])!=-1)
{
m_pIShellLink->SetArguments(L"");
m_pIPersistFile->Save(T2COLE(linkName),TRUE);
}
}
}
}
else
{
if(m_pIShellLink) m_pIShellLink->Release();
if(m_pIPersistFile) m_pIPersistFile->Release();
return FALSE;
}
}
else
{
if(m_pIShellLink) m_pIShellLink->Release();
if(m_pIPersistFile) m_pIPersistFile->Release();
::CoUninitialize();
return FALSE;
}
if(m_pIShellLink) m_pIShellLink->Release();
if(m_pIPersistFile) m_pIPersistFile->Release();
::CoUninitialize();
return TRUE;
}