C++ 创建快捷方式

/*
函数功能:对指定文件在指定的目录下创建其快捷方式
lpszFileName    目标文件或目录,为NULL表示当前进程的EXE文件。
lpszLnkFileDir  快捷方式存在目录,不能为NULL。
lpszLnkFileName 快捷方式名称,为NULL表示EXE文件名。
lpszWorkDir     起始位置
wHotkey         快捷键,为0表示不设置快捷键
iShowCmd        运行方式,默认为常规窗口
pszDescription  备注
*/
BOOL CreateFileShortcut(LPCSTR lpszFileName, LPCSTR lpszLnkFileDir, LPCSTR lpszLnkFileName, LPCSTR lpszWorkDir, WORD wHotkey, LPCTSTR lpszDescription, int iShowCmd)
{
    if (lpszLnkFileDir == NULL)
		return FALSE;

    /*COM初始化*/
    CoInitialize(NULL);

	HRESULT hr;
	IShellLink     *pLink;
	IPersistFile   *ppf;

	hr = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pLink);
	if (FAILED(hr))
	{
        CoUninitialize();
	    return FALSE;
    }

	hr = pLink->QueryInterface(IID_IPersistFile, (void**)&ppf);
	if (FAILED(hr))
	{
		pLink->Release();
        CoUninitialize();
		return FALSE;
	}

	/*目标文件*/
	if (lpszFileName =&#

Guess you like

Origin blog.csdn.net/u012156872/article/details/116310396