C#获取Windows快速启动项目(Windows XP)

本文关键字:Windows XP 项目 获取 启动 | 更新日期: 2023-09-27 18:27:42

我在Windows XP上,想用C#阅读所有快速启动项目(在窗口按钮旁边的任务栏中)。

我找到了从中读取所有文件的"解决方案"C:''Documents and Settings''USER''Application Data''Microsoft''Internet Explorer''Quick Launch"

但我想要和快速启动栏里一样的订单。

有人能帮我吗?

欢呼

C#获取Windows快速启动项目(Windows XP)

快速启动排序顺序存储为二进制值TaskbarWinXP此处:

HKEY_CURRENT_USER''Software''Microsoft''Windows''CurrentVersion''Explorer''Streams''DDesktop

您需要对二进制文件进行反向工程以获得排序顺序。

快速启动文件夹的位置

如果用户选择添加"快速启动"快捷方式,我们需要确定创建快捷方式的文件夹的位置。快速启动栏的功能是Internet Explorer的一部分,快速启动快捷方式的文件夹位置是Internet Explorer应用程序数据的一部分。没有"所有用户"快速启动文件夹,因此快速启动快捷方式始终添加到当前用户的快速启动文件夹中,即使用户选择为"所有人"安装也是如此。

我们用来查找当前用户桌面的System.Environment.GetFolderPath方法也可以为我们提供当前用户"应用程序数据"文件夹的位置。我们需要对"快速启动"文件夹的"应用程序数据"文件夹中的位置进行硬编码。在演示项目中,我已经将快速启动文件夹的位置作为ShortcutsInstaller类的属性,这样我就不需要在多个地方重复位置代码。快速启动文件夹的位置代码为:

private string QuickLaunchFolder
{
  get
  {
    return
      Environment.GetFolderPath(
         Environment.SpecialFolder.ApplicationData)
         + "''Microsoft''Internet Explorer''Quick Launch";
  }
}

你可以转到这个链接,它会引导你离开链接


另一种方法是简单而稳定。

string apploc = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string []files =Directory.GetFiles(@apploc+@"'Microsoft'Internet Explorer'Quick Launch");
//Loop the string "files" in which every way you want.
for(int i=0 ; i<files.Length; i++)
{         MessageBox.Show(files[i]);       }

我希望这正是你所需要的。