
■C/C++とWIN32APIでAPP作成しています。
■圧縮(Zip)プログラムの作成に挑戦しています。
「質問」
■int WINAPI ZIP()の使い方が分かりません
・特に第2引数のコマンドライン文字列の使用方法が分かりません。
・文字列の先頭に[-r]の有る物、無のサンプルソース。
・圧縮前のファイル名(フルパス)と圧縮後のファイル名(フルパス)をlstrcatさせたサンプルアイル
■何種類か有る様ですが、ネット探しますが、説明HPが見つかりません。
■日本語で記載された、関係HPも含めて御教示下さい。
No.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の条件の方が問題ですかねぇ)
自己解凍書庫にしちゃった方が手間がなさそうですけど。
■早速のご教授ありがとうございます。
■情報は渡したいが、情報の拡散はしたくない・・・・
■CDの配布先は一般人で、PCに特別操作を期待出来ない・・・・
■私の知識も少なくて・・・
■もう少し勉強します。
No.1
- 回答日時:
>■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をダウンロードしなくとも・・・こんな事を思っています。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- iPhone(アイフォーン) iPhone ファイル iPhoneのファイルで写真をzipに圧縮した後もう一度展開すると画質は変わ 3 2022/10/21 21:53
- Windows 8 メール送信、zipファイル PDFについて 回答お願いいたします。 Windows8 メールはサクラ 1 2022/05/12 17:49
- ノートパソコン パソコンでmp4の動画ファイルを10個くらい(合計20GB)をフォルダに入れて、容量を軽くしてしまお 2 2023/02/06 02:08
- 画像編集・動画編集・音楽編集 連続質問です 動画ファイルの圧縮時のビットレートというのについて教えてください 2 2023/08/06 11:50
- Ruby 英数字を含む文字列(0-9,A-Z)の桁数圧縮をするには 5 2022/06/28 18:15
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- その他(IT・Webサービス) サンプルファイルのダウンロードについて 2 2023/02/11 02:46
- Android(アンドロイド) androidでzip圧縮してから転送できるファイラー 3 2022/12/11 10:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
fopenで別ディレクトリにファイ...
-
絶対パスの絶対て英語で何でし...
-
FTPでputすると空ファイルが出...
-
フルパスから最後のディレクト...
-
「UNCパスはサポートされません...
-
GetPrivateProfileStringでini...
-
セルに入力されたパスでフォル...
-
Visual Studio 2008コマンドプ...
-
ネットワーク上のコンピュータ...
-
ThisWorkbook.Pathについて
-
ファイルダイアログのカレント...
-
C#でカレントディレクトリの取...
-
Excel2013 FSO.getAbsolutePath...
-
windows.hがincludeされない
-
C#でのディレクトリ指定時のユ...
-
Ubuntu テキストファイルをどこ...
-
ExcelVBA サーバーの(共有フォ...
-
簡単にファイルやディレクトリ...
-
C言語を用いたファイルの一括削...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
「UNCパスはサポートされません...
-
FTPでputすると空ファイルが出...
-
絶対パスの絶対て英語で何でし...
-
fopenで別ディレクトリにファイ...
-
ExcelVBAでカレントディレクト...
-
ファイルやディレクトリの存在...
-
windows.hがincludeされない
-
セルに入力されたパスでフォル...
-
ネットワーク上のコンピュータ...
-
Ubuntu テキストファイルをどこ...
-
C言語を用いたファイルの一括削...
-
webアプリケーションでの画像フ...
-
新規作成ファイルパスが有効か...
-
ファイルダイアログのカレント...
-
ExcelVBA サーバーの(共有フォ...
-
GetPrivateProfileStringでini...
-
エクセルVBAで相対パスでファイ...
-
マイクラでPythonのプログラミ...
おすすめ情報