3

ディレクトリ名とファイル拡張子なしでファイルリストを取得する必要があります

C:\ProgramData\Microsoft\Windows\スタート メニュー\プログラム

例)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>

System.Drawingファイルからアイコンを抽出するには、名前空間から ExtractAssociatedIcon を使用できます。

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