Win32APIを利用して、ファイルの圧縮、解凍 – プログラミング – Home

Win32APIを利用して、ファイルの...
 
通知
すべてクリア

Win32APIを利用して、ファイルの圧縮、解凍


kenji
 kenji
(@kenji)
ゲスト
結合: 23年前
投稿: 6
Topic starter  

VC6.0を使っています。
圧縮、解凍を行うDLLはいくつか存在しますが、
Microsoftが提供するWin32APIのみ
を利用して、圧縮、解凍を行うことは可能でしょうか?
ぜひ方法を教えてください。

また、もし無理だということならば、圧縮、解凍を実装
するにあたり、役に立ちそうなアルゴリズム等の情報が
あれば教えてください。

よろしくお願いいたします。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> 圧縮、解凍を行うDLLはいくつか存在しますが、
> Microsoftが提供するWin32APIのみ
> を利用して、圧縮、解凍を行うことは可能でしょうか?

Win32API では不可能です。
解凍だけなら LZ32.DLL という DLL にいくつかの関数がありますが、これらの関数で解
凍できる形式はほとんど使われません。
また、Microsoftが提供するCabinet SDKというヤツでCAB形式の圧縮・解凍を行うアプリ
を作ることはできますが、Win32 APIとは違いますね。

> また、もし無理だということならば、圧縮、解凍を実装
> するにあたり、役に立ちそうなアルゴリズム等の情報が
> あれば教えてください。

圧縮・解凍を一から実装しようということですか?
たとえば、zlib なんていう既存のライブラリをスタティックリンクすれば、他に DLL
を必要とせずに圧縮・解凍を行うこともできるでしょうが、そうではなく、圧縮・解凍
ルーチンを自分で書くということ?

だったらこのへん
http://www.01-tec.com/
がいいかも。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

「LZOpen」,「LZCopy」,「LZClose」等の関数がありますが、
「*.LZH」・「*.ZIP」・「*.CAB」とは違うものですね。

LHAだったら、LHA32のDLL
ZIPだったらシャノンさんのご意見どおり「zlib」を使うのがいいと思います。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> LHAだったら、LHA32のDLL
> ZIPだったらシャノンさんのご意見どおり「zlib」を使うのがいいと思います。

いやー、「外部 DLL を使わずに」という御注文ですからね。
LHA32.DLL が許容できるんでしたら ZIP32J.DLL をお勧めしますよ。

ちなみに、LHA32.DLL を使わずに LZH の圧縮、解凍ルーチンを実装しているアプリは、
LHa for Unix のソースコードを流用している場合が多いようです。
ZIP は Info-Zip というサイトでソースコードが手に入りますし、TAR32.DLL もソース
コードが公開されています。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました