.NET CF で使えるファイル選択ダイアログを作っています。

mikiofuku2006-04-07

PocketPCの「標準ファイル選択ダイアログ」は、マイクロソフトのポリシーにより「My Documents」の下にあるファイルしか選択できない困った実装になっています。


例えば Pocketの手で「\Windows フォルダにあるフォントファイルを選択」といっても普通にファイル選択は出来ないのです。Pocketの手では次善の策としてファイル名をプリセットしておいてユーザが自分で選択できるようにしてあります。
でもこの方法ですと「ファイルが格納されているフォルダ」と「ファイル名」が予め分かっていないと使えない方法で汎用性はありません。

gsgetfile.dlltGetFile.dllなどの素晴らしい DLL 類も色々と試したのですが私の技術力の無さもあって .NET CF から呼ぶことが出来ませんでした。( FileDialogChanger を使えば .NET CF 標準ファイル選択ダイアログを gsgetfileと置き換えられます。)


これらの DLL を .NET CF から呼ぶことを追求しても良かったのですが、どうせなら .NET CF 1.0 以降から簡単に使える「標準ファイルダイアログ置換え DLL」を作ってしまおうと思い立ったのですが、風邪をひいてしまいました orz ( 風邪のため ezLock などの件もキャッチアップできてませんです )

とりあえずはスクリーンショットにあるように GetOpenFileName 互換のものは出来ました。( アイコンの読み込みとキー操作はまだ実装していないですが ) GetSaveFileName を実装したら DLL を公開したいと思います。

・・・こういうのって他にはないですよね?車輪の再発明は出来るだけ避けたい・・・

P.S.
次期バージョンの Pocketの手はこのファイルダイアログを搭載予定です。