これまでで一番「情けなかったとき」はいつですか?

■C/C++とWIN32APIでAPP作成しています。
■圧縮(Zip)プログラムの作成に挑戦しています。
「質問」
■int WINAPI ZIP()の使い方が分かりません
・特に第2引数のコマンドライン文字列の使用方法が分かりません。
・文字列の先頭に[-r]の有る物、無のサンプルソース。
・圧縮前のファイル名(フルパス)と圧縮後のファイル名(フルパス)をlstrcatさせたサンプルアイル

■何種類か有る様ですが、ネット探しますが、説明HPが見つかりません。
■日本語で記載された、関係HPも含めて御教示下さい。

A 回答 (2件)

>■「質問-1」


>[-r]は再帰的検索と理解してよろしいですか。

CMD_ZIP.TXTにも記述されていますが、再帰的検索です。
-Dを指定しなければディレクトリ名も含まれます。
# 圧縮対象としてディレクトリを指定し、-rを付けないと…有効なデータのないZIPファイルが生成されました。
# 生成されたZIPファイルはLHMeltで確認。

>■「質問-2」
>両方ともファイル名のみでも出来るのでしょうか?

圧縮対象ファイルがファイルだけなら、-rの有無による違いはなさそうです。
細かいところは…CUIのzipコマンドのコマンドラインスイッチに準拠…なのではないでしょうか?

>■「質問-3」
>・WindowsXPでの標準実装されている「ZIP」の関する処理をAPIから操作する事は出来ないのでしょうか?

方法はある…と思われますが、軽く探した程度では見あたりませんね。
ZIPファイルをD&Dしたときに出る「展開」メニューは、シェルエクステンション辺りで処理されていると思われますが。
# ある程度各自の環境次第ですので、なんとも…。

>・C/C++とWIN32API関数で出来れば、あらたにDLLをダウンロードしなくとも・・・こんな事を思っています。

パスワード月ZIPの配布用プログラムを作っているんですよね?
# http://oshiete1.goo.ne.jp/qa5699451.html より
Zip32j.DLLと、それに必要なDLL(ZIP32.DLL)を配布プログラムのディレクトリと同じところに置けば、そこから読み込んでくれるかも知れません。
# それでダメなら明示的にLoadLibrary()で読み込ませるとか。
zip32j.dllは
>●著作権など
> このZIP32J.DLLはソース、バイナリ共に完全に自由に使ってもらって結構です。
> アプリへのバンドル、改造、商用利用等もかまいません。
> 一方このDLLが使っているInfo-ZIPによるZIP32.DLLはそちらの配布規定に従ってください。おおまかには、無料もしくは安価な手数料ででオリジナルのバイナリ/ソースが入手できることを明示すればいいようです。詳しくはオリジナルを参照してください。

だそうです。(ZIP32.DLLの条件の方が問題ですかねぇ)
自己解凍書庫にしちゃった方が手間がなさそうですけど。
    • good
    • 0
この回答へのお礼

■早速のご教授ありがとうございます。

■情報は渡したいが、情報の拡散はしたくない・・・・
■CDの配布先は一般人で、PCに特別操作を期待出来ない・・・・

■私の知識も少なくて・・・
■もう少し勉強します。

お礼日時:2010/03/08 21:23

>■int WINAPI ZIP()の使い方が分かりません



いきなり、そう書かれても判りません。
Zip32j.DLLのものでしょうか?
# API_ZIP.TXTによると、「int WINAPI Zip(const HWND hWnd,LPCSTR szCmdLine,LPSTR szOutput,const DWORD dwSize)」ですが…。
# ZIP()なので別ですかね……。

Zip32j.DLLのものだとすると…

>・文字列の先頭に[-r]の有る物、無のサンプルソース。
>・圧縮前のファイル名(フルパス)と圧縮後のファイル名(フルパス)をlstrcatさせたサンプルアイル

どちらも、ただの文字列操作です。
# LPCSTR、LPSTRで……UNICODEではないようですが…。

この回答への補足

■早速の回答ありがとうございます。
■質問内容が不足ですいません。
■ソフトの配布が必要になり、急遽、圧縮(パスワードを含む)、解凍の勉強をしています。
■統合アーカイバ・プロジェクトのHPから[caldix]を使用してダウンロードしました。
■添付ファイルが多く必要情報がいまいち理解不足です。

■「質問-1」
[-r]は再帰的検索と理解してよろしいですか。
■「質問-2」
両方ともファイル名のみでも出来るのでしょうか?

■「質問-3」
今回の質問と直接関係は有りませんが。
・WindowsXPでの標準実装されている「ZIP」の関する処理をAPIから操作する事は出来ないのでしょうか?
・C/C++とWIN32API関数で出来れば、あらたにDLLをダウンロードしなくとも・・・こんな事を思っています。

宜しくお願いします。

補足日時:2010/03/06 09:29
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報