Reputation:
I need to get file list without directory name and without file extenstion
in
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
ex)C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk (X)
7-Zip File Manager (O)
and list those files in Listbox.
I also have to retrive icon and start program if the file name is selected in listbox.
Like this.
can anybody help me?
Thanks.
Upvotes: 3
Views: 12667
Reputation: 7030
Use Path.GetFileNameWithoutExtension for retrieving the file name
string fileName = Path.GetFileNameWithoutExtension("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk);
For listing icons in a listbox, look into WPF ListView Class. You need to define a template in XAML for displaying images:
<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>
To extract the icon from file, you can use ExtractAssociatedIcon from System.Drawing
namespace:
Icon icon = Icon.ExtractAssociatedIcon(filePath);
Upvotes: 4