3

我需要获取没有目录名且没有文件扩展名的文件列表

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

ex)C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk (X)

7-Zip 文件管理器 (O)

并在列表框中列出这些文件。

如果在列表框中选择了文件名,我还必须检索图标并启动程序。

像这样。

http://www.c-sharpcorner.com/UploadFile/7e39ca/display-start-menu-in-windows-8/Images/Start-Menu-Windows8.jpg

有谁能够帮助我?

谢谢。

4

1 回答 1

4

使用Path.GetFileNameWithoutExtension检索文件名

string fileName = Path.GetFileNameWithoutExtension("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk);

要在列表框中列出图标,请查看 WPF ListView 类。您需要在 XAML 中定义一个模板来显示图像:

<ListView>
    <ListView.Resources>
        <DataTemplate x:Key="IconTemplate">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <Image Grid.Column="0"/>
                <TextBlock Grid.Column="1" Text="{Binding Name}"/>
            </Grid>
        </DataTemplate>
    </ListView.Resources>            
    <ListView.View>     
        <GridView>
            <GridViewColumn CellTemplate="{StaticResource IconTemplate}" Header="Name"/>
            <GridViewColumn DisplayMemberBinding="{Binding FileName}" Header="File Name"/>                   
        </GridView>
    </ListView.View>
</ListView>

要从文件中提取图标,您可以使用命名空间中的 ExtractAssociatedIcon System.Drawing

Icon icon = Icon.ExtractAssociatedIcon(filePath);
于 2013-02-27T05:47:08.670 回答