【问题标题】:c# start menu style listbox [closed]c#开始菜单样式列表框[关闭]
【发布时间】:2014-12-13 00:12:42
【问题描述】:

大家好,我正在开发一个开始菜单样式的程序,想知道我是如何获得固定程序和所有程序列表的。我开始了一些研究,并将发布我的发现,以便大家帮助填补空白。

为了获取程序图标,我发现了这个...

public static Icon IconFromFilePath(string filePath)
{
    var result = (Icon)null;

    try
    {
        result = Icon.ExtractAssociatedIcon(filePath);
    }
    catch (System.Exception)
    {
        // swallow and return nothing. You could supply a default Icon here as well
    }

    return result;
}

为了获取所有程序和固定程序,我找到了这些路径...

%USERPROFILE%\appdata\Roaming\Microsoft\Windows\开始菜单\程序

C:\ProgramData\Microsoft\Windows\开始菜单\

这些位置是什么?开始菜单如何使用这些位置?我该如何使用它们?希望我不是简短的,而是想表明我真的在努力解决这个问题并且一直在寻找。谢谢!

【问题讨论】:

  • 你在这里问什么?开始菜单以特定方式显示这些文件夹的内容(在“所有程序”和“固定”列表中)。没有什么特别的事情发生。你能澄清你的问题吗?
  • 当然我会尝试,简而言之,我想知道我自己如何重新创建“固定”和“所有程序”列表。
  • 好的,听起来您已经掌握了所需的信息。你错过了什么?
  • 您可以从这里获取固定列表:superuser.com/questions/171096/… 堆栈溢出不适用于编写整个程序,您能否更具体地说明您正在努力解决的问题?
  • 这个问题还是很宽泛的。我会给你一个赞成票,因为我持观望态度,但以后尽量控制你的问题范围。

标签: c# listview startmenu installed-applications


【解决方案1】:

首先,您可以使用以下方式获取用户的固定程序列表:

%AppData%\Microsoft\Internet Explorer\快速启动\用户 固定\开始菜单

感谢https://superuser.com/a/171129

该文件夹和您已经找到的文件夹都包含“开始”菜单的所有快捷方式。您可以使用Directory.EnumerateFilesDirectory.GetFiles 获取文件。获得文件列表后,您需要为每个文件创建 ViewModel 对象:

public class StartMenuItem
{
    public Image Icon {get; set;}
    public String LinkPath {get; set;}
}

创建这些集合并将您的列表视图ItemSource 绑定到它。最后,要启动应用程序,您可以使用Process.Start

ProcessStartInfo info = new ProcessStartInfo ( "example.lnk" );
info.CreateNoWindow = true;
info.RedirectStandardError = true;
info.RedirectStandardOutput = true;
info.RedirectStandardInput = true;
Process whatever = Process.Start( info );

更多信息请参见Run application via shortcut using Process.Start C#

【讨论】:

  • 注意,我没有发布DataTemplate,因为我的回答已经很长了。如果您对如何绑定到模板中的图像或如何设置命令以运行Process.Start 有疑问,我会问另一个关于该部分的问题。
  • 谢谢!这正是我所需要的,如果我需要有关 process.start 的更多帮助,我会创建一个线程,但我认为我理解它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 2015-02-26
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多