vs2013 MFC生成文件和文件夹的快捷方式
来源:互联网 发布:windows defender开启 编辑:程序博客网 时间:2024/05/18 00:07
没有封装成函数
文件:
//快捷方式保存路径char PathLink[]="D:/a file.lnk";CoInitialize(NULL);HRESULT hres;IShellLink* psl;// Get a pointer to the IShellLink interface. hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,IID_IShellLink, (LPVOID*)&psl);if (SUCCEEDED(hres)){IPersistFile* ppf;//设置快捷方式的目标路径,添加描述 psl->SetPath(_T("D:/Mosaic2.jpg"));//描述:就是备注psl->SetDescription(_T("link of file"));//生成快捷方式hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);if (SUCCEEDED(hres)){WCHAR wsz[MAX_PATH];// Ensure that the string is Unicode. MultiByteToWideChar(CP_ACP, 0, PathLink, -1, wsz, MAX_PATH);// TODO: Check return value from MultiByteWideChar to ensure // Save the link by calling IPersistFile::Save. hres = ppf->Save(wsz, TRUE);ppf->Release();}psl->Release();}CoUninitialize();
效果图:(这里生成的是一张图片的快捷方式)
文件夹:(可以自己设置返回BOOL值)
CString strName("www");//快捷方式名称CString path;//快捷方式目标路径path.Format(_T("D:\\www"));if (FAILED(CoInitialize(NULL))){return ;}int i = CSIDL_DESKTOPDIRECTORY;//用于获取系统默认路径TCHAR Path[MAX_PATH + 1];CString strDestDir;LPITEMIDLIST pidl;LPMALLOC pShell;if (SUCCEEDED(SHGetMalloc(&pShell))){if (SUCCEEDED(SHGetSpecialFolderLocation(NULL, i, &pidl))){if (!SHGetPathFromIDList(pidl, Path)){pShell->Free(pidl);::CoUninitialize();return ;}pShell->Release();strDestDir.Format(_T("%s"), Path);//保存快捷方式的文件夹strDestDir += "\\";strDestDir += strName;//设置桌面快捷方式的名字strDestDir += ".lnk";//快捷方式的后缀名IShellLink* psl;if (SUCCEEDED(CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl))){psl->SetPath(path);//设置快捷方式的目标位置//比如目标位置为C:\windows\a.txt 起始位置就应该设置为C:\windows否则会导致不可预料的错误//如果是文件夹的快捷方式起始位置和目标位置可以设置为一样psl->SetWorkingDirectory(path); //设置快捷方式的起始位置IPersistFile* ppf;if (SUCCEEDED(psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf))){if (SUCCEEDED(ppf->Save(strDestDir, TRUE)))//保存快捷方式到桌面{//例子中声明void,这里就不写}}ppf->Release();psl->Release();::CoUninitialize();return ;}}}::CoUninitialize();return ;
效果图:
0 0
- vs2013 MFC生成文件和文件夹的快捷方式
- VS2013 更改MFC标题栏图标和生成的执行文件图标
- MFC 获取文件和文件夹的路径
- vs2013 MFC打开文件或文件夹对话框(有图有真相)
- MFC遍历文件和文件夹
- VS2013禁止生成ipch和sdf文件
- vs2013生成lib和dll库文件
- 在MFC中如何获取文件和文件夹的路径
- 如何读取快捷方式的信息和生成一个快捷方式?
- 配置和使用VS2013 MFC的若干问题
- VS2012、VS2013环境将ipch文件夹和sdf文件移除到其他地方的设置
- [MFC C++]得到用户文档路径,防止用户权限,软件不能生成新文件和文件夹
- VS2013 生成XP下的exe文件
- QMake 生成VS2013的工程文件
- QMake 生成VS2013的工程文件
- VS2013生成DLL文件
- VS2013生成DLL文件
- VS2013生成DLL文件
- Qt 对象树 <一>
- CocoaPods的安装和使用
- shell应用编程-简单实例
- Android(安卓),如何查看App渠道号?
- UITableView 获取多选,单选的内容
- vs2013 MFC生成文件和文件夹的快捷方式
- Android 5.0 蓝牙自动发送单个文件到其他设备
- openwrt系统32GTF卡分区问题
- django 1.8 官方文档翻译:13-1-2 使用Django认证系统
- Qt 命令行编译
- 欢迎使用CSDN-markdown编辑器
- hibernate日期和时间注解
- Mvvmcross Plugins - Cirrious.MvvmCross.Plugins.Messenger
- 【html5多媒体】自定义播放器(弹幕,水印,甚至在视频开头添加封面)