CustomScript

2016年6月29日水曜日

UNICODEファイル名に対応していないDLLでファイルアクセスを可能にする方法

  • C#
久々に技術系メモです。

古いDLLは"♥"とかのユニコード文字が使われているファイルにアクセスできないことがあります。
幸いなことにWindowsのファイルは8.3形式の別名のファイル名(ショートファイル名)を持っており、その名前でアクセスすればうまくいく可能性があります。

サンプルコードは以下のようになります。.Net にはショートファイル名を取得する機能がないので、Win32APIを使用して取得します。
NeeViewではこの方法でSusieプラグインでのユニコードファイル名アクセスを実現しています。

0 件のコメント:

コメントを投稿