2013-02-27 132 views
2

我需要的文件列表,而目錄名,沒有文件extenstion在如何列出目錄C#WPF文件

Ç

:\ ProgramData \微軟\的Windows \開始菜單\程序

EX)C:\ ProgramData \微軟\的Windows \開始菜單\程序\ 7-Zip的\ 7-Zip文件Manager.lnk(X)

7-Zip文件管理器(O)

和列表壽在Listbox中的se文件。

如果在列表框中選擇了文件名,我還必須檢索圖標並啓動程序。

像這樣。

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

任何人可以幫助我嗎?

謝謝。

回答

1

檢索文件名

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

對於在列表框中列出圖標使用Path.GetFileNameWithoutExtension,看看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);