IShellLink应用(创建快捷方式)

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

#include "stdafx.h"

#include <shlobj.h>

int _tmain(int argc, _TCHAR* argv[])

{

::CoInitialize(NULL);

//创建2个接口

CComPtr<IShellLink> spShellLink;

HRESULT hr=spShellLink.CoCreateInstance(CLSID_ShellLink);

CComPtr<IPersistFile> spPersistFile;

//取得此EXE的文件名及路径

TCHAR FileName[MAX_PATH+1];

ZeroMemory(FileName, MAX_PATH+1);

GetModuleFileName(NULL, FileName, MAX_PATH);

hr=spShellLink->SetPath(FileName);

hr=spShellLink->SetDescription("备注:随便写点");

hr=spShellLink->QueryInterface(IID_IPersistFile, (void **)&spPersistFile);

//取得桌面的全路径

LPITEMIDLIST pidl;

hr = SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl);

TCHAR szPath[MAX_PATH];

SHGetPathFromIDList(pidl, szPath);

//创建快捷方式

CComBSTR strLinkFilePath(szPath);

strLinkFilePath.Append(L"\\测试.lnk");

hr=spPersistFile->Save(strLinkFilePath, TRUE);

spPersistFile.Release();

spShellLink.Release();

::CoUninitialize();

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航