Windows シェルAPI を利用して指定したディレクトリのファイル一覧を取得するコードを紹介します。概要こちらの記事では指定したディレクトリのファイルの一覧を取得するコードを紹介しました。紹介した方法以外に、Windows シェルAPI
C#でファイルパスから(シェルネームスペースITEM ID(PIDL)を取得するコードを紹介します。UI下図のUIを作成します。フォームにボタン一つ、テキストボックス2つを配置します。コード下記のコードを記述します。using System
エクスプローラスタイルのツリービュー(TreeView)とリストビュー(ListView)を連動させるコードを紹介します。事前準備 エクスプローラスタイルのツリービュー エクスプローラスタイルのリストビューを作成します。UI下図のUIを作成
IShellFolder.SetNameOf を利用してファイル名やオブジェクト名を変更するコードを紹介します。プログラムUI下図のUIを作成します。TextBoxを2つ、Buttonを3つListViewを1つ配置します。またFolder
SHGetFileInfo を利用してファイルの情報を取得するコードを紹介します。ファイルパスから情報を取得する場合ファイルパスから情報を取得するコードを紹介します。UI下図のUIを作成します。TextBox,TextBox複数行, But
エクスプローラスタイルでファイル一覧を表示するリストビューを実装します。プログラムシェルAPIのコードはCodeProjectの「http://www.codeproject.com/Articles/13097/An-quot-Explo
IEnumIDList.Next メソッドで取得した pidl を保持するコードを紹介します。概要IEnumIDList.Next メソッドで取得した pidlを保存する場合は、代入では保存できません。これは、IEnumIDList.Nex
SHGetDataFromIDList を利用してファイルサイズを取得するコードを紹介します。プログラムUI下図のUIを作成します。(Buttonはbutton1のみ使用します。)コード下記コードを記述します。WindowsAPI.csは別
エクスプローラスタイルでフォルダをツリー表示をすツリービューを実装します。プログラムシェルAPIのコードはCodeProjectの「http://www.codeproject.com/Articles/13097/An-quot-Expl
サイズの大きいZIPファイルの属性を取得すると時間がかかることに関する記事です。概要100MBを超え、圧縮ファイル数が1000以上のZIPファイルの属性をIShellFolder.GetAttributesOf()メソッドや、SHGetFi
完全PIDLを使用して IShellFolder.GetAttributesOf で属性を取得すると、正しく属性値が取得できないことがあります。正しく取得できる場合 デスクトップ直下のフォルダ正しくない値が取得される場合 PC(マイコンピュ
IShellFolder で GetAttributesOf メソッドを呼び出すとエラーが発生するTipsの紹介です。エラーが起きるコードビルドは通りますが、GetAttributesOf()でエラーが発生します。 hRes =
ファイル名・ファイルパスから 「特大アイコン」や「並べて表示」のアイコンを取得するコードを紹介します。「特大アイコン」や「並べて表示」のアイコンはWindows Vistaから導入された新しいサイズのアイコンです。アイコンのサイズアイコンの
ファイル名・ファイルパスから シェルのアイコンを取得するコードと実行結果を紹介します。UI下図のUIを作成します。TextBox, Button, Panel を一つづつ配置します。コード下記のコードを記述します。FormMain.csus
エクスプローラのアイコンを管理している、システムイメージリストを作成し、アイコンを参照して利用するコードを紹介します。概要SHGetFileInfo() APIで第4引数に"SHGFI_SYSICONINDEX"を与えて呼び出すと、システム
シェルネームスペースを利用して デスクトップ フォルダのサブフォルダ (子フォルダ)の一覧を取得するコードを紹介します。概要子フォルダを取得するには、親フォルダのIShellFolderを取得し、IShellFolderのEnumObjec
シェルネームスペースを利用して デスクトップ フォルダの情報を取得するコードを紹介します。概要SHGetSpecialFolderLocation APIを呼び出し、第二引数にCSIDL_DESKTOPを与えることで、デスクトップのPIDL