======================= UNLHA32.DLL Ver 1.87 ======================= Micco (Feb.3,2003) ######################################################################## ########## ######### ########## 自己解凍書庫以外での lh6/lh7 形式での配布は行わない ######### ########## ようにお願いします。 ######### ########## ######### ########## UNLHA32.DLL の使用以前の,『使用言語の仕様』につい ######### ########## ての質問にはお答えできません。『使用言語での API や ######### ########## DLL の使用方法を理解した上』で DLL を使うようにして ######### ########## ください。 ######### ########## ######### ########## DLL の手動インストール方法が解らない方は, Web Page ######### ########## のほうも参照してください。 ######### ########## http://www2.nsknet.or.jp/~micco/micindex.html ######### ########## ######### ########## UNLHA32.DLL には 2000 年問題は存在しません。ただし,######### ########## 対応ソフト側がそういう扱いをすれば,いくらでも問題 ######### ########## が発生します。 ######### ########## ######### ########## ドキュメントは最後まで目を通すように。(^^;) ######### ########## ######### ######################################################################## [よくある不具合] ======================================================================== ■ファイルを圧縮したのに全然圧縮されていない (サイズが変わらない)  いくら UNLHA32.DLL にファイルを圧縮する機能が施されていたとしても, 『すでに圧縮されているファイル』をそれ以上圧縮するようなことはできませ ん。jpeg のような画像は『それ自体すでに圧縮されている』ファイルです。 ■配布ファイルを展開したのに UNLHA32.DLL だけ表示されない  Ver 1.54c 以降では,配布ファイルである自己解凍書庫を実行して解凍を行っ た場合には,DLL についてはシステムファイルに解凍されます。  アーカイバソフト等で直接解凍を行った場合には, Explorer ではユーザー が指定しない限り ".DLL" の拡張子をもつファイルは表示されません。他のファ イラを使用するか,Explorer の「表示―オプション」メニュー (IE 4.0 等が 導入された環境では「表示―フォルダオプション」) ですべてのファイルが表 示されるように設定してください。その際には『登録されたファイルの拡張子 は表示しない』のチェックを外すこと。これが有効 (つまり初期状態) だと, 例えば,UNLHA32.DLL の配付書庫を解凍した場合,アイコンが異なるだけの同 じ名前のファイルが 5 個表示されることになります。 この項目に引っかかっ ているようなレベルのユーザには,アイコンだけで区別するのは無理なので。 ■UNLHA32.DLL 対応プログラムで使用するための UNLHA32.DLL の手動インストー ルについて  雑誌の付録 CD-ROM 等などにおいては,独自の書庫に再編成された状態で収 録されることが多々あります。このような場合は,DLL の手動インストールが 必要となります。  最低限必要なのは,UNLHA32.DLL をシステムディレクトリ (Win95 系の場合, 通常は C:\WINDOWS\SYSTEM) にコピーすることです。  Win のお作法に従いたい場合は,UNLHA32.INF を使用してインストールを行 うことも可能ですが,DELREG.EXE が正しくウィンドウズディレクトリにコピー されていないと,アンインストールが正常に行えません。右クリックして表示 されるコンテキストメニューの『インストール』を実行するだけです。  上記の記述だけで難しい場合は,私の WEB ページ (http://www2.nsknet.or.jp/~micco/micindex.html) にインストール方法の説 明が掲載されています。 ■「厳格なファイル名サーチ」設定について  この設定については,通常チェックをはずすようにしてください。この設定 が有効になっていると,大抵のアプリでパス情報付きの格納ファイルが表示さ れなくなります。そのようなファイルが表示されない場合は,UNLHA32.DLL の 設定ダイアログを呼び出せるプログラムを用いて,この項目の設定を確認して ください。 ■タイムスタンプのずれについて  UNLHA32.DLL が通常作成する書庫では,タイムスタンプはすべて協定世界時 (UTC)で扱われます。DOS(DOS 窓を含む)や Win3.1 用のプログラムは環境 変数の設定に基づいて UTC→地方時間(例えば日本標準時間)への変換が行わ れるようになっているため,環境変数が設定されていない環境ではタイムスタ ンプがずれてしまいます。 もしタイムスタンプが 9 時間ずれているようなら 間違いなくこの不具合です。 使用するプログラムによっては,まれに 2 時間 だけずれる場合もありますけど…("TZ" が設定されていない場合に PST とみ なすプログラムがあるんです ^^;)。  日本国内においては,次の環境変数を設定してください。なお,これは Win 9X 等の DOS 窓でも必要となります。通常は autoexec.bat で設定を行います。 set TZ=JST-9  環境によっては,"TZ=JST-09" とする必要があるかもしれません。  上記の設定を行った場合でも,Win9X ではシステムの内部情報が異常となり 正常なタイムスタンプでの展開が行われないことがあります。このような場合 には,タイムゾーンの設定をやり直すことで大抵の場合は正常な動作となりま す。 ■Ver 1.51 以降の DLL を使用した場合に,対応ソフトが正常に動作しない  『Ver 1.51 以降ではダメで Ver 1.50 以前なら大丈夫』という現象が発生 した場合は, UNLHA32.DLL の "-u" 及び "-gf" スイッチの仕様変更が原因と なっていることが考えられます (例えば WinLM32 等)。この現象が発生した場 合は,DLL の設定ダイアログが呼び出せるソフトを使用して『旧式の gf スイッ チ動作』を有効にすることで,不具合を回避することができます。  可能であれば,COMMAND.TXT のレジストリの項目を参照した上で,レジスト リによるソフトごとの個別設定を行ったほうがよいでしょう。 ■Ver 1.45 以降の DLL を使用した場合に,対応ソフトが正常に動作しない  『Ver 1.45 以降ではダメで Ver 1.44 以前なら大丈夫』という現象が発生 した場合は,UNLHA32.DLL のログ出力における改行コードの変更が原因となっ ていることが考えれます (例えば GV 0.84a 等)。この現象が発生した場合は, DLL の設定ダイアログが呼び出せるソフトを使用して『旧式ログ出力』を有効 にすることで,不具合を回避することができます。  可能であれば,COMMAND.TXT のレジストリの項目を参照した上で,レジスト リによるソフトごとの個別設定を行ったほうがよいでしょう。 ======================================================================== 0.はじめに  「UNLHA32.DLL」をダウンロードしていただき有り難うございます。  UNLHA32.DLL は,LZH 書庫に対する様々な処理を行うための DLL (ダイナミッ クリンクライブラリ) です。"32" の名前が示すように Win32 用のプログラムで あり,Win 95/98/SE/ME,NT (ただし x86), Win2K,Win32s 等 Win32 環境での み使用が可能となっています。  名前に反して初期の Ver 0.19 から格納にも対応しています。また,Win 版自 己解凍書庫については,UNLHA.DLL 同様 Mt.Wide 氏の「ファイルマネージャ拡 張メニュー (Explorer 拡張メニューではない ^^;)」で作成されるものと同等の ものが作成可能となっています(Windows 及び NT 版)。  UNLHA32.DLL は開発中のバージョンであり,API 等については今後変更される ことが考えられます。現在のものが最終決定版ではないということを十分ご理解 の上ご使用ください。また,(まだ登場していませんが) LHA for NT 等の登場に 伴い,UNLHA32.DLL においても書庫及びヘッダ形式,コマンドやスイッチ等の仕 様が,今後さらに変更される可能性があります。 1.ファイルについて  ULH3187.EXE を展開すると以下のファイルが得られます。 UNLHA32.DLL : 32 ビット版 DLL 本体です。 通常はシステムディ レクトリにインストールされます。 UNLHA32.H : コンパイルのためのヘッダファイルです。 UNLHA32.LIB : BC++ でコンパイルするためのインポートライブラ リです。 Ver 1.60 以降では C++ Builder で作成 しているので,BC++ で使えるかどうかについては 判りません。(^^;; UNLHAVC.LIB : VC++ でコンパイルするためのインポートライブラ リです。 DELREG.EXE : アンインストール用のファイルです。 通常はウィ ンドウズディレクトリにインストールされます。 UNLHA32.INF : UNLHA32.DLL のオリジナル配布自己解凍書庫及び DELREG.EXE が使用します。 UNLHA32.TXT : このドキュメントです。 UNLHA32E.TXT : 英文のドキュメントです。(ただし簡易版) API.TXT : UNLHA32.DLL の基本 API 説明ファイルです。 NOTE2.TXT : API.TXT の補足説明ファイルです。 現在進行形の 未完成品。(^^;) COMMAND.TXT : Unlha() へ渡すコマンド文字列についての説明ファ イルです。 ヘッダや圧縮メソッドの概略,SFX に ついてもここに記述されています。 NOTE.TXT : COMMAND.TXT の補足説明ファイルです。 HEADER.TXT : 書庫ヘッダの仕様説明ファイルです。 WINMES.TXT : UNLHA32.DLL が送出するメッセージと関連 API の 説明ファイルです。 ENUMAPI.TXT : UnlhaSetEnumMembersProc() 関連 API の説明ファ イルです。 INFCOM.TXT : Win32SFXM で使用される設定ファイル用のコマン ド説明ファイルです。 QandA.TXT : 今年あった主な質問集です。(^^;; HISTORY.TXT : UNLHA32.DLL の更新履歴。 ! 及び $ : 自己解凍以外の方法で展開を行った場合は, これ らのファイルが展開されます。 SFX 用のファイル なので,削除しても問題ありません。  バンドルや書籍等への収録の場合, UNLHA32.DLL と UNLHA32.TXT のみである ことが多々ありますが,他のドキュメントにも重要な情報が記述されていますの で,なるべくオリジナルの配布ファイルを手に入れて,一読されることをお薦め します。 2.使い方  UNLHA32.DLL はライブラリなので,単独での使用はできません。必ず対応アプ リが必要となります。 A. プログラマが対応アプリを作成する場合 API 等については,API.TXT をはじめとした各ドキュメントを参照して ください。UNLHA32.DLL を使用するには UNLHA32.H をインクルードし, リンク時に UNLHA32.LIB (又は UNLHAVC.LIB) を使用して静的リンクを 行うか, LoadLibrary()/GetProcAddress() によりダイナミックリンク を行うことが必要です。プログラムの手間は増えますが,DLL がインス トールされていない場合など,ロード失敗の際にプログラム側で自由に 対処が可能となるダイナミックリンクの方法をお薦めします。 後述されている『統合アーカイバプロジェクト』では,UNLHA32.DLL を 始めとしたアーカイバ DLL の使用法等が紹介されています。 B. 一般ユーザが対応アプリを使用する場合 この DLL を使用するには,必ずこの DLL に対応したソフトが必要とな ります。『UNLHA32.DLL に対応 (又は使用)』と明記されたソフトを使 用してください。 この DLL はウィンドウズ・システムディレクトリ (Win9X の場合, 通 常は C:\WINDOWS\SYSTEM) にコピーしてください。付属の UNLHA32.INF 等を使用してインストールすることも可能ですし,オリジナルの配布自 己解凍書庫を実行した場合には,自動的にインストールが行われます。 陥りやすい注意点については,このドキュメントの冒頭を参照。(^^;) 一応,私のページ (http://www2.nsknet.or.jp/~micco/micindex.html) に UNLHA32.DLL の手動インストール例を掲載してあります。 通常は必 要ないはずではありますが…。 3.動作環境  UNLHA32.DLL は以下の環境での動作を確認しています。 Warp を含む OS/2 で の Windows セッションでは動作しません。Power MAC の SoftWindows や PC 上 の VM Ware 等の環境上では,問題なく動作する模様。(^^;) まぁ,ゲストとは いえ,OS そのものの上で動作させるわけですから…。(^^;; [開発環境] ・Microsoft Windows XP (Pro) Build 2600 (SP1) 東芝 PAG5X14PME DynaBook G5/X14PME, 512MB-RAM 東芝 PAA2X85PMC DynaBook A2/X85PMC 改, MK4018GAP,384MB-RAM [使用コンパイラ] UNLHA32.DLL 本体 : Microsoft Microsoft Visual C++ 5.0J pro SP3 INPRISE Borland C++ Builder 5.0J pro (確認用) DosSFX : SLR Systems OPTASM 1.60 + Turbo Link 7.1.32.2 WinSFX(M) : Borland International Borland C++ 5.01J Dev WinSFX32(M) : Microsoft Microsoft Visual C++ 5.0J pro SP1 [動作確認環境] ・Microsoft Windows XP (Pro) Build 2600 東芝 PAG5X14PME DynaBook G5/X14PME, 512MB-RAM (SP1) 東芝 PAA2X85PMC DynaBook A2/X85PMC 改, MK4018GAP,384MB-RAM (SP1) SONY PCG-R505V/BD VAIO R505V/BD, 640MB-RAM (SP1) ・Microsoft Windows XP (Home) Build 2600 東芝 PAA2X85PMC DynaBook A2/X85PMC 改, MK4018GAP,384MB-RAM ・Microsoft Windows 2000 (Pro) Build 2195 東芝 PAA1570PMC DynaBook A1/570PMC 改, MK2016GAP,384MB-RAM (SP3) ・Microsoft NT 4.0 Build 1381 + IE 4.01(SP1) 富士通 FMVNU516X1 FMV BIBLO-NUV16X,96MB-RAM (SP5) ・Microsoft NT 4.0 Build 1381 + IE 3.02a 東芝 PA1241SA DynaBook Satellite Pro 440CDX/1.4改, MK3205MAV,64MB-RAM (SP3) ・Microsoft NT 3.51 Build 1057 富士通 FMVNU516X1 FMV BIBLO-NUV16X,96MB-RAM (SP5) ・Microsoft Windows ME Build 3000 + IE 5.50(SP2) 東芝 PAA1570PMC DynaBook A1/570PMC 改, MK2016GAP,384MB-RAM (SP2) 東芝 PAL1060TNMM Libretto L1/060TNMM,240MB-RAM ・Microsoft Windows 98 Build 1998 + IE 5.0 富士通 FMVNU516X1 FMV BIBLO-NUV16X,96MB-RAM ・Microsoft Windows 95 Build 1212 (OSR 2.5) + IE 4.01(SP1) 富士通 FMV1NU2WB5 FMV BIBLO-5233NU/W, 32MB-RAM ・Microsoft Windows 95 Build 1212 (OSR 2.1) + IE 4.01(SP1) NEC PC-MB12CUDA1 mobio NX/UD model A1改, MK6411MAT,48MB-RAM ・Microsoft Windows 95 Build 950a (SP1-kernel 952) + IE 4.01(SP1) 東芝 PA1241SA DynaBook Satellite Pro 440CDX/1.4改, MK3205MAV,64MB-RAM ・Microsoft Windows 3.1 R1.0 + Win32s 1.25J Build 142 (MS-DOS 6.2/V) 東芝 PA1241SA DynaBook Satellite Pro 440CDX/1.4改, MK3205MAV,64MB-RAM [動作確認環境 (VMWare ゲスト OS)] ・Microsoft Windows .NET standard β3 ・Microsoft Windows XP (Pro) Build 2600 (SP1) + IE6.0 SP1 ・Microsoft Windows XP (Home) Build 2600 (SP1) + IE6.0 SP1 ・Microsoft Windows 2000 (StSv) Build 2195 (SP2) + IE5.5 SP2 ・Microsoft Windows 2000 (Pro) Build 2195 (SP3) + IE6.0 SP1 ・Microsoft Windows 2000 (Pro) Build 2195 (SP3) + IE5.5 SP2 ・Microsoft NT 4.0 Build 1381 (SP6a) + IE 5.0 SP2 ・Microsoft NT 3.51 Build 1057 (SP3) ・Microsoft Windows ME Build 3000 + IE 6.0 SP1 ・Microsoft Windows 98 SE Build 2222A + IE 5.5 SP2 ・Microsoft Windows 98 SP1 Build 1998 + IE 6.0 SP1 ・Microsoft Windows 98 SP1 Build 1998 + IE 5.0 SP2 ・Microsoft Windows 98E SP1 Build 1998 + IE 5.5 SP2 ・Microsoft Windows 95 Build 1212 (OSR 2.5) + IE 4.01(SP2) ・Microsoft Windows 95 Build 950a (SP1-kernel 952) + IE 2.0 ・Turbolinux Workstation 7.0 + wine 20010925 4.転載及び著作権について  UNLHA32.DLL はフリーソフトウェアです。商用目的ではない,個人的な使用, オリジナル書庫での他ネット等への転載及び配布に関しては特に制限は付けませ ん。ただし,転載・配布する場合に,メディア代等以上の手数料を徴収したり, 使用に制限を付けることはこれを禁じます。書庫ファイル及び格納ファイルの改 変を含むオリジナル配布書庫以外の形態での転載・配布は認めません。  他ネット等への転載時には,事後でも構いませんので私まで連絡をお願いしま す。  商用・公用・私用にかかわらず,書籍等への収録やソフトへのバンドルについ ては条件がありますので,必ず事前に連絡をお願いします。企業・団体等での業 務利用や業務用ソフトやオンラインソフトでの使用を前提とした転載等もこれに 含みます。連絡がなかった場合には,しかるべき処置を講じさせていただく場合 があります。  これらの転載・収録・バンドル等の場合は, 必要な場合はライブラリ (DLL) が UP されていたネット等のライブラリ管理者にも必ず連絡をお願いします。  UNLHA32.DLL の圧縮・展開ルーチン等については,基本的に LHx.EXE Ver 2.02a のソースを流用し,AR.EXE 950528 を参考に改変を行っています。従って,この 部分についての著作権は吉崎栄泰氏及び奥村晴彦氏が保有しています。Win版 及 び NT版 自己解凍ルーチンについては Mt.Wide(広山雅明)氏が著作権を保有して います。DLL 化等その他の部分についての著作権はMiccoが保有しています。  これらのプログラムの使用によって生じた損害等については,作者及び原著作 者は何も補償する義務を負わないこととさせていただきます。 5.公開先について  UNLHA32.DLL の一次配布先は,http://www2.nsknet.or.jp/~micco/micindex.html となっています。 β版については,(当然ながら) あまり転載が行われない関係 上ここからダウンロードすることになると思いますが,正式版については,比較 的タイムラグも少なく, また DLL の使用法等の情報も得られることから『統合 アーカイバプロジェクト』http://www.csdinc.co.jp/archiver/ 等からダウンロー ドされるのもいいかと思います。 6.サポートについて 1.メール micco@mbd.nifty.com サーバ及びメールブラウザの設定上メールが届かな い (拒否,または削除される) 場合があります。  なお,返信は常に GCH03345@nifty.ne.jp からとなります。 2.メーリングリスト Internet の波…というか, NIFTY からの退会者が増える中, 最近では Web ページ『統合アーカイバ』内のメーリングリス ト上で DLL 関係の話題について扱われることが多くなりまし た。開発系については,NIFTY よりもこちらのほうがいいかも しれません。詳しくは『統合アーカイバ』のページを参照して ください。  基本的に,私は日に 1 回しかアクセスできませんので,最低 3 日ほどの余裕 をもってメールするようにお願いします。『読んですぐ返事』が不可能 (なほど メールがたくさんくる ^^;) 関係上, 下手をすると返事が 2 日後…ということ になりますので。双方のアカウントへの同報メールは行わないようにお願いしま す。  なお,UNLHA32.DLL は吉崎氏に連絡した上で私が独自に開発したものであり, 基本的に吉崎氏は関与していません。従って,吉崎氏へのメールは御遠慮くださ るようお願いします。WinSFX 関係の Mt.Wide 氏についても同様です。  また, 『統合アーカイバプロジェクト』http://www.csdinc.co.jp/archiver/ の管理者である shoda T. 氏への問い合わせメールが増えています。 UNLHA32. DLL そのものに関する問い合わせは私のほうにお願いします。 7.謝辞  素晴らしいアーカイバ LHA を作成された吉崎栄泰氏,Win 版及び NT 版自己 解凍ルーチンの使用を許可してくださり,また,ルーチンを供与してくださった Mt.Wide さん,そして作成を影で支えてくださったユーザの皆さんに感謝します。 8.最後に UNLHA32.DLL が何かのお役に立てれば幸いです。 Micco (micco@mbd.nifty.com)