### Micco's Home Page ### Welcome to Micco's page!!
Sorry, but this web page is written in Japanese.
<English>
■ 更新情報
■ このWebページについて
■ お知らせ
■ ダウンロード
■ DLL のインストール方法
■ SFX の設定例
■ いろいろ
対応ブラウザー
[Internet Explorer] [Firefox] [Opera] [Sleipnir] [Safari] [Google Chrome]
連絡先:Micco
[e-mail]
[→Home]

● LHMelting for Win32  <Jun.11,2010>
[Win10][Win7][Vista][WinXP][Win2k][NT4.0][NT3.5x][WinMe][Win98][Win95][Win32s]

[LHMelt]

 LZH 書庫を始めとして, 各種書庫の操作を行うためのアプリです。 平均的な仕様ですが, 強いて言えば, 拡張子を気にせずに済むことと Win32s 等でも動作する点が特徴でしょうか。 (^^;; それぞれの書庫用の DLL が必要となりますが, LZH, ZIP, CAB, TAR (GZIP, BZIP), BGA 書庫の操作と ARJ, GCA, RAR 書庫の展開, そして ISH の作成復元が行えます。

 元々 DLL の動作確認用に作成されたものなので, 凝った機能は何もありません。 代わりに DLL 用のやたらめったら細かい設定メニューが氾濫しています。 Win32s でも動作可能でないといけない関係上, 非常に古くさいインターフェイスになってしまっています。 書庫内のディレクトリー構造をツリー表示することもなければ, ダイアログ等の画面構成も二昔前のものでしかありません。

 初心者の方や書庫関係に明るくない方は, 解らない設定は弄らないほうがいいです。 少なくとも「オプション設定」ダイアログから呼び出せる各 DLL の設定ダイアログの項目は弄ってはダメです。 LHMelt どころか, 他のアプリまで正常に動作しなくなります。


過去の更新履歴

Ver 1.65c からの変更点

  • 『LHMelt における任意の DLL 読み込みに関する脆弱性』について対応しました。
  • 『LMLzh32.DLL における任意の DLL 読み込みに関する脆弱性』について対応しました。
  • 『UNLHA32.DLL で作成された自己解凍書庫における任意の DLL 読み込みに関する脆弱性』について対応しました。 (LHMelt の配布自己解凍書庫)
  • Windows Vista において, 一度も書庫を開いたことのない (履歴が記録されていない) 場合に「書庫ファイルのオープン」ダイアログを開けなくなっていたバグを修正しました。
  • バージョン情報表示について, Windows 10 世代までのバージョン表記に対応しました。

Ver 1.65b からの変更点

  • LMLZH32.DLL Ver 2.67a を同梱しました。 (コマンドライン文字列にサロゲートペアが含まれていると, 正常に文字列を取得できなかったバグを修正しました。)

Ver 1.65a からの変更点

  • セキュリティアドバイザリ (2269637) で公開された, 外部 DLL ロードに関する脆弱性について, Windows XP (非 SP1 以降。), Windows 2000, Windows NT, Win9x についても対応しました。
    旧環境については, 意識的にカレントディレクトリーからのロードを行っているケースも散見されますが, LHMelt Ver 1.65b 以降では そのような利用法は行えませんので注意してください。 (迷ったのですが, 利用できない仕様とさせて頂きました。)

Ver 1.64f からの変更点

  • セキュリティアドバイザリ (2269637) で公開された, 外部 DLL ロードに関する脆弱性に対応しました。 ただし, 対応が有効となるのは Windows XP SP1 以降の NT 系 OS のみとなります。
  • コモンダイアログ系について, 履歴情報が存在しない場合にファイル名エディトボックスが空になってしまうことのあったバグを修正しました。
    なお, Windows 7 や Vista でエディトボックスが空表示される ("*.*" などのワイルド表示が行われない。) のは Windows の仕様です。
  • Windows 7, Windows Vista, Windows Server 2008 について, バージョン表示の改善を行いました。
  • LMLZH32.DLL Ver 2.66a を同梱しました。
  • HTML ヘルプを更新しました。

Ver 1.64e からの変更点

  • Windows 7β への対応を行いました。 と言っても, バージョン表示ダイアログでの表記対応のみです。 今のところは正に改良版 Vista でしかない…と言えますので, Vista 用以外の個別対応は必要ありませんでした。
  • HTML ヘルプを更新しました。

Ver 1.64d からの変更点

  • 現行のアーカイバ DLL では問題ないようなので, 命令毎のユーザー指定スイッチを基本スイッチ指定の直後で付加するように改善しました。
  • HTML ヘルプを更新しました。

Ver 1.64c からの変更点

  • 一部のアーカイバ DLL について, 推奨バージョンの引き上げを行いました。
  • LMLzh32.DLL Ver 2.65d を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。
  • HTML ヘルプを更新しました。

Ver 1.64b からの変更点

  • LMLzh32.DLL Ver 2.65b を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.64a からの変更点

  • LMLzh32.DLL Ver 2.65a を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。
  • HTML ヘルプを更新しました。

Ver 1.64 からの変更点

  • コマンドライン指定による圧縮を行った場合に, 必要のないゴミのワイルドカードが付加されてしまうことのあったバグを修正しました。
  • コマンドライン指定による圧縮を行う際に "test.txt" のようなパス無しの指定に対応できない場合があったバグを修正しました。
  • HTML ヘルプを更新しました。

Ver 1.63a からの変更点

  • Windows Vista での BMP 等, レジストリーの関連付け情報によっては関連付け起動時に無限ループへ陥ってしまうことのあったバグを修正しました。
  • LMLzh32.DLL Ver 2.65 を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.63 からの変更点

  • LMLzh32.DLL Ver 2.64a を同梱しました。 正式版としてコンパイルされているだけで, Ver 2.64 からの変更点は特に存在しません。

Ver 1.62e からの変更点

  • WH_CBT フック処理の改善を行いました。
  • 『再帰』ボタンがウインドウのサイズ変更に追随していなかったバグを修正しました。
  • コントロールに対しての位置調整処理について, GetSystemMetrics() API を使ったものから ClientToScreen() を使ったものへ変更しました。 (Windows Vista 等では SM_CXSIZEFRAME 等に対する従来の前提が通用しないため。)
  • コモンダイアログでの追加コントロール等の位置合わせを, CDN_INITDONE のタイミング (のみ) で行うように改善しました。
  • 基本的に Wine 対策コードを削除しました。 例外的に, Wine の Ver 5 コモンダイアログ未対応問題への対処コードのみ新規追加してあります。
  • LMLzh32.DLL Ver 2.64 を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.62d からの変更点

  • LMLzh32.DLL Ver 2.63i を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.62c からの変更点

  • HTML ヘルプの更新を行いました。
  • 基本的に HTML ヘルプを優先して表示するように仕様変更を行いました。
  • LMLzh32.DLL Ver 2.63h を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.62b からの変更点

  • β版 HTML ヘルプの更新を行いました。
  • Windows XP 以降の場合には, 既定で jpeg ファイルを壁紙指定できるようにしました。
  • LMLzh32.DLL Ver 2.63g を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.62a からの変更点

  • LMLzh32.DLL Ver 2.63f を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.62 からの変更点

  • Ver 1.62 以降において, NT 系以外の環境でダイアログやメッセージボックスが表示できなくなっていたバグを修正しました。 (DmSystemParametersInfo() が正しい値を返さなくなっていたため, 画面外の位置に表示されていたもの。)
  • Windows Me の場合に, ツールチップ用の文字列が Unicode で渡されてしまっていたバグを修正しました。
  • UNLHA32.DLL Ver 2.63 での 'j' 命令の処理変更 (単純コピーではなくヘッダーの再構築を伴う。) に対応しました。
  • DLL に引き渡す追加スイッチを指定するための専用設定ダイアログを作成し, それに伴い情報取得と削除処理用のレジストリー項目を追加しました。
    基本的に『基本設定』と『個別指定』を合わせたスイッチが DLL へ渡されますが, 『書庫読込時』は例外的に『基本設定』が反映されません。 (他と異なり, この項目が UnlhaOpenArchive2() 等へ渡されるため。)
  • ドロップされたファイル等の名前を新規書庫の名前として使用する『メンバー名の使用』のメニュー項目を追加しました。
    ファイル・ディレクトリーの別に関係なく, DragQueryFile() API で最初に取得されたリストが名前として使用されます。
  • 『書庫名のディレクトリーを作成』について, 簡易ディレクトリー構成チェックを行う『簡易構成チェック』のメニュー項目を追加しました。
    有効とした場合, 以下のケース (のみ) で作成を行うようになります:
    • パス無しの複数メンバーが存在
    • (1 階層目が お互いに異なる) パス情報の複数メンバーが存在

  • LMLzh32.DLL Ver 2.63e を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.61b からの変更点

  • ES_OEMCONVERT のままコード変換を行っていた箇所のあったバグを修正しました。
  • 作業ディレクトリー削除処理の改善を行いました。
  • Windows 2000 や Windows 98 等『マイピクチャー』の存在する OS の場合には, 当該ディレクトリーへ壁紙を展開するように改善しました。
  • 一覧表示について, パス情報を無視したソートを行えるように改善しました。
  • UnlhaOpenArchive2() API 等へオプション設定で指定されたスイッチを渡すように改善しました。
  • 一部のフォルダー取得について SHGerSpecialFolderPath() を使用するようにしました。
  • LMLzh32.DLL Ver 2.63c を同梱しました。 変更点の詳細については UNLHA32.DLL のページ等を参照してください。

Ver 1.61a からの変更点

Ver 1.61 からの変更点

  • コマンドラインに規定数を超えたパラメーターを含むコマンド文字列が渡されるとヒープオーバーフローを起こしてしまっていた脆弱性を修正しました。
  • LMLzh32.DLL について, LMLzh() API 等に, 規定数を超えたパラメーターを含むコマンド文字列が渡されるとヒープオーバーフローを起こしてしまっていた脆弱性を修正しました。
  • ArcOpenArchive2() 呼び出し時に szOption を NULL としていたにもかかわらず, MyArcOpenArchive2() が szOption について NULL を想定していなかったバグを修正しました。
  • デバッグ用に UNLHA32.DLL で UnlhaSetUnicodeMode() を使用できるようにしました。

Ver 1.60c からの変更点

  • Win2k 以降の NT 系 OS の場合には, 既定コードページとして CP_THREAD_ACP を使用するように改善しました。
  • 強制言語指定が行われた場合について, 可能であればロケールを設定するようにしました。
  • MultiByteCharToWideChar() 等について, コードによって指定できないフラグへの対応を改善しました。
  • LMLzh32.DLL Ver 2.61 を同梱しました。

Ver 1.60b からの変更点

  • LHMelt 破損チェックの CRC 計算方法を変更しました。
  • 処理結果表示時の改行文字変換処理を単純化しました。
  • 『表示』機能について, Win2k 以降では 2MB まで扱うように改善しました。
  • 『表示』機能の文字コード判定について, 対象コードの絞り込みを行いました。
  • LMLzh32.DLL Ver 2.60d 正式版を同梱しました。

Ver 1.60a からの変更点

  • 処理結果表示ダイアログのウインドウ幅計算が, Unicode 対応化以前のままとなっていたバグを修正しました。
  • EUC コードのテキスト等で問題が発生することから, 処理結果表示ダイアログでの 旧版 UNLHA32.DLL 対策用コードを削除しました。
  • 処理結果表示ダイアログでのフォント適用を改善しました。
  • LHMelt が使用する既定フォントの取得方法を変更しました。
  • 使用フォント未設定時の論理フォント作成方法を改善しました。
  • バージョン表示ダイアログについて, OS 種別を多少詳しく表示するようにしました。
  • 一部の DLL について推奨バージョンの引き上げを行いました。
  • ファイル破損による誤動作を防ぐため, 起動時にコード部分の簡易破損チェックを行うようにしました。 正式版のみで機能します。
  • LMLzh32.DLL Ver 2.60c を同梱しました。

Ver 1.60 からの変更点

  • Ver 1.60 において, 自己解凍書庫等に対して『書庫の変換』を実行した場合に, 機能が正常に実行されていなかったバグを修正しました。
  • LMLzh32.DLL Ver 2.60b を同梱しました。

Ver 1.59a からの変更点

  • Ver 1.51 以降において, 使用している UNLHA32.DLL の版によっては, 絶対パスによるメンバーの個別指定が正常に行えなくなってしまっていたバグを修正しました。
  • 実行レベル指定用のマニフェストを追加しました。 これに伴い, Windows Vista 等では, 特定フォルダーへの展開等が行えなくなりますので, 注意が必要となります。

Ver 1.59 からの変更点

  • 正式版としてコンパイルを行っただけで, 特に変更点はありません。

Ver 1.58a からの変更点

  • LMLzh32.DLL について, 脆弱性利用を意図した長大な名前をもつ h0 形式ヘッダーを扱った際に, バッファーオーバーフロー対策は行っていたものの, 破損ヘッダー扱いとしていなかったため, ファイル改竄 (中身すり替え) が可能となってしまっていた脆弱性に対応しました。

Ver 1.58 からの変更点

  • 正式版としてコンパイルを行っただけで, 特に変更点はありません。

Ver 1.57c からの変更点

  • 7-zip32.dll を使った場合に, "c:\dir" といったルート直下のフォルダーを指定した圧縮・格納が正常に行えなかったバグを修正しました。

Ver 1.57b からの変更点

  • LMLzh32.DLL について, 状況表示ダイアログの『中止』ボタンで処理を中止した際に, プログラムの抜けてしまうことがあったバグを修正しました。

Ver 1.57a からの変更点

  • LMLzh32.DLL を Ver 2.55.1.1 に更新しました。

Ver 1.57 からの変更点

  • Ver 1.56 以降に於いて, 『壁紙の設定』など特定の機能で, DLL に渡すコマンド文字列が乱れてしまうことのあったバグを修正しました。

Ver 1.56c からの変更点

  • メモリーマップドファイルを使用している場合に, まれに一般保護エラーの発生してしまうことがあったバグを修正しました。
  • ↑のバグに対応した LMLzh32.DLL Ver 2.55.0.1 を同梱しました。
  • D&D に伴う展開処理の際に, アーカイバー DLL がダイアログ等を表示した場合でも, マウス操作を行えるように改善しました。 ただし, かなり強引な方法を行っていますので, 環境によっては『本来切り替わるべきカーソル表示が切り替わらない』等, 何らかの不具合が発生するかもしれません。
  • 書庫操作の処理結果を故意に無視している場合があったものを, 基本的には無視しないように改善しました。

Ver 1.56b からの変更点

  • 一部ではなく, 各アーカイバー DLL を無視させられるように拡張を行いました。 特定の DLL を使用させたい場合や, B2E32.DLL を経由して直接オリジナルのツールを使用したい場合などに指定するものです。

Ver 1.56a からの変更点

  • B2E32.DLL Ver 0.03 に対応しました。 これに伴い, タイムスタンプや属性に関する指定は (LHMelt 側で) 行えないものの, 比較的自由に展開等の操作が行えます。 一応 Ver 0.02 の場合でも HISTORY.TXT に記述してある方法で, 擬似的に同等の処理を行えるようにしてあります。
  • (B2E32.DLL から使用した場合の) YZ1.DLL のファイルリストが存在しない場合に "-x0" が無効となってしまう不具合に対応しました。
  • B2E について, list: セクションを適用可能なツールであれば, (list) によるメンバーの個別指定も行える場合が殆どのようなので, 『一括展開のみ』の制限を外しました。

Ver 1.56 からの変更点

  • Ver 1.56 において, TAR32.DLL による TAR 系書庫の展開等が行えなくなってしまっていたバグを修正しました。

Ver 1.55a からの変更点

  • UNRAR32.DLL について, UnRARExtractMem() を有効としてしまっていたため, 閲覧等が行えなくなっていたバグを修正しました。
  • UNRAR.DLL のバージョン表示について, バージョン情報が存在する場合には, それを表示するように改善しました。
  • B2E32.DLL が存在する場合には, それを使用して展開を行えるようにしました。 ただし, B2E が基本的に一括展開を想定した仕様となっていることから, 相当制限の強いものとなっています。 『一括展開しか行えない』と思ったほうが良いと思われます。 詳細については HISTORY.TXT を参照してください。

Ver 1.55 からの変更点

  • 『書庫オープンダイアログ』等のフィルター項目表示を少々改善しました。

Ver 1.54d からの変更点

  • 書庫を新規作成しての格納時に, TAR 及び BGA 系の書庫で正しい拡張子が適用されなかった (従って, 拡張子に対応したメソッドが強制適用されてしまう。) バグを修正しました。
    なお, 書庫更新時にメソッド指定が無効なのは書庫の仕様です。 (メソッドの混在が認められていないため。)
  • 偽UNZIP32.DLL Ver 2.52 を使用している場合に, 偽UNZIP32.DLL と認識していなかったバグを修正しました。
  • レスポンスファイルを使用しないようにすることで, 7-zip32.dll Ver 4.42 が使用されている場合でも, 偽UNZIP32.DLL 等を認識するように改善しました。 レスポンスファイルが使用されないことから, 指定できるファイル数に制限が生じますので, 注意が必要となります。
  • 偽UNZIP32.DLL が "-o" スイッチを認識しない (必ず上書きされます。) 点に対応しました。
  • 各書庫用のアイコンを追加しました。 これに伴い, インストール時に全ての書庫形式について関連付けを行うように変更されます。 (一括・個別の選択可。)
  • "-e" スイッチ等を指定した場合に, ファイルリストを指定できるようにしました。 ただし, 展開先指定については, 最初の一つだけを認識し, 以降は (ディレクトリー等) メンバー指定の扱いとなります。

Ver 1.54c からの変更点

  • Ver 1.54c において, Win9x 系で 7-zip32.dll を使用しての書庫操作が行えなくなってしまっていたバグを修正しました。
  • 7-zip32.dll Ver 4.42 を使用している場合には, 偽UNZIP32.DLL 等を無視するようにしました。 偽UNZIP32.DLL 等を使用するには, 現状, 7-zip32.dll Ver 4.31 が必要となります。

Ver 1.54b からの変更点

  • 7-zip32.dll Ver 4.42 のレスポンスファイルに関する固有バグに対応しました。

Ver 1.54a からの変更点

  • 正式版としてコンパイルを行っただけで, 特に変更点はありません。

Ver 1.54 からの変更点

  • 7-zip32.dll Ver 4.31 以降を使用している場合について, Zip 書庫の設定においても, 圧縮レベルに 0 を指定しての無圧縮格納を行えていなかったバグを修正しました。
  • Ver 1.53a 以降において, コマンドラインで指定したファイルが格納されないことのあったバグを修正しました。
  • Windows Vista 以降の環境においては HTML ヘルプを表示するようにしました。 ただし, 現在同梱されている HTML ヘルプは動作確認用のダミーです。

Ver 1.53a からの変更点

  • 7-zip32.dll Ver 4.31 以降を使用している場合に, 7z 形式書庫の設定において, LZMA 等の圧縮レベルに 0 を指定しても無圧縮となっていなかったバグを修正しました。
  • Windows Vista において, ヘッダーコントロールが正常に表示されなかったバグを修正しました。
  • Windows Vista において, ツールバーボタンの下部が欠けてしまっていた点を改善しました。
  • LMLzh32.DLL を Ver 2.53.2.10 に更新しました。

Ver 1.53 からの変更点

  • Ver 1.52a 以降において, 即時展開等の際に書庫自身がファイルリストとして登録されてしまい, 結果として展開の行えないことがあったバグを修正しました。
  • 『書庫のテスト』メニューが『リスト表示』に連動してしまっていた点を改善しました。
  • LMLzh32.DLL について, UNLHA32.DLL のソースから条件付きコンパイルを行って作成する方法に全面変更しました。 これにより, 以降の版については, 機能の制限等はあるものの UNLHA32.DLL の当該版と同じものとなります。

Ver 1.52c からの変更点

  • LMLzh32.DLL について, UNLHA32.DLL Ver 2.53 と同様の修正と改善を行いました。

Ver 1.52b からの変更点

  • 正式版としてコンパイルを行っただけで, 特に変更点はありません。

Ver 1.52a からの変更点

  • Win32s 環境の場合にローカル時間との変換が正常に行われないことのあったバグを修正しました。
  • Ver 1.52a において, コマンドライン指定によるファイルの圧縮が正常に行えないことのあったバグを修正しました。
  • ヘルプの更新を行いました。

Ver 1.52 からの変更点

  • コマンドラインで DLL へのパラメーターを直接指定する "-s" スイッチを追加しました。 LHMelt が作成したコマンド文字列の最後 (ただし, 基準ディレクトリー・ファイルリストを除く。) へ付加されます。
  • コマンドラインで格納・展開以外の操作を指定するための "-!" スイッチを追加しました。 ヘルプが旧版のままなので, 仕様については HISTORY.TXT を参照してください。
  • コマンドラインでレスポンスファイルを使用できるようにしました。 ファイルリストの代わりとしてのみ使用でき, スイッチ等を記述することは出来ないので注意してください。
  • LMLzh32.DLL について, 『gzip における脆弱性』の Lzh 関連部分 (CVE-2006-4335, CVE-2006-4337, CVE-2006-4338) に対応しました。

Ver 1.51d からの変更点

  • Explorer 等での『検索』処理の結果等, 関連性のない複数フォルダー上のファイルを D&D して格納しようとした場合に, 一般保護エラーとなってしまっていたバグを修正しました。
  • 『表示』によるテキストファイル表示の際に, 末尾にゴミが残ってしまうことのあったバグを修正しました。
  • 書庫を開いた際に, 『圧縮モード指定』ダイアログ等の対象書庫が初期値のままとなってしまうことのあったバグを修正しました。
  • 『表示』によるテキストファイル表示の際に, EUC 等, 一部のコードについて変換を試みるよう改善しました。 ただし, DLL に 'p' 命令を渡した場合は, 変換等が DLL 側で行われるため, LHMelt 側での変換は行われません。

Ver 1.51c からの変更点

  • 編集・作業用に展開したファイルが読込専用を含む特殊属性をもっていると, 終了時に削除されず残ってしまっていたバグを修正しました。

Ver 1.51b からの変更点

  • Unicode API 対応版公開に伴い, UNARJ32.DLL の推奨バージョン引き上げを行いました。
  • バージョン表示を行う DLL について, 必要ないものを表示しないように改善しました。

Ver 1.51a からの変更点

  • Ver 1.49 以降において, マルチボリューム書庫の保存を行おうとした際に, 一般保護エラーとなってしまうことがあったバグを修正しました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 2.52.0.1 までのバグ修正を適用しました。

Ver 1.51 からの変更点

  • Ver 1.51 において, LZH 書庫のオート設定の利かない環境があったバグを修正しました。
  • Ver 1.51 において, LZH 自己解凍書庫を作成した場合に, 必ず大文字の拡張子が付加されてしまっていたバグを修正しました。
  • 動作に影響することはなかったものの, MySetFilePointer() が lpToMoveHigh に正しい値をセットしていなかったバグを修正しました。
  • TAR32.DLL Ver 2.30 の "--" スイッチに対応しました。 Ver 2.30 は近々公開予定です。

Ver 1.50b からの変更点

  • 7-zip32.dll 等でのパス無し格納処理を改善しました。
  • ダイアログで指定された強制指定スイッチ類のコマンド列での指定位置を改善しました。
  • スイッチ指定文字の無効化が行える場合は, "-gb" スイッチを使わずに無効化を行って指定を行うように改善しました。
  • 初期の 偽ZIP32J.DLL が LHMelt Ver 1.49 以降に対応していなかったことから, 逆対応を行いました。
    なお, 偽ZIP32J.DLL Ver 0.37.0.4 以降では SFX の作成も行えますが, 偽ZIP32J.DLL は SFX 作成に際してインデックスの更新を行いませんので, 作成された SFX に対して直接 (更新を伴う) 書庫操作を行うと, 書庫 (SFX) の破壊される可能性があります。 破壊に至らなくとも, 書庫として扱えないケースが予想されます。
  • アーカイバー DLL の定義情報について, 書庫更新用と他処理用の 2 本立てとすることで, ZIP 書庫方面での混乱を避けました。

Ver 1.50a からの変更点

  • 本来行える関連付け起動が正常に行われない環境のあったバグを修正しました。
  • 何らかの理由でアーカイバー DLL の一部の API のみアドレス解決が行えなかった場合に, 一般保護エラーとなってしまうことのあったバグを修正しました。
  • Ver 1.49 以降, 『表示』で "-ERR-" としか表示されないことのあったバグを修正しました。
  • 使用可能な場合は 'p' コマンドの代わりに ExtractMem() API を使用して『表示』機能を実行するように改善しました。

Ver 1.50 からの変更点

  • 『表示』機能によるテキストファイルの表示が正常に行われないことのあったバグを修正しました。
  • ユーザーの指定した既定新規書庫が記憶されない環境のあったバグを修正しました。

Ver 1.49f からの変更点

  • 『ディレクトリーメンバーを表示』が無効となっている場合に, ディレクトリーメンバーのみで構成された書庫を空と判定してしまっていたバグを修正しました。
  • 『書庫オープン』ダイアログで省略値の拡張子を設定するように改善しました。
  • lmlzh32.dll の小修正を行いました。

Ver 1.49e からの変更点

  • Ver 1.49a 以降において, 編集機能が機能していなかったバグを修正しました。

Ver 1.49d からの変更点

  • Ver 1.49 以降において, Win9x/Win32s 環境の場合にバージョン情報が正常にクリップボードへコピーできていなかったバグを修正しました。
  • zip32.dll のチェックに失敗すると, izip32.dll が存在するにもかかわらず無効化されてしまっていたバグを修正しました。
  • lmlzh32.dll について, unlha32.dll Ver 2.40k までのバグ修正を適用しました。
  • zip32.dll のバージョン取得について, パッチレベルも読み込むように改善しました。

Ver 1.49c からの変更点

  • 'd' 命令の出力など, ANSI 版用のコードのままとなっていた箇所が存在していたバグを修正しました。
  • 環境によって ISH ファイルの書庫判定に必ず失敗してしまっていたバグを修正しました。 (大きすぎるバッファーを引き渡していたため。)
  • WIN32 Unicode 版 API のロードを失敗した際に強制表示していたデバッグメッセージを削除しました。
  • 一部のダミー Unicode API について, 固定のバッファー (ローカル変数) からヒープを使う仕様に変更しました。

Ver 1.49b からの変更点

  • レスポンスファイルを扱えない場合の変換ルーチンが Unicode 版専用となってしまっていたバグを修正しました。 (このため, ISH32.DLL を使用しての ISH ファイル操作が行えなくなっていました。)
  • 7-zip32.dll で UTF-8 コード体系を使用する場合にはレスポンスファイルを介さないようにすることで, 多少制限 (一度に扱えるファイル数が 100 くらいまで。) が加わるものの, 問題なく Unicode 名でファイルを扱えるように改善しました。 初期値は引き続きオフとなっていますので, Unicode 名でファイルを扱うにはメニューで当該機能をオンにする必要があります。
    なお, 7-zip32.dll Ver 4.42 以降においては, このような制限が存在しませんので, 常に UTF-8 モードが採用されます。 (当該メニューも無効化。)
  • ヘルプの更新を行いました。 いつものことながら配付ファイルの増大を招いてしまい, ついに表示桁数上は 1MB を突破してしまいました。(笑)

Ver 1.49a からの変更点

  • 7z 書庫作成を失敗した際に発生する残骸書庫を削除していなかったバグを修正しました。
  • NT 3.5x, Win95 SP1, Win32s での動作に対応しました。
  • 7-zip32.dll Ver 3.13.0.2 以降を使用している場合には, UTF-8 コード体系を使用するようにしました。 が, DLL 側にレスポンスファイル等の問題が残っているようなのでDLL の (本家共々の) 仕様が絡むことから, 初期値はオフ (ANSI/OEM コード体系) になっています。

Ver 1.49 からの変更点

  • Mylstrcpyn2() がバッファー溢れを起こしてしまい, 終了時に一般保護エラーとなってしまうことのあったバグを修正しました。
  • Ver 1.49 において, 起動時の操作可能書庫チェックの際に一般保護エラーとなってしまうことのあったバグを修正しました。
  • Ver 1.49 において, ANSI 版アーカイバー DLL に Unicode で出力されたレスポンスファイルを渡してしまっていたバグを修正しました。
  • Ver 1.49 において, NT 4.0 等環境にもかかわらず, WideCharToMultiByte() API に WC_NO_BEST_FIT_CHARS を渡してしまっていたバグを修正しました。
  • Win95 OSR (IE 4.0) 以降, 及び NT 4.0 以降での動作に対応しました。 NT 3.5x, Win95 SP1, Win32s には, まだ対応していません。 Win95 SP1 については, ツールバーの文字列やヘッダーコントロールが表示されませんが, 一応操作は可能です。(笑)

Ver 1.47b からの変更点

  • UNLHA32.DLL Ver 2.40 に対応しました。 UNLHA32.DLL のテスト用に使用している版であることから, WinXP/2k 以外での動作は確認していず, また Unicode 版アプリとなっているため, Win9x / Win32s では動作しません。 「Unicode に対応したアプリが出ないので, 一向に Unicode 名のファイルが扱えるようにならない」という声が, ちらほら聞こえてきますので, とりあえず公開しておきます。
    正式版では, Win9x 系でも動作します, 念のため。 あと, 7-ZIP32.DLL の UTF-8 にも対応予定です。
  • アーカイバー DLL の要求版引き上げを行いました。

Ver 1.47a からの変更点

  • 正式版としてコンパイルを行っただけで, 特に変更点はありません。

Ver 1.47 からの変更点

  • 書庫操作終了時に, ポインターの重複解放が起こることのあったバグを修正しました。

Ver 1.46c からの変更点

  • Ver 1.46 以降, 書庫操作終了時に一般保護エラーとなってしまうことのあったバグを修正しました。
  • 書庫保存ダイアログにおいて, 拡張子を指定しなかった場合に, 上書き確認を行わずに保存を行ってしまっていたバグを修正しました。

Ver 1.46b からの変更点

  • 一部の環境で D&D による展開が行えなくなってしまっていたバグを修正しました。

Ver 1.46a からの変更点

  • 正式版としてコンパイルを行いました。

Ver 1.46 からの変更点

  • LMLZH32.DLL について, UNLHA32.DLL Ver 2.02c までの変更点を適用しました。

Ver 1.45b からの変更点

  • コンパイル時に警告レベル 4 による警告が行われいないように, ソースを改善しました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 2.02a までの変更点を適用しました。

Ver 1.45a からの変更点

  • 正式版としてコンパイルを行いました。

Ver 1.45 からの変更点

  • LMLZH32.DLL について, UNLHA32.DLL Ver 2.01a までの変更点を適用しました。

Ver 1.44i からの変更点

  • Ver 1.44b 以降, 書庫名のディレクトリーを作成した際に, "Archive_" のように, 名前の最後に '_' の文字が付加されてしまっていたバグを修正しました。 (本来 "Test .LZH" といったような名前への対策コードなのだが, 何を思ってか Ver 1.44b の修正時にコメントアウトを行っていた。)
  • マルチボリューム CAB 書庫を "test01.cab" のような名前を指定して別名保存しようとした際に "test0101.cab" のような名前で再読込を行ってしまい, 結果として読込に失敗してしまっていたバグを修正しました。 (別名保存自体は正常に行われている。 なお, マルチボリューム CAB 書庫は, それぞれのボリュームに継続書庫の名前が記録されていることから, 元々別名保存が行えない。)
  • LMLZH32.DLL について, UNLHA32.DLL Ver 2.01 までの変更点を適用しました。

Ver 1.44h からの変更点

  • Ver 1.44g 以降, 終了時に KERNEL32.DLL で一般保護エラーとなってしまっていたバグを修正しました。 (OLE32.DLL 解放後に OLE32 API を呼び出してしまっていたもの。 7-zip32.dll 等 OLE32.DLL を使用している DLL が存在すると表面化しなかったため, 多くの環境で問題なく動作してしまっていた。)

Ver 1.44g からの変更点

  • 『圧縮モード指定』ダイアログに『書庫の設定』ダイアログ呼び出しボタンを追加しました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 2.00a までの変更点を適用しました。

Ver 1.44f からの変更点

  • Ver 1.42b 以降, OLE32 関係のモジュールがインストールされていない Win32s Ver 1.25 等の環境で, LHMelt が起動できなくなってしまっていたバグを修正しました。
  • 拡張子判定・付加ルーチンの改善を行いました。

Ver 1.44e からの変更点

  • 書庫操作後のマルチボリューム書庫の読込が正常に行えないことのあったバグを修正しました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 1.99f までの変更点を適用しました。
  • 『書庫の保存』ダイアログでマルチボリューム書庫の指定を行えるようにしました。 変名規則を指定するものであって, 書庫の変換を行えるわけではありません。

Ver 1.44d からの変更点

  • 拡張子をもたない名前の書庫に対しての書庫変換が正常に行えなかったバグを修正しました。

Ver 1.44c からの変更点

  • Ver 1.44b 以降, 自己解凍書庫等を通常の書庫に変換しようとした際に変換に失敗してしまい, その結果書庫を失ってしまうことのあった大バグを修正しました。
  • ヘルプの更新を行いました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 1.99eβまでの変更点を適用しました。 あまり環境に依存しないことから, 今回はアセンブラー化を行って速度向上を図ってあります。

Ver 1.44b からの変更点

  • マルチボリューム書庫の変名を失敗した場合に, 一般保護エラーとなってしまうことのあったバグを修正しました。

Ver 1.44a からの変更点

  • 本来指定できるはずの『サブディレクトリーを無視』チェックボックスが, 無効化されてしまっていることのあったバグを修正しました。
  • 7-ZIP32.DLL Ver 4.23 に (一応) 対応しました。 マルチボリューム書庫も扱えますが, CAB 書庫の場合と同様, あらかじめ『マルチボリューム書庫』メニューを有効にしておかないと, 書庫の別名保存が正しく行えません。

Ver 1.44 からの変更点

  • ZIP32J.DLL 等へ渡す基準ディレクトリーのディレクトリーセパレーターが '\' になってしまうことのあったバグを修正しました。
  • 設定値について, 初期値から一度も変更を行っていない場合には, レジストリーへの保存を行わないようにしました。
  • UNZIP32.DLL Ver 5.41βに対応し, "-qsp1" スイッチを使用して不正パスチェックを行えるようにしました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 1.99dβまでの変更点を適用しました。 ただし, メモリーマップドファイルやアセンブラールーチン, 新たなスイッチ類については未対応です。
  • DELREG.EXE について, WinSFX32M Ver 2.82 対応版への更新を行いました。

Ver 1.43a からの変更点

  • 一覧表示について, 文字の上部が切れてしまうことのあったバグを修正しました。
  • 特定の拡張子をもつファイルを関連付け実行しようとした場合に, 実行可能ファイルとして警告するようにしました。
  • 8 個以上スペースの連続した名前をもつファイルを関連付け実行しようとした場合に, 危険なファイルとして警告するようにしました。
  • 一覧表示のファイル名について, 必要のある場合には省略記号 ("...") を用いるようにしました。
  • 書庫テスト時に, ダミーの展開先ディレクトリーとして, 展開先指定ダイアログでの初期値を DLL へ渡すようにしました。

Ver 1.43 からの変更点

  • 正式版としてコンパイルを行っただけで, 変更点はありません。

Ver 1.42d からの変更点

  • BGA/BZA 形式の新規書庫を作成する際に, 指定した圧縮形式が機能していなかったバグを修正しました。 (形式に合った拡張子を付加していなかったため。)
  • アンインストールの際にインストール時の旧関連付け設定を復元するように改善しました (DELREG.EXE)。
  • 『(書庫選択ダイアログを) ドロップ時も表示』『(圧縮モード指定ダイアログを) ドロップ時に表示』の 2 つの設定項目について, 初回起動時の初期値を有効設定に変更しました。

Ver 1.42c からの変更点

  • 自己解凍書庫を直接作成した後に, 通常の書庫を作成しようとしているにもかかわらず, 拡張子が ".exe" となってしまうことのあったバグを修正しました。
  • LMLZH32.DLL について, 追加圧縮時のファイル数表示の改善を行いました。
  • ヘルプの更新を行いました。

Ver 1.42b からの変更点

  • 『7z 書庫設定』ダイアログでの設定が正常に反映されないことのあったバグを修正しました。
  • 『書庫形式の選択』ダイアログで, 初期値として 7z 書庫が選択表示されなかったバグを修正しました。

Ver 1.42a からの変更点

  • Ver 1.37 以降, DELREG.EXE が Win32s 環境で実行できなくなっていたバグを修正しました。
  • Ver 1.36g 以降, ISH 関係が正常に動作しなくなっていたバグを修正しました。
  • Ver 1.36g 以降, (Win3.1,Win95 等の) ファイルマネージャーへの D&D が正常に行えなくなっていたバグを修正しました。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 1.97βでの修正点を適用しました。 バグ修正ですが, "-jx" スイッチに関するものなので, 通常 LHMelt の動作には影響しません。
  • Explorer への D&D (コピーのみ) に対応しました。 ツリー表示の行えない LHMelt では殆ど無意味なので, ディレクトリーの再構築は行いません。 全て同じフォルダーに展開・コピーされます。
    Win32s と NT 3.51 等 NT 4.0 よりも古い環境では, 従来の D&D となります。

Ver 1.42 からの変更点

  • 『7z 書庫を作成』メニューが機能していなかったバグを修正しました。
  • 状況依存ヘルプ表示の場合にレイアウトの崩れてしまうポップアップページについて, ヘルプを修正しました。

Ver 1.41f からの変更点

  • Ver 1.26b 以降, 設定にかかわらず常に状況表示抑制されてしまっていたバグを修正しました。
  • ウインドウの無効化を行わない DLL を使用しての処理中に, ウインドウ操作が行えてしまっていたバグを修正しました。
  • 『圧縮ファイル指定』ダイアログ (Win9x/2k 形式) の『パス情報を付加』コントロールの位置が, 環境によって異常となってしまうことのあったバグを修正しました。
  • 『関連付け設定』ダイアログについて, 最初の '.' 以降を全て拡張子として認識してしまっていたバグを修正しました。
  • 関連付けされていないファイルに対しての汎用起動プログラムが設定されている場合には, その登録を利用して関連付け起動するように改善しました。
  • 可能なダイアログについては状況依存ヘルプを表示するように改善しました。

Ver 1.41e からの変更点

  • "BGA 書庫設定" ダイアログについて, TAR 書庫用の項目が表示されていたバグを修正しました。
  • "-k" スイッチに 7z 書庫指定を追加し忘れていたバグを修正しました。
  • 正式版用にヘルプの更新を行いました。

Ver 1.41d からの変更点

  • ダイアログのコード整理を行いました。

Ver 1.41c からの変更点

  • Ver 1.39 以降, UNZIP32.DLL での展開時にエスケープシーケンス化が重複して行われてしまい, 結果として展開の行えないことがあったバグを修正しました。
  • バージョン情報ダイアログについて, 7-ZIP32.DLL については扱っている書庫の情報を付加するように改善しました。
  • 『圧縮ファイル指定』ダイアログ等の一部コードを整理しました。

Ver 1.41b からの変更点

  • "7z 書庫設定" ダイアログでの圧縮レベル等の指定が機能していなかったバグを修正しました。
  • "BGA 書庫設定" ダイアログでの圧縮モード指定が正常に機能していなかったバグを修正しました。
  • バージョン情報ダイアログのサイズ修正を行いました。
  • TAR32.DLL Ver 2.27 以降を使用している場合には, TarGetOriginalSizeEx() API 等を使用してサイズ取得を行うようにしました。

Ver 1.41a からの変更点

  • 環境によっては, レジスターが保存されないために, 圧縮・展開時等に一般保護エラーとなってしまっていたバグを修正しました。

Ver 1.41 からの変更点

  • 7z 書庫に対応しました。

Ver 1.40a からの変更点

  • UNLHA32.DLL Ver 1.96f 以降を使用している場合に, 自己解凍書庫を直接作成できるようにしました。

Ver 1.40 からの変更点

  • 正式版としての公開のみで, 変更点はありません。

Ver 1.39b からの変更点

  • 編集時など, 関連付け呼び出し時に "open" が必要な場合でも, open キーが存在しない場合には shell キーの省略値を使用するように改善しました。
    この場合, "open" による呼び出しではないことから, 編集作業の行えない場合がある点に注意が必要となります。
  • LMLZH32.DLL について, UNLHA32.DLL Ver 1.96dβ までの変更点を適用しました。

Ver 1.39a からの変更点

  • LMLZH32.DLL について, h2 形式書庫を操作した場合に, UNIX 形式でのタイムスタンプが正常に記録されない環境が発生していたバグを修正しました。

Ver 1.39 からの変更点

  • LMLZH32.DLL について, 圧縮を打ち切った後に, 何らかの操作を行うと『ヒープメモリーエラー』が表示されてしまっていたバグを修正しました。
    なお, エラー表示は行われますが, 二重解放やヒープの破壊は発生していません。
  • LMLZH32.DLL について, ディレクトリーの格納を行った場合に, "UNLHA32/UNLHA32/" といった重複した名前で格納されてしまうことがあったバグを修正しました。
  • LMLZH32.DLL について, 新規書庫が作成された場合に, 作業書庫が残ってしまうことのあったバグを修正しました。
  • LMLZH32.DLL に "-gt" スイッチを渡してしまっていたバグを修正しました。

Ver 1.38d からの変更点

  • Ver 1.36g 以降において, ZIP 書庫操作の際にエスケープ文字が含まれるファイルを扱えなくなっていたバグを修正しました。
  • Ver 1.36g 以降において, 『圧縮ファイル指定』ダイアログで『親ディレクトリー』を有効にしての『R1 スイッチ指定』による圧縮・格納が正常に行えなくなっていたバグを修正しました。
  • 『圧縮ファイル指定』ダイアログにおける『R1 スイッチ指定』項目の状態を記憶しないようにしました。
  • 『R1 スイッチ指定』を有効にしての圧縮・格納時に, 複数のフィルターを指定できるようにしました。
    コモンダイアログと同じ感じで, 『*.txt;*.doc』のように入力して指定を行ってください。
  • UNLHA32.DLL のサブセット版である LMLZH32.DLL を付属するようにしました。
    この DLL は, あくまでも『初心者』『LHMelt の単体収録』対策用のもので, UNLHA32.DLL を必要としなくなるわけではありません。 LHMelt は UNLHA32.DLL を前提として動作しますので, LMLZH32.DLL では限られた操作しか行えません。
    UNLHA32.DLL と LMLZH32.DLL の主な違いについては HISTORY.TXT を参照してください。 まだヘルプ等の変更を行っていないので…。
  • LMLZH32.DLL の追加に伴い, 追加スイッチ指定関連 (設定ダイアログの『DLL に渡すスイッチオプション』項目を始めとした, レジストリーを使用して直接 DLL にスイッチ指定を行うもの。) のレジストリー名が変更となっています。 スイッチの追加指定を行っている方は, 再設定が必要となります。

Ver 1.38c からの変更点

  • UnlhaGetAttribute() 等が使えない場合の, 文字列による属性取得の改善を行いました。
  • 圧縮属性と同様に, 暗号化属性のファイルについては別カラーで表示を行うようにし, 双方とも LZH 書庫についてのみ機能するように変更しました。
    両属性とも表示が行われるだけで, 展開時に当該属性が設定されることはありません。

Ver 1.38b からの変更点

  • Win32s/NT 3.51 環境下での独自ステータスバーの高さを再調整しました。
  • 独自プログレスバーについて, 配色が固定であった点を改善しました。
  • 圧縮属性が付加されているファイルについては, オレンジで表示するようにしました。 表示だけで, 展開時に圧縮属性が付加されるようなことはありません。
  • 独自コントロール関係ウインドウプロシージャのソースを整理しました。

Ver 1.38a からの変更点

  • Ver 1.38 での形式の推定が機能しなくなることがあったバグを修正しました。

Ver 1.38 からの変更点

  • 新規書庫の保存が MoveFile() API で行われる場合に, 作業書庫のアクセス権を引き継いでしまっていたバグを修正しました。
  • 『書庫形式選択』ダイアログで, 『書庫の設定』ボタンが初期表示時にグレー表示されてしまうことがあったバグを修正しました。
  • 『書庫オープン』ダイアログ等で新規の書庫を指定した際に, 拡張子から形式を推定した上で『書庫形式選択』ダイアログを表示するよう改善しました。

Ver 1.37d からの変更点

  • 大ボタンの初期設定時にポインター指定を間違っていたバグを修正しました。 (報告事例もなく, 手元の環境でも再現していなかったのですが, 『たまたま』再現していなかっただけで, 本来なら一般保護エラーを起こしていたはずのものです。)
  • オリジナル版ツールバーのルーチン変更を行いました。 これに伴い, Win95/NT 4.0 以降ではフラット表示になります。
  • 重複していた無駄な関数の削除を行いました。
  • オリジナル版と同様に, ツールバーにおいて, ソート関係ボタンとの間隔をあけるようにしました。
  • 小ボタン表示時の各ボタンのサイズの調整を行いました。
  • Ver 1.37c で行ったステータスバーの高さ調整を, NT 3.51 でも行うようにしました。
  • 大ボタン表示を初期値とし, それに伴う初期ウインドウサイズの見直しを行いました。

Ver 1.37c からの変更点

  • Ver 1.36h での 7-ZIP32.DLL の拒否解除について, 偽UNZIP32.DLL ロード時についての解除をし忘れていたバグを修正しました。
  • 解像度が変更された場合に, LHMelt が記憶している, そのサイズでの設定位置に移動するように改善しました。
  • 単独の格納ファイルに対して操作を行う仕様に合わせて, 複数ファイルが選択されている場合には, 表示・編集のボタン等を無効化するようにしました。
  • WinXP の場合に専用のツールバーアイコンを表示するようにしました。

Ver 1.37b からの変更点

  • 圧縮ファイル指定ダイアログでの『親ディレクトリー』スイッチの操作がメニュー表示に反映してしまっていたバグを修正しました。
  • "-f" スイッチ指定での既存書庫への圧縮時に, 決め打ちが行われてしまっていたバグを修正しました。
  • 動作設定としてではなく, その殆ど全てがコマンドラインツール的に『一度限りの指定』としての利用となっている実態にあわせて, "-i" スイッチ以外については, LHMelt の動作設定に反映されないよう仕様変更を行いました。
  • Ver 1.36l でステータスバーの高さを低くしすぎたので再調整を行いました。 (Win32s 環境)
  • "-f" スイッチにより新規書庫を指定する場合の書庫形式を指定する "-k" スイッチを追加しました。 このスイッチが使用されなかった場合は, 拡張子による決め打ちが行われます。
  • 多色アイコンを追加し, 『画像を使用しない』を初期値としました。

Ver 1.37a からの変更点

  • Ver 1.37 以降で, コマンドラインで拡張子と形式の一致しない書庫や (一つの) 書庫ではないファイルが指定された場合に, 一般保護エラーを起こしてしまっていたバグを修正しました。

Ver 1.37 からの変更点

  • Ver 1.37 で, コマンドラインで書庫を指定した場合に, 指定した書庫に対応する DLL しか有効とならないことがあったバグを修正しました。

Ver 1.36l からの変更点

  • Ver 1.36l で, オリジナル版コントロールを使用する設定とした場合に, 一般保護エラーが発生してしまっていたバグを修正しました。
  • UNARJ32.DLL に対するプライオリティー設定スイッチが "-htp" になってしまっていたバグを修正しました。
    このバグが存在していることから, LHMelt Ver 1.36h~l 上では UNARJ32.DLL Ver 0.56 以降を使用しないようにしてください。
  • 『圧縮ファイル指定』ダイアログで, パス情報付きのワイルドカード等を入力して『再帰』ボタンでの圧縮を指定した場合に, DLL が正常に認識できないパラメーターを生成してしまっていたバグを修正しました。
  • コマンドラインで指定した書庫の拡張子による形式チェックが機能していなかったバグを修正しました。

Ver 1.36k からの変更点

  • 1.36e 以降, CAB 書庫の圧縮レベルとボリュームサイズの設定変更が効かなかったバグを修正しました。
  • 展開先ディレクトリー指定時等に, ディレクトリー作成の行えないことがあったバグを修正しました。
  • オリジナル版プログレスバーの進捗率計算が正しくなかったバグを修正しました。
  • コモンコントロールを使用しない設定の場合でも, プログレスバーだけは使ってしまっていたバグを修正しました。
  • CAB 書庫圧縮レベルの省略値が 18 となっていたものを, DLL の初期値である 15 に変更しました。
  • 『圧縮ファイル指定』ダイアログについて, 個別のファイルが指定された場合には, 前回のワイルドカードとして "*.*" を記録するようにしました。

Ver 1.36j からの変更点

  • 一旦展開を行って『表示』を行う場合に, 展開したファイルを開けないことがあったバグを修正しました。

Ver 1.36i からの変更点

  • ヘルプの更新を行いました。 本体には変更点がありません。

Ver 1.36h からの変更点

  • Ver 1.36g 以降で, Win3.1 と Win32s の組み合わせによって, 展開等を行おうとした際に一般保護エラーとなってしまっていたバグを修正しました。
  • Ver 1.36f 以降で, ISH 操作時において作業用リストの解放し忘れていたバグを修正しました。
  • 7-ZIP32.DLL と UNZIP32.DLL の切り替えが, 書庫作成関連のメニューに反映されていなかったバグを修正しました。
  • ヘルプを暫定更新しました。 申し訳ないのですが, この版から Win32s 環境でのヘルプ表示ができなくなります。

Ver 1.36g からの変更点

  • Ver 1.36f 以降, パスによるフィルター表示が行えなくなっていたバグを修正しました。
  • 次版では修正されるようなので, Win9x での DLL 無効化を 7-ZIP32.DLL Ver 3.13.0.2 のみで行うように修正しました。
  • 7-ZIP32.DLL Ver 3.13.0.2 以降で SevenZipGetWriteTimeEx() API が使えるようになった点に対応しました。
  • 偽UNZIP32.DLL を使用する場合に, 7-ZIP32.DLL についてのチェックを行うように改善しました。
  • ウインドウタイトルでのファイル名を, フルパス名を取得した上で表示するように改善しました。
  • 『オプション設定』ダイアログからも『書庫設定』ダイアログを呼び出せるようにしました。
  • LHMelt 及び アーカイバー DLL の優先順位 (プライオリティー) を指定できるようにしました。 DLL については DLL 側の対応が必要なので, UNLHA32.DLL Ver 1.92β 以降を使用している場合のみ有効となります。

Ver 1.36f からの変更点

  • ZIP 書庫の場合に『ルートからの相対パスに変換』項目が未チェックのまま無効化されていた点を修正しました。
  • TAR32.DLL Ver 2.24 以降を使用している場合に, 『常に相対パスと見なす』項目が未チェックのまま無効化されていたバグを修正しました。
  • 相対パスしか扱えないにもかかわらず『ルートからの相対パスに変換』項目が有効化されていたバグを修正しました。
  • DLL へ渡すためのファイルリスト作成ルーチンを全面的に書き換えました。 そのため, コマンドライン指定での処理については, 特に LHMelt の解釈の癖を利用した指定を行っている場合など, 既存の版と同一の結果とならない可能性があります。
  • 7-ZIP32.DLL Ver 3.13.0.2 (以降) が Win9x 非対応となったため, それらの版については Win9x 環境では無視するようにしました。
  • UNRAR32.DLL Ver 0.10 (以降) が Win95 環境では初期化の段階で一般保護エラーとなってしまうため, それらの版については Win95 環境では無視するようにしました。
  • TAR32.DLL 及び CAB32.DLL が使用されている場合には, 圧縮率を得られないことから, (圧縮率の) 表示を行わないようにしました。
  • UNZIP32.DLL 関係のバージョン表示を整理 (LMZIP32.DLL が使用された場合に, 他の DLL を表示しない等。) しました。

Ver 1.36e からの変更点

  • 『展開先ディレクトリー指定』ダイアログでの指定がメニューに反映してしまっていたバグを修正しました。
  • レスポンスファイルで 1 行内に複数のパラメーターを記述できない仕様となっている DLL に対して, 複数のパラメーターを渡してしまうことがあったバグを修正しました。
  • レスポンスファイルで基準ディレクトリーを指定できない仕様となっている DLL に対して, 基準ディレクトリーを渡してしまうことがあったバグを修正しました。
  • TAR32.DLL 及び BGA32.DLL を使っての格納時に, ディレクトリー格納を選択できなかったバグを修正しました。
  • TAR32.DLL を使っての格納時に, 『圧縮ファイル指定』ダイアログの『サブディレクトリー無視』ボタンを無効化し忘れていたバグを修正しました。
  • 各 DLL に合ったワイルドカードが渡されないために, 一覧を正常に取得できないことがあったバグを修正しました。
  • 偽 UNZIP32.DLL Ver 5.51.0.7 で RATIO 関係の修正が行われている点に対応しました。
  • 偽 UNZIP32.DLL が内部で 7-ZIP32.DLL を呼び出していることに伴う制限がメニューに反映されるように改善しました。
  • QBGA32.DLL Ver 0.03 及び DCAB32.DLL 2004/08/26 版でレスポンスファイルを扱えるようになっている点に対応しました。

Ver 1.36d からの変更点

  • 『展開先ディレクトリー指定』ダイアログで, "./" 等と指定された場合に, ディレクトリーとして認識できなかったバグを修正しました。
  • 前回起動時の作成書庫設定が引き継がれないことがあったバグを修正しました。
  • CAB 書庫等で, 正常に属性が表示できていなかったバグを修正しました。
  • TAR32.DLL Ver 2.xx で属性が扱われない点など, 各 DLL での設定可能項目が適切でなかった部分を修正しました。
  • 圧縮・展開を始めとした書庫操作や D&D 時に行う設定については, 一度限りの一時的な設定に止めるよう仕様変更しました。
  • メニュー構成を一部変更しました。 ダイアログ方面も変更予定なので, 正式版までにヘルプについては更新を行います。
  • 絶対パスでの格納・展開について, ルート記号を排除 (つまりルートからの相対パスに変換。) するかどうかを選択できるようにしました。 ただし, 展開時については DLL 側の対応が必須なので, 常に選択できるわけではありません。
  • 扱っている書庫 (というか DLL) で設定不可能な項目については, 単に無効化するのではなく, 当該 DLL での省略値を表示した上で無効化するように改善しました。
  • 7ZIP32.DLL で "Deflate64" 等を区別して表示できていなかった点を改善しました。 (構造体ではなく専用 API を使用するようにしました。)

Ver 1.36c からの変更点

  • 7-ZIP32.DLL に対してファイルを絶対パスで渡してしまうことが多々あったバグを修正しました。
  • TAR32.DLL Ver 2.24 以降を使用している場合には, 不正パスチェック有無の設定に従って "--absolute-paths=" スイッチを指定するようにしました。
  • 『TAR 書庫設定』及び『BGA 書庫設定』ダイアログの変更を行いました。
  • 『書庫選択ダイアログ』から『書庫設定』ダイアログを呼び出せるようにしました。
  • 各 DLL の推奨バージョンの変更を行いました。
  • バージョン情報表示について, OS 情報の改善を行いました。

Ver 1.36b からの変更点

  • Ver 1.36a 以降で UNZIP32.DLL を使用している場合に, 展開等が行えないことがあったバグを修正しました。
  • 自己解凍書庫関連のメニューを『LZH 書庫設定』ダイアログに移しました。
  • 『CAB 書庫設定』ダイアログの変更を行いました。

Ver 1.36a からの変更点

  • UNZIP32.DLL / ZIP32.DLL 用の正規表現文字変換処理を 7-ZIP32.DLL に適用してしまっていたために, パス情報付きのファイルが扱えなかったバグを修正しました。

Ver 1.36 からの変更点

  • ZIP 書庫の操作を UNZIP32.DLL (と関連 DLL の組み合わせ) と 7-ZIP32.DLL 単体の, どちらを使うか選択できるようにしました。
    この版では 7-ZIP32.DLL での自己解凍書庫作成には対応していません。
  • Ver 1.36 でバッファーを広げすぎたために, Win9x 等で『圧縮ファイル指定』ダイアログが失敗してしまっていたバグを修正しました。
  • Win3.1 + Win32s 環境で『圧縮ファイル指定ダイアログ』が正常に表示されなくなっていたバグを修正しました。
  • 偽 UNZIP32.DLL を使っている場合に, 圧縮率の表現が逆になってしまっていた不具合に対応しました。 ただし, 偽 UNZIP32.DLL 側で改善が行われた場合には, 反対に不具合が発生します。
  • DLL に渡すコマンド列のバッファーを 64KB に拡張しました。
  • バージョン情報表示の改善を行いました。

Ver 1.35b からの変更点

  • dcab32.dll に対応しました。 といっても, レスポンスファイルが使えない点についての対応くらいしか行っていません。 偽 UNZIP32.DLL と同様の理由で, チェックを緩めてあります。
    レスポンスファイルを使えないことから, あまり多くのファイルを一度に扱うことができない点に注意が必要となります。 レスポンスファイルの代替用に 32KB しかバッファーを取っていないので, 300 個くらいが限度かと…。 レスポンスファイルで 32KB を超える部分は無視されます。
  • qbga32.dll に対応しました。 対応点及び制限は dcab32.dll と同じです。 LHMelt 1.35b でテストしたところ, 圧縮時は可能だったものの, 展開時にレスポンスファイルを使うと展開が行えなかったので, dcab32.dll 同様, レスポンスファイルを使用しないようになっています。
  • bga32.dll に "-o" スイッチが正しく渡されていなかったバグを修正しました。
  • 新規書庫を開いた際に, 作業ディレクトリーが正常に作成できないことがあったバグを修正しました。

Ver 1.35a からの変更点

  • DLL が, そのようなデーターを渡さないので, 表面化はしていなかったのですが, 不正パスチェックの際にバッファーオーバーフローを起こしてしまいかねない大バグを修正しました。

Ver 1.35 からの変更点

  • 偽 UNZIP32.DLL に対応しました。 『偽 UNZIP32.DLL を更新したら使えなくなった』というのでは困るだろう…ということで, あえて 偽 UNZIP32.DLL 固有部分のチェックは緩めてあります。

Ver 1.34c からの変更点

  • UNRAR32.DLL Ver 0.10 に対応しました。

Ver 1.34b からの変更点

  • ChangeFileNameSub() で, 初期ディレクトリーが正しく設定されていなかったバグを修正しました。
  • サウンドが重複しないように, MyMessageBox() ではサウンドを鳴らさないようにしました。

Ver 1.34a からの変更点

  • UNARJ32.DLL Ver 0.55 に対応しました。
  • 必要ないにもかかわらず, 不正パスチェック確認メッセージボックスが表示されてしまうことがあったバグを修正しました。

Ver 1.34 からの変更点

  • Enum 系 API を実装している場合に, UNLHA32.DLL Ver 1.91b 以降に似たチェックを行えるようにしました。 ただし, BGA32.DLL ではコールバック関数が呼ばれず, 拙作の UNARJ32.DLL を含む, その他の DLL には Enum 系 API が実装されていないことから, 実際には UNLHA32.DLL の旧版でしか有効となりません。
  • DLL によっては, エラーが発生した場合に呼び出し側のウインドウを無効化にしたまま終了するものがあるようなので, LHMelt 側で明示的に有効化するように改善しました。
  • 即時展開の場合にも, 事前に書庫内をサーチして不正パスチェックを行うようにしました。 DLL 側でのチェックや, Enum 系 API が使用できる場合は, そちらを利用します。
    これに伴い, 使用する DLL (DLL 側のチェックも Enum 系 API も使用できないもの。) によっては処理が遅くなります。
  • 不正パスチェックの有無を指定する 'i' スイッチを追加しました。

Ver 1.33a からの変更点

  • 『オプション設定』ダイアログで『不正パスチェック』有無の設定を行えるようにし, 初期状態で LHMelt 側でもチェックを行うようにしました。 ただし, 今のところは, 即時展開時には LHMelt 側でのチェックは行いません。 処理が重くなるのを嫌う向きが多かった覚えがあるので…。 とは言え, 何らかの形でチェック機構を入れるつもりですので, その点はご了承をば…。
    これに伴い, 絶対パスで格納されたメンバーの存在する書庫については, 若干制限 (ルートディレクトリー以外に展開しようとすると警告表示される。) が加わりますので ご注意ください。

Ver 1.33 からの変更点

  • 新規書庫の作成先としてデスクトップを選択できるようにしました。
  • 書庫の保存時のみに拡張子の大文字・小文字を変換するよう改善しました。

Ver 1.32 からの変更点

  • 展開先フォルダー指定時の SHBrowseForFolder() について, 一応ウインドウ位置を調整するようにしました。
  • UNZIP32.DLL 等, 展開時のタイムスタンプチェックの有無を命令で指定する DLL の場合に, メニュー等でチェックの有無を指定できなくなってしまっていたバグを修正しました。
  • D&D 時の圧縮モード指定ダイアログをキャンセルしたにもかかわらず, そのまま圧縮動作が行われてしまっていたバグを修正しました。
[→Page top] [→『LHMelting for Win32』] [→Home]