溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在桌面上創(chuàng)建快捷方式

發(fā)布時(shí)間:2020-07-23 09:58:05 來(lái)源:網(wǎng)絡(luò) 閱讀:314 作者:Chinayu2014 欄目:編程語(yǔ)言
BOOL CreateLink(LPWSTR szPath, LPCWSTR szLink)
{
	HRESULT hres;
	IShellLink * psl;
	IPersistFile* ppf;
	WORD wsz[MAX_PATH];

	CoInitialize(NULL);
	hres = CoCreateInstance(
		CLSID_ShellLink,
		NULL,
		CLSCTX_INPROC_SERVER,
		IID_IShellLink,
		(void **)&psl);

	if (FAILED(hres))
	{
		return FALSE;
	}
	psl->SetPath(szPath);
	psl->SetHotkey(MAKEWORD('M', HOTKEYF_SHIFT | HOTKEYF_CONTROL));

	hres = psl->QueryInterface(IID_IPersistFile, (void**)&ppf);
	if (FAILED(hres))
		return FALSE;

	//MultiByteToWideChar(CP_ACP, 0, szLink, -1, (LPWSTR)&wsz[0], MAX_PATH);

	hres = ppf->Save((LPCOLESTR)szLink, STGM_READWRITE);

	ppf->Release();
	psl->Release();
	
	CoUninitialize();

	return TRUE;
}

VOID  CreateShortCut(CString  strAppName)
{
	TCHAR DeskTopPath[MAX_PATH];
	TCHAR currDirPath[MAX_PATH];
	LPITEMIDLIST pidl = NULL;

	if (SUCCEEDED(SHGetFolderLocation(NULL,
		CSIDL_DESKTOP, NULL, 0, &pidl)))
	{
		SHGetPathFromIDList(pidl, DeskTopPath);
		IMalloc* pMalloc = NULL;
		::SHGetMalloc(&pMalloc);
		pMalloc->Free(pidl);
		pMalloc->Release();
	}

	CString tmp1 = GetApplicationPath2() + strAppName;

	TCHAR szFilename[MAX_PATH];
	TCHAR  szDrive[MAX_PATH];
	TCHAR  szPath[MAX_PATH];
	TCHAR  szExt[MAX_PATH];
	_wsplitpath_s(tmp1, szDrive,255, szPath,255, szFilename,255, szExt,255);

	USES_CONVERSION;
	if (_access(W2A(tmp1), 0) == -1)return;
	
	CString tmp;
	tmp = DeskTopPath;
	tmp += "\\";
	tmp += szFilename;
	tmp += _T(".lnk");
	if (!CreateLink(tmp1.GetBuffer(), tmp))
		AfxMessageBox(_T("創(chuàng)建快捷方式出錯(cuò)!"));

	tmp1.ReleaseBuffer();
}


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI