上位机MFC创建桌面或开始菜单快捷方式源代码
我们知道程序可以通过快捷图标快速方便的打开。
例程运行时界面如上图。
可以在界面 上选择是在桌面还是在开始 菜单生成程序的快捷图标。
点击创建 快捷方式按钮后,会弹出选择程序对话框,用于选择要创建快捷图标 的程序。
点击删除快捷方式,
可以选择要删除的快捷图标。
两按钮关键代码如下。
- void CShortCutDlg::OnCreateItem()
- {
- UpdateData(TRUE);
- if(m_nLocation==0)
- {
- //设置起始文件夹为桌面
- nBeginAt=CSIDL_DESKTOPDIRECTORY ;
- }
- else
- {
- //设置起始文件夹为“开始”菜单
- nBeginAt=CSIDL_STARTMENU;
- }
- char szPath[MAX_PATH]="";
- //快捷方式的目标应用程序名
- char szLink[MAX_PATH]="";
- //快捷方式的数据文件名
- // 取得快捷方式的目标应用程序名
- if( !SelectMenuItem( szPath))
- return ;
- // 取得新建快捷方式所在的文件夹
- //并形成其数据文件名
- if( !GetShortcutCrt( szLink))
- return ;
- // 创建快捷方式
- if(!CreateLink( szPath, szLink) )
- return;
- // 通知shell有关变化
- NotifyShell( SHCNE_CREATE|SHCNE_INTERRUPT,
- szLink) ;
-
- }
- void CShortCutDlg::OnDeleteGroup()
- {
- UpdateData(TRUE);
- if(m_nLocation==0)
- {
- //设置起始文件夹为桌面
- nBeginAt=CSIDL_DESKTOPDIRECTORY ;
- }
- else
- {
- //设置起始文件夹为“开始”菜单
- nBeginAt=CSIDL_STARTMENU;
- }
- LPITEMIDLIST pidlBeginAt, pidlFolder ;
- char szPath[MAX_PATH]="";
- // 取得开始菜单或桌面的PIDL
- SHGetSpecialFolderLocation( HWND_DESKTOP,
- nBeginAt, &pidlBeginAt) ;
- // 取得要删除的文件夹
- if( !BrowseForFolder( pidlBeginAt, &pidlFolder,
- "请选择要删除的文件夹/菜单组:"))
- return ;
- // 把PIDL转化为路径名
- SHGetPathFromIDList( pidlFolder, szPath) ;
- // 删除文件夹
- if(!DeleteFolder( szPath))
- return ;
- // 通知shell有关变化
- NotifyShell( SHCNE_RMDIR|SHCNE_INTERRUPT,
- szPath) ;
-
- }
复制代码 源代码下载地址:
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|