Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#获取Windows快速启动项目(Windows XP)_C#_Windows Xp_Items_Quicklaunch - Fatal编程技术网

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

C#获取Windows快速启动项目(Windows XP),c#,windows-xp,items,quicklaunch,C#,Windows Xp,Items,Quicklaunch,我使用的是Windows XP,希望使用C#阅读所有Quicklaunch项目(在任务栏中窗口按钮旁边) 我找到了从中读取所有文件的“解决方案” “C:\Documents and Settings\USER\Application Data\Microsoft\Internet Explorer\Quick Launch” 但我想要和快速启动栏中相同的顺序 有人能帮我吗 干杯快速启动文件夹的位置 如果用户选择添加快速启动快捷方式,我们需要确定创建快捷方式的文件夹位置。快速启动栏的功能是Inte

我使用的是Windows XP,希望使用C#阅读所有Quicklaunch项目(在任务栏中窗口按钮旁边)

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

但我想要和快速启动栏中相同的顺序

有人能帮我吗


干杯

快速启动文件夹的位置

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

用于查找当前用户桌面的System.Environment.GetFolderPath方法还可以为我们提供当前用户“应用程序数据”文件夹的位置。我们需要为“快速启动”文件夹的“应用程序数据”文件夹中的位置进行硬编码。在演示项目中,我将Quick Launch文件夹的位置设置为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]);       }
string apploc=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string[]files=Directory.GetFiles(@apploc+@“\Microsoft\internetexplorer\Quick Launch”);
//循环字符串“files”,按照您想要的方式循环。

对于(int i=0;i,快速启动排序顺序存储为二进制值TaskbarWinXP,如下所示:

HKEY\ U当前\用户\软件\ Microsoft\Windows\CurrentVersion\Explorer\Streams\Desktop


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

是的,很好-但我不想创建快捷方式。我想以正确的顺序读取所有现有的快捷方式(不是文件资源管理器中的顺序,而是任务栏中的顺序)试试下面的一个。我想这就是你想要的。嗨,谢谢你的回答。不,这不是我需要的。这正是我在第一篇文章中写的。我知道我可以在那里找到应用程序,但我希望它的顺序正确!如果我从目录中读取文件,我的顺序与任务栏中图标从左到右的顺序不一样。你可以d尝试保存值,然后重新排列快速启动项目。通过比较新值,您可能能够找出它,但这并不容易。您是对的,我也这么认为。我稍后会尝试。看了一下内容后,我发现我可以读取文件名和其中的一些路径。也许读取位置不会很困难。我如果我成功,我将发布。