スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
 

ZIPフォルダ機能無効化でも解凍する(Tablacus Explorer)

Tablacus Explorer 14.1.27からはZIPフォルダ機能が無効化されている場合はzipfldr.dllを直接使ってZIPを解凍する機能を追加しました。
Windowsの高速化などでZIPフォルダ機能を無効化している場合には、アドオンの解凍で解凍ソフトを指定する必要があったのですが、これで指定無しでもアドオンのインストールやTablacus Explorerのアップグレードができるようになりました。

ZIPフォルダ機能無効化でCoCreateInstanceが失敗する場合はLoadLibraryでモジュールをロードしてDllGetClassObjectとIClassFactory->CreateInstanceでインスタンスを作成します。(teCreateInstance)
このインスタンスからはIPersistFile、IStorage、IShellFolder2等が取得できます。
そして、IPersistFile->Loadでファイルを指定し、IStorageを使って解凍します。(teExtract)
XPの場合はIEnumSTATSTGで更新日時を取得できないようなので、IShellFolder2->GetDetailsExで更新日時を取得しています。

IStorageからIEnumSTATSTGでZIPの一覧を取得していますが、IShellFolderからIEnumIDListでZIPの一覧を取得する方法も使えそうな気がします。XPの更新日時を考えるとこっちも良いかな。

詳しくはTablacus Exploerのソースをご覧ください。
スポンサーサイト
 

コメント

コメントの投稿

  • URL
  • コメント内容
  • password
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL: http://gakana.blog34.fc2.com/tb.php/73-b2ba7a94
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。