65.9K
CodeProject 正在变化。 阅读更多。
Home

开始菜单清理器 .NET

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (6投票s)

2009年3月22日

Ms-PL

2分钟阅读

viewsIcon

29514

downloadIcon

304

开始菜单清理器 .NET (以前称为 Windows XP 的开始菜单清理器) 是一个小型实用程序,用于扫描开始菜单中程序上的所有无效快捷方式和空文件夹。已在 Windows XP、Vista 和 W7 上测试。

引言

这是 CodePlex 上一个不太旧的代码提交,它在那里很受欢迎,并且已经在另一个站点上获得了一些评论,因此我想也将其添加到此处。 :)

这是屏幕截图,我故意重命名了这些快捷方式的目标文件以进行演示,因为我不小心使用我制作的那个实用程序删除了它们。我忘记编写仅删除选中的项目的条件了……但不用担心,这已经修复了 ;)

这是 Windows Vista 中的另一个

背景

我再次遇到一个问题(我是一个“有问题时,我就提供解决方案”的人),我使用了一个工具 WinStep 开始菜单管理器 来管理我的开始菜单中的程序,我以一种我可以轻松打开它们的方式组织它们(例如,我的 Visual Studio 和其他软件开发程序位于“开发人员工具”文件夹中),而不是将我的程序分散或排序并在 2 个或更多列已安装的程序上查看……真糟糕!顺便说一句,这是一个很棒的工具……但是!!

说说该工具的缺点……由于我将它们管理得如此完美,因此当我开始卸载大量未使用的应用程序时,问题就出现了。为什么,那是什么?你可以猜到……无效的快捷方式链接!它们的卸载程序在我的开始菜单中留下了无效的快捷方式文件,因为卸载程序没有找到它们,只是将它们留在了那里。好吧,这是用户的错。 ;)

因此,为了节省我追踪那些无效快捷方式的时间,我编写了一个小型实用程序,一个开源且对所有人免费的程序。由于它有点增长,我还添加了一个扫描空文件夹的功能。

Using the Code

只需下载最新版本,解压缩它,然后运行StartProgramCleaner.exe

您可能对此处感兴趣的一些代码是,我使用了IWshRuntimeLibrary来处理快捷方式文件,例如从快捷方式文件中获取目标路径或描述。

IWshRuntimeLibrary可以在 Windows Script Host 对象模型(C:\Windows\System32\wshom.ocx)中找到。

只需引用它并使用它

using IWshRuntimeLibrary;

这是关于如何执行此操作的一小段代码

private static string GetTarget(string shortcut_file)
{
   IWshShortcut shortcut = (IWshShortcut)wsh.CreateShortcut(shortcut_file);
   string t = string.Empty;
   if (shortcut.TargetPath != string.Empty)
   {
      t = shortcut.TargetPath;
   }         
   shortcut = null;
   return t;
}

private static string GetDescription(string shortcut_file)
{
   WshShell shll = new WshShell();
   IWshShortcut shortcut = (IWshShortcut)shll.CreateShortcut(shortcut_file);          
   string d = shortcut.Description;
   shortcut = null;
   return d;
}

关注点

这是来自最新版本(即版本 2)。

我不知道它在 Vista 或 7 中工作正常,直到我在互联网上看到一些评论!谢谢大家!并感谢 JUNCTION FOLDERS!

历史

  • 2009 年 3 月 22 日:首次发布
© . All rights reserved.