ACE Compression SoftwareのUnAceV2.DLLを使用して、共通アーカイバ仕様APIを実装したDLLです。対応アプリケーションから呼び出されます。
概要
ACE書庫を解凍するためにACE Compression Softwareが提供するUnAceV2.DLLは、慣れればアプリケーションから使えない事はないが、日本人の開発者には使い慣れた共通アーカイバ仕様のAPIの方が使いやすいと思うので、ラッパDLLを作成してみました。ちなみに、世間には同様のコンセプトのラッパDLLが存在しますが、いつまで待っても進捗しないので、自アプリでACE書庫展開を実現するには自分で作るしか!と思い作成を開始し、予想通り先にリリースしてしまいました。
UnAceV2J.DLLがやっている事
UnAceV2.DLLで多用されているコールバックなAPIをクラス内に実装し、結果出力を内部変数に保持し、共通アーカイバ仕様APIの戻り値に加工します。インストール方法
同梱されたUnAceV2.DLLまたは、 ACE Compression Softwareから取得したUnAceV2.DLLと、このUnAceV2J.DLLをWindowsのシステムディレクトリに置いてください。アンインストール方法
インストール時にコピーしたファイルを削除してください。使用方法
UnAceV2J.DLLに対応したアプリケーションを使ってください。UnAceV2J.DLL は、共通アーカイバ仕様DLLのAPI仕様のほとんどを満たしている完成品です。(バグがあったらごめんなさい)アプリケーションから使用するための必要最低限の API は実装されています。
APIの使用方法に関しては、書庫付属のドキュメントを参照してください。
履歴
バージョン | 日付 | 項目 |
---|---|---|
0.01 | 2004/11/30 | 最初のバージョン。 |
0.02 | 2004/12/25 | 偽Unace32.dll機能を実装。ネイティブなUnAceV2J.DLL内APIをコールするラッパAPIで、UnAceV2J.DLLをUnace32.dllとリネームすると、Unace32.dllを利用するアプリケーションから使える...かも。 「l」コマンドの場合は、パス情報を出力しないようにした。(これが実用的かどうかは別として、UnAce32.exeの仕様に合わせるということで) Unlha()の仕様に倣い、UnAce()の時に、引数の_hwndに ::EnableWindow(_hwnd, FALSE) するようにした。 UnAceV2.DLLを同梱。 ソース添付。 |
0.03 | 2004/12/28 | UnAceFindFirst, UnAceFindNextでの書庫内データ取得時に最後のファイルが取得できないバグの修正。 |
0.04 | 2005/05/17 | storedメソッドで圧縮されたファイルをUnAceGetMethodで取得できないバグの修正。 |
0.05 | 2006/02/25 | ファイルが列挙されない事があるバグを修正した。 |
0.06 | 2010/05/27 | Visual Studio 2005でリビルド。 UnAceV2.DLLはVer2.6のものを同梱。 |
0.07 | 2010/07/04 | Visual Studio 2010でリビルド。 |
0.08 | 2010/08/08 | Visual Studio 2010 のMFCをスタティックリンクするとDLLのサイズが巨大になるので、MFCをやめてATL/WTLを使用するようにソースを修正。 レスポンスファイルの両端が「"」で囲まれている場合に対応。 |
0.09 | 2016/03/29 | Visual Studio 2015 でリビルド。サポートサイトのURLとメールアドレスを変更。 |