创建桌面快捷方式
来源:互联网 发布:stc单片机iap选型 编辑:程序博客网 时间:2024/06/06 16:37
BOOL CreateFileShortcut(LPCWSTR lpszFileName, LPCWSTR lpszLnkFileDir, LPCWSTR lpszLnkFileName, LPCWSTR lpszWorkDir, WORD wHotkey, LPCWSTR lpszDescription, int iShowCmd = SW_SHOWNORMAL)
{
if (lpszLnkFileDir == NULL)
return FALSE;
HRESULT hr;
IShellLink *pLink; //IShellLink对象指针
IPersistFile *ppf; //IPersisFil对象指针
//创建IShellLink对象
hr = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pLink);
if (FAILED(hr))
return FALSE;
//从IShellLink对象中获取IPersistFile接口
hr = pLink->QueryInterface(IID_IPersistFile, (void**)&ppf);
if (FAILED(hr))
{
pLink->Release();
return FALSE;
}
wchar_t *path;
_get_wpgmptr(&path);
pLink->SetPath(L"D://");
pLink->SetArguments(L"D:\\项目\\雷霆之怒2(0326)\\雷霆2\\贪玩雷霆之怒3.exe");
pLink->SetIconLocation(L"E:\\vs2008项目\\testlogin\\testlogin\\res\\app.ico",0);
//工作目录
if (lpszWorkDir != NULL)
pLink->SetPath(lpszWorkDir);
//快捷键
if (wHotkey != 0)
pLink->SetHotkey(wHotkey);
//备注
if (lpszDescription != NULL)
pLink->SetDescription(lpszDescription);
//显示方式
pLink->SetShowCmd(iShowCmd);
//快捷方式的路径 + 名称
//char szBuffer[MAX_PATH];
CString strLnk;
strLnk.Format(_T("%s\\%s"),lpszLnkFileDir, lpszLnkFileName);
hr = ppf->Save(strLnk, TRUE);
ppf->Release();
pLink->Release();
return SUCCEEDED(hr);
}
BOOL GetDesktopPath(wchar_t *pszDesktopPath)
{
LPITEMIDLIST ppidl = NULL;
if (SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &ppidl) == S_OK)
{
BOOL flag = SHGetPathFromIDList(ppidl, pszDesktopPath);
CoTaskMemFree(ppidl);
return flag;
}
}
{
if (lpszLnkFileDir == NULL)
return FALSE;
HRESULT hr;
IShellLink *pLink; //IShellLink对象指针
IPersistFile *ppf; //IPersisFil对象指针
//创建IShellLink对象
hr = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pLink);
if (FAILED(hr))
return FALSE;
//从IShellLink对象中获取IPersistFile接口
hr = pLink->QueryInterface(IID_IPersistFile, (void**)&ppf);
if (FAILED(hr))
{
pLink->Release();
return FALSE;
}
wchar_t *path;
_get_wpgmptr(&path);
pLink->SetPath(L"D://");
pLink->SetArguments(L"D:\\项目\\雷霆之怒2(0326)\\雷霆2\\贪玩雷霆之怒3.exe");
pLink->SetIconLocation(L"E:\\vs2008项目\\testlogin\\testlogin\\res\\app.ico",0);
//工作目录
if (lpszWorkDir != NULL)
pLink->SetPath(lpszWorkDir);
//快捷键
if (wHotkey != 0)
pLink->SetHotkey(wHotkey);
//备注
if (lpszDescription != NULL)
pLink->SetDescription(lpszDescription);
//显示方式
pLink->SetShowCmd(iShowCmd);
//快捷方式的路径 + 名称
//char szBuffer[MAX_PATH];
CString strLnk;
strLnk.Format(_T("%s\\%s"),lpszLnkFileDir, lpszLnkFileName);
hr = ppf->Save(strLnk, TRUE);
ppf->Release();
pLink->Release();
return SUCCEEDED(hr);
}
BOOL GetDesktopPath(wchar_t *pszDesktopPath)
{
LPITEMIDLIST ppidl = NULL;
if (SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &ppidl) == S_OK)
{
BOOL flag = SHGetPathFromIDList(ppidl, pszDesktopPath);
CoTaskMemFree(ppidl);
return flag;
}
}
0 0
- 创建锁定桌面快捷方式
- 创建桌面快捷方式
- 创建linux桌面快捷方式
- 如何创建桌面快捷方式
- DELPHI创建桌面快捷方式
- WinCE创建桌面快捷方式
- wince创建桌面快捷方式
- ubuntu 创建桌面快捷方式
- C++创建桌面快捷方式
- 创建桌面快捷方式
- 桌面快捷方式的创建
- linux创建桌面快捷方式
- Ubuntu创建桌面快捷方式
- python 创建桌面快捷方式
- 创建桌面快捷方式
- vc 创建桌面快捷方式
- android 创建桌面快捷方式
- Ubuntu创建桌面快捷方式
- input绑定回车事件
- 数据结构 环形单链表的约瑟夫问题
- 一位ACMer过来人的心得
- fir.im Weekly - Mobile developer 利器分享
- android 6.0权限申请
- 创建桌面快捷方式
- Codeforces Round #365 (Div. 2) C题(线性约束)
- 进制转换中1的个数--E
- 每日一linux命令(46)-------telnet命令
- Python 遍历文件夹的方法:
- ./ ../ /之间的区别
- 关于Android 签名的问题
- 为什么我们应该尽快升级到 HTTPS?
- DataCastle[用户人品预测竞赛]——获奖团队分享