LHAComp
最新版 12/31 2011
【概要】
どちらかと言うと File の圧縮に焦点を絞ったプログラムです。
特に右クリックの送る のメニューに加えて便利に使用できることを考えて制作したつもりです。もちろん解凍もできます。
フリーソフトなどを公開する時に LZH 等で圧縮 をして配布しますがバージョンが上がるたびに此を
圧縮しなければなりません。
毎回デスティネーションファイルは同じ物ですし、ソースファイル も同じ物です。
そんなときに便利なように圧縮するときのデスティネーションファイルの経歴の記録を保存する
ように また定型作業も名前を付けて保存できるように制作しました。
もちろん通常の圧縮も便利にできるようにはしてありますがより便利に使えるのは
SendTo フォルダーにショートカットを作って使用した時に LHAComp を選んでデスティネーション
ファイルを確認して圧縮ボタンを押すだけ と言う動作にしてあります。
一度使用していただければ合う方にはとってもよく合うのではないかと思います。
MiccoさんのUNLHA32.DLLを使用します。
【動作環境】
日本語 Windows 98 / 2000 / XP / Vista / 7 ランタイムは UNLHA32.DLL が有ればLZH の 解凍 解凍 が
7-zip32.dll が有れば Zip 7z の 解凍 解凍 が出来ます。どちらかは必須です 他には特に必要有りません。
【インストール/アンインストール方法】
レジストリーは使用しませんので LHAComp.EXE LHAComp.HLP と LHAComp.TXT それに作成したショートカット等を削除して下さい。
【使用方法】 【注意事項】 【コマンドライン】 【制限事項】
ヘルプファイルを参照して下さい。
【使用に関して】
此の プログラムは バグ 動作不良などが無い事を期待されて作られてはいますが 違う環境での
正常動作 又 誤動作から来る損害など についての 保証はいたしかねます。
ただし ご意見 提案 動作不具合報告等は歓迎いたします。
【履歴】
Ver 1.00 1999/01/10 とりあえずの公開。
Ver 1.03 1999/01/28
作業後のフォルダーオープンを整理し余分に開かないようにしました。
Ver 1.031 02/08
作業後の確認窓を小さくして上下比較しやすくしただけです。
Ver 1.04 07/29
スクリーンの端の方や最小化状態で終了し、次回起動したときに画面に現れなくなる事が
あるのに対応しました。
Ver 1.05 11/15
VB 6.0 に変えました。ファイルのドロップでファイル名を取得するところを変えました。
Ver 1.06 04/30
UNLHA32.DLL が Ver 1.45 から改行を CrLf を返す様になったのでそれに対処しました。
Ver 1.07 09/18
メッセージのタイトルの修正と
作業ファイルをソートして表示するようにしました。
Ver 2.000 10/13
VB のランタイムが無い環境でも動作するようにVC++
で書き直し機能もアップさせました。
但し 今までの
ワークファイルは使用できませんのでクリップボード経由で書き換えて下さい。
Ver 2.001 10/18
細かな仕様の改善やコードの効率を計りました。
Ver 2.002 10/28
圧縮先ファイル
解凍先フォルダーの選択をより分かり易く又フォルダーも選択できる様にし
此処の機能をアップしました。
又 解凍作業も上書き確認の出る方に変えました。
Ver 2.003 10/29
一度だけで終わる
と 後にフォルダーを開く との組み合わせによっては自分が
終了出来なくなる事を修正しました。
Ver 2.004 11/01
細かな所のガードを固め
コードの整理 機能のアップをしました。
Ver 2.010 11/06
ファイルにもディレクトリー情報も付加できる様にし自己解凍庫の制限も無くしました。
此の伴い
ディレクトリー情報を付加 サブディレクトリーも探すのオプションを少々変えました。
その他不具合の出そうな所を改善しています。
Ver 2.011 11/12
プログラム効率のアップと
サイズの大幅減少をしました。
Ver 2.012 11/20
無駄なコードを省いて起動時間の短縮と
解凍基準フォルダー選択 ダイアログ後の
メモリー解放を忘れていたのを修正しました。
Ver 2..013 01/05
リストをクリップボードに入れる所の改善をしました。
Ver 2..014 01/05
ワークリストをメニューから選んだ時は位置を変えないようにし作業後のオープン
フォルダーの所の改良をしています。
Ver 2.015 06/17
効率の良いコードにする事で立ち上げスピードの動作速度のアップと作業サイズの
減少をしました。
Ver 2.016 07/30
コンボボックス
リストボックスの ファイル名フォルダー名をクリップボードに入れる
所のコードを確実な物に変えました。
Ver 2.017 09/24
フォルダーを探す所 開く所を最新の物に変え動作の安定サイズの減少
をしました。
Ver 2.018 11/07
Win 2000 で対象ファイル数を表示する所がおかしいのを修正しサイズの大きな
コマンドラインのオーバーフローに対処しました。又送られたコマンドライン分解を効率の良い物
とし
フォント及びサイズはシステムの使用している物にしてプログラムのサイズとリソースを減ら
しました。
Ver 2.020 2002/01/04
出力先をローカルドライブ
ネットワーク先と区別して判断するようにしました。
その他
全体的に最新結果のコードに合わせて細かい所の効率をアップし良く使う関数のスピード
アップ
サイズの減少をしました。
2002/03/20 Ver 2.021
常に使用する コマンドラインの分解
フルパスにする所 最後の結果を表示する
関数を見直して無駄のない物にしスピードアップ
サイズの減少をしました。
2002/05/26 Ver 2.030
Window を製作する所の余分な物を除き効率化してスピードアップ
サイズの減少を
しました。(
実際に EXE ファイルも小さくなりました。) 又
拡張子の無いファイルのドロップで選択拡
張子の
コンボボックスにおかしな拡張子が入る不具合を修正し
ワークファイルの追加の扱いも
はっきりさせました。
2002/06/07 Ver 2.031
リストボックスのファイル名の表示幅を正確に取る様にしました。又リストボックスの
水平スクロールバー表示が
Win 2000 環境で旨く行かないのを修正しました。その他細かい所を
修正し効率を良くしています。
2002/07/06 Ver 2.032
1 常に使用して何回も通る
ファイルのフォルダー 名前 を分解する所のコードの効率
を上げ
スピードアップとサイズダウンをしました。
2002/07/27 Ver 2.033
内部の関数を整理共通化してかなりのサイズダウンを
コードを見直して若干の
スピードアップをしました。後
細かい仕様の間違いを修正しています。
2002/08/07 Ver 2.034
文字コードを調べる所をより安全サイドに振りました。
2002/08/31 Ver 2.035
リスト部にフォーカスの有る時の
Delete キー は 選択リストを除くの機能にして
通常の
Delete 操作と整合性を取りました。この為リストの右クリックメニューに
此を除くを新設
しました。リスト部のメッセ−ジの処理の仕方を改善して安定性を良くし
サイズもダウンしています。
2002/11/25 Ver 2.036
比較的良く出る
メッセージダイアログの出し方を見直して効率を良く見た目の
整合性を取り
リソースを少なくしました。出来るだけ Work
バッファは必要な時に取得する事にして
無駄を省きました。
2003/02/01 Ver 2.040
LHAComp.LCQ の と *.LCQ の作業ファイルが同じ為に
*.LCQ を Load すると
作業 Path
が不用意に変えられてしまう不都合を防止しました。又
此に伴い作業 Pathだけを変える
機能を新設しました。その他かなりのコードを見直して色々な所のスピードアップ
全体的なサイズの
大幅ダウンをしています。
2003/05/11 Ver 2.041
送るから来る 複数ファイル名のコマンドライン解析にかなりの柔軟性を持たせ
以前は C:\Windows
\\***\C\Windodws は認められ無かったのを認識できる様にしました。
( この様な事は殆ど無い筈ですが
) 此に伴い コマンドライン解析 ル-プは一回になりこの部分での
スピードアップ
サイズダウンをしました。
2003/05/27 Ver 2.042
定型圧縮を記憶している LCQ
リストメニューをその都度作る事にして常に現在の
状態を表示出来る様にし
此の辺りの コードもだいぶ整理され立ち上がりに余分な事をしなくなり
起動が速くなりました。現在
参照中のフォルダーと 使用中のフォルダーが違う時の表示がはっきり
解る様にチェックを付ける様にしました。
又 *.LCQ
ファイルについては FullPath Name.LCQ Name 全て 受け付ける様にしました。
2003/06/24 Ver 2.043
過去の遺物的な関数を整理しメニューの作り方を改善し立ち上がり
サイズ 共に
若干の改善をしました。
2003/08/23 Ver 2.044
DLL に送るコマンドライン作成の効率化とその他気が付いたコードの改善をしました。
2003/12/03 Ver 2.050
圧縮先ファイル は実行後毎回コンボボックスに追加していましたが此をしない方が
良い事も有る
と思われるので 設定メニューに 実行後コンボに挿入
と言う オプション を付けて切り
替えられる様にしました。此に伴って追加は
Enter と Insert キーに割り当て Enter Esc キーで不要な
音がしていたのもしない様にしました。
2004/01/28 Ver 2.051
コマンドラインで送られて来るファイル名の確認を違う方法で重複してしているのを
整理しました。その他この辺の所を整理し効率を良くしました。
2004/07/18 Ver 2.052
設定ファイルの書き込み 各コンボボックスの動作機能のコードの整理で効率化
サイズダウンをしました。
2005/01/13 Ver 2.053
コンボボックス
リストボックスのアイテムのソートのコードを改善し出来るだけ
入れ替えのない無駄の無い物にしてソートのスピードをアップしました。
2004/05/31 Ver 2.054
反応の無いプログラム(
ハングアップしている物 ) に対して此に巻き込まれて
自分が固まってしまう事の無いようにしました。
2004/09/03 Ver 2.055
内部的に保持している 作業パスと
基準パスが \ 付きで有るか無いか
はっきりしていなくて解凍
圧縮の基準パスに常に意図した名前で作業が出来ない不具合を
解消しました。
2005/11/26 Ver 2.060
直に立ち上がる様にコードを変えリンク方法を変えて余分な事もしない事により
サイズダウン
スピードアップをしました。又 コマンドラインの解析を効率化しています。
2005/12/09 Ver 2.062
立ち上げ時の
コマンドラインの位置決定 設定ファイルの読み込みとコマンドラインの
解析をするのを同じ流れの中でする様にして
同じ様なループを三回もしない事によりスピードアップ
と
サイズダウンを
ワークバッファの拾得方法を変えて効率化しています。
又 送られたコマンドラインの
ファイル名 フォルダー名 取得方法をWin 98 / NT 系で変えて
NT系では
( 2000 XP NT
)余分な事をしない様にしました。
後 呼ばれる方法によっては設定ファイルを読み込めない不具合を修正しました。
2006/01/01 Ver 2.063
リストに複数行貼り付けた時に順序が逆になってしまうのを修正しました。
2006/03/29 Ver 2.064
他の要素やプログラムによって
フォームの最全面設定が変えられた時に設定
メニューとの整合性が取れなくなるのを防止しました。後
フォルダーを開く関数のコードを効率化
しました。
2006/05/20 Ver 2.065
フォームが必ず画面の中に入る様にし此の画面サイズもデュアルモニターに
対応させました。
2006/06/24 Ver 2.066
LCQ のファイルリストを作る所此にチェックを付ける所を効率化してサイズも
減少させました。
2007/01/10 Ver 2.067
解凍基準フォルダー選択のダイアログのスタートとメモリー解放を若干効率の
良い物にしました。
2007/01/10 Ver 2.070
LCQ のファイルリストを作る所をメニューを作る前にリストをオンメモリーで
処理するようにして負荷を軽くしました。
2007/10/02 Ver 2.072
LCQ のファイルリストのメニュー作成に使用するバッファの取得法を変えて
この部分の効率をアップし
又 バッファフルの時の復帰を速くしました。
2007/12/19 Ver 2.074
ファイルを選択してフォルダーをあける前に
そのフォルダーが開いている時に
此を閉じるのを
Windows Vista がサポートしていないメッセージを使用していて閉じる事が出来ない
のを 別のメッセージに変えて修正しました。
2008/09/29 Ver 2.080
立ち上げ時に 無変換 キーを押して立ち上げると
LCQ ファイルリストメニューを
出して此を選択する事で直接此のリストから始められる様にしました。
2008/10/06 Ver 2.081
圧縮先ファイルに何も入れずに出力先選択を押すと場合によっては無い物を
探してハングアップ状態になるのを防止しました。
2009/04/30 Ver 2.100
コマンドライン解析部分を若干ですが効率化しました。
Windows 98
用のメモリマネージャー用の読み込み時間短縮オプションをやめてアプリケーションの
サイズ (
ディスク サイズ )を縮小しました。
2009/08/27 Ver 2.102
ComboBox のテキストが無かった時の対応を加え
又此に続くメニュー操作の
為のテキスト取得を共通化してコード効率を上げました。
2010/01/05 Ver 2.110
読み込みに行ったファイルが
読み取り専用属性を持っていた時にオープン
出来ずに読み込みに失敗してしまう不具合を修正しました。
2010/07/30 Ver 2.120
フォームのマウスの左右クリックでの動作やメニューを出すそれそれの位置の
判断を API 任せでなく自身で判断する様にして柔軟性を高め選択負荷を軽い物としました。
後 アイコンが実情と会わなくなっていたのを修正しました。
2010/09/03 Ver 2.122
ダイアログ Procedure の 変数の独立性を高め 他のバッファと重なる可能性の
有るパスを排除しました。
2010/12/06 Ver 2.124
他のプログラムに制御を移しその結果を待つのを確実にシステムに制御が移り
結果が出るのを待機出来るコードにしました。
2011/02/15 Ver 2.126
複数ファイルの選択 ファイル名の取得部分のコード直に対処する物に変えて
此の部分での スピード サイズ共に改善しました。
2011/05/21 Ver 2.200
使用 DLL を unzip32.dll から 新たに 7-zip32.dll を使用する事にして zip 7z も lzh と同様に
扱える様にしました。後 大きく コードを見直したのをきっかけに 細かい所の動作 不具合を手直しして
サイズ の減少 使い勝手 の向上等大きく改善しています。
又 設定メニューの フォルダー情報を付加 の時に空のフォルダー情報も保存する様にしました。
アクションの設定が増えたので以前の *.LCQ の作業ファイルでは アクションの設定が違って来て
しまうので 以前の *.LCQ の作業ファイルを確認手直しして上書き保存をして下さい。
2011/11/27 Ver 2.210
コマンドラインの与え方のケースによっては立ち上げに失敗したりメモリーエラーになる事を排除し
立ち上げ時の動作も多少変えました。それに伴って設定ファイルの読み込み書き込みの所 後 何カ所かの
気の付いたコードをを効率化して スピード サイズ 共に改善しています。
2011/12/31 Ver 2.211
コボンボボックスのキー入力が一部の文字でおかしかったのを修正しました。
最新版 12/31 2011 Ver 2.211 Size 37 kb LHAComp のダウンロード