如何删除"开始->程序"中的程序的快捷方式和桌面上的快捷方式

zhangnanonnet 2004-04-15 04:23:51
如何删除"开始->程序"中的程序的快捷方式和桌面上的快捷方式
...全文
1604 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangnanonnet 2004-04-16
  • 打赏
  • 举报
回复
是啊,我也是觉得"C:\Documents and Settings\All Users\「开始」菜单\程序"太依赖操作系统了
ndy_w 2004-04-16
  • 打赏
  • 举报
回复
看msdn:
SHGetSpecialFolderLocation / SHGetSpecialFolderPath

如"C:\Documents and Settings\All Users\「开始」菜单\程序"之类依赖于操作系统,不好
jnlon 2004-04-16
  • 打赏
  • 举报
回复
程序的快捷方式在
C:\Documents and Settings\All Users\「开始」菜单\程序

桌面上的快捷方式在
C:\Documents and Settings\All Users\桌面\


wkgenius 2004-04-15
  • 打赏
  • 举报
回复
程序的快捷方式在
C:\Documents and Settings\All Users\「开始」菜单\程序
C:\Documents and Settings\<用户名>\「开始」菜单\程序

桌面上的快捷方式在
C:\Documents and Settings\All Users\桌面\
C:\Documents and Settings\<用户名>\桌面\

开始菜单和桌面上的内容都是在这里的一个链接文件,删了就行了
wangjs720 2004-04-15
  • 打赏
  • 举报
回复
在系统盘里的Documents and Settings里找到它们想应的文件夹,把对应的文件删掉就行了
eliner 2004-04-15
  • 打赏
  • 举报
回复
我也跟地说一声删除文件了~~~~~~~~~~~~
vcforever 2004-04-15
  • 打赏
  • 举报
回复
快捷方式也是一种文件,扩展名.lnk !

直接删除这个文件就可以了!用DeleteFile
MuseIn 2004-04-15
  • 打赏
  • 举报
回复
mark
byf2002 2004-04-15
  • 打赏
  • 举报
回复
呵呵,这么简单的问题还问啊,把你的星换成“小裤衩”
zhangnanonnet 2004-04-15
  • 打赏
  • 举报
回复
没想到这个问题这么多人会,我真是丢人啊。。。。不过人多热闹
1HelloWorld 2004-04-15
  • 打赏
  • 举报
回复
凑个热闹,呵呵
zhangnanonnet 2004-04-15
  • 打赏
  • 举报
回复
对了,其实我一开始是问这个问题的,我觉得这个问题的卸载方式更好一些,比我这样到处找到我安装的东西然后删掉好,毛病大哥是不是知道呢
http://expert.csdn.net/Expert/topic/2969/2969231.xml?temp=.8773462
zhangnanonnet 2004-04-15
  • 打赏
  • 举报
回复
不要对猩猩盲目崇拜哦,我只是对底层的编程比较了解,最近想自己作一个INSTALLBUILDER,安装已经做好了,正在作卸载,谢谢毛病大哥了,我明天具体测试一下你的程序。。呵呵
ymbymb 2004-04-15
  • 打赏
  • 举报
回复
//设置起始文件夹为桌面
int nBeginAt=CSIDL_DESKTOPDIRECTORY ;
//设置起始文件夹为"开始"菜单
int nBeginAt=CSIDL_STARTMENU;
ymbymb 2004-04-15
  • 打赏
  • 举报
回复
BOOL GetShortcutDel(LPSTR lpszInitDir, LPSTR lpszShortcut)
{
OPENFILENAME ofn ;
char szFilter[] = "Shortcuts\0*.lnk\0" ;

ZeroMemory(&ofn,sizeof( OPENFILENAME));
ofn.lStructSize = sizeof( OPENFILENAME) ;
ofn.hwndOwner = HWND_DESKTOP ;
ofn.lpstrFilter = szFilter ;
ofn.nFilterIndex = 0 ;
ofn.nMaxFile = MAX_PATH ;
ofn.lpstrTitle = "请选择要删除的快捷方式" ;
ofn.lpstrFile = lpszShortcut;
ofn.lpstrInitialDir = lpszInitDir ;
ofn.Flags = OFN_FILEMUSTEXIST |
OFN_PATHMUSTEXIST | OFN_EXPLORER |
OFN_NODEREFERENCELINKS ;
if(! GetOpenFileName( &ofn))
return FALSE ;
return TRUE ;


}
ymbymb 2004-04-15
  • 打赏
  • 举报
回复
BOOL DeleteLink(LPSTR lpszShortcut)
{
SHFILEOPSTRUCT fos ;

ZeroMemory( &fos, sizeof(fos)) ;
fos.hwnd = HWND_DESKTOP ;
fos.wFunc = FO_DELETE ;
fos.pFrom = lpszShortcut;
fos.pTo = NULL ;
fos.fFlags = FOF_SILENT | FOF_ALLOWUNDO ;

if( 0 != SHFileOperation( &fos))
return FALSE ;
return TRUE ;

}
ymbymb 2004-04-15
  • 打赏
  • 举报
回复
void NotifyShell(LONG wEventId, LPSTR szPath)
{
SHChangeNotify( wEventId,
SHCNF_FLUSH | SHCNF_PATH,
szPath,0);
//取得szPath的父目录
char* p;
for( p=szPath+lstrlen(szPath)-1;
*p != '\\';
p--);
*p='\0';
SHChangeNotify(SHCNE_UPDATEDIR
|SHCNE_INTERRUPT,
SHCNF_FLUSH | SHCNF_PATH,szPath,0);
}
ymbymb 2004-04-15
  • 打赏
  • 举报
回复
LPITEMIDLIST pidlBeginAt ;
char szShortcut[ MAX_PATH]="",
szPath[ MAX_PATH]="";

// 取得开始菜单或桌面的PIDL
SHGetSpecialFolderLocation( HWND_DESKTOP,
nBeginAt, &pidlBeginAt) ;
// 把PIDL转化成路径名
SHGetPathFromIDList( pidlBeginAt, szPath) ;
// 取得要删除的快捷方式
if( !GetShortcutDel( szPath, szShortcut))
return ;
// 删除快捷方式
if( !DeleteLink(szShortcut))
return ;
// 通知SHELL有关改变
NotifyShell( SHCNE_DELETE|SHCNE_INTERRUPT,
szShortcut) ;
vollin 2004-04-15
  • 打赏
  • 举报
回复
不会吧,楼主是个猩猩哦,不会问这样的问题吧,是不是想散分,我来接了哦!
zhucde 2004-04-15
  • 打赏
  • 举报
回复
直接删除文件即可.
如果想删除桌面上的一个名为qq的快捷方式,
只要这样:
DeleteFile("C:\Documents and Settings\<用户名>\桌面\aa.lnk");

快捷方式的后缀名为lnk,
删除一个快捷方式只要用看到的名字加个.lnk即可
加载更多回复(5)

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧