工控编程吧
标题:
上位机MFC创建桌面或开始菜单快捷方式源代码
[打印本页]
作者:
qq263946146
时间:
2019-10-10 09:17
标题:
上位机MFC创建桌面或开始菜单快捷方式源代码
(, 下载次数: 1)
上传
点击文件名下载附件
我们知道程序可以通过快捷图标快速方便的打开。
例程运行时界面如上图。
可以在界面 上选择是在桌面还是在开始 菜单生成程序的快捷图标。
点击创建 快捷方式按钮后,会弹出选择程序对话框,用于选择要创建快捷图标 的程序。
点击删除快捷方式,
可以选择要删除的快捷图标。
两按钮关键代码如下。
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) ;
}
复制代码
源代码下载地址:
(, 下载次数: 0)
上传
点击文件名下载附件
[MFC408]1[/MFC408]
[halcon]1[/halcon]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4