C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 統合アーカイバDLLを利用した展開及び圧縮の進捗状況の取得に


(過去ログ 71 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■41582 / inTopicNo.1)  統合アーカイバDLLを利用した展開及び圧縮の進捗状況の取得に
  
□投稿者/ FUN (1回)-(2009/09/25(Fri) 01:21:05)

分類:[VB.NET/VB2005 以降] 

CodeZineにて公開されている「動的PInvokeによる統合アーカイバ仕様DLLを使用した書庫の展開と作成」を参考にしてVB2008にてunlha32.dllを利用した圧縮・展開プログラムを作成しています。

記事を参考に一通りのunlha32.dllの利用を行い、unlha()呼び出し時のオプション等を操作しいろいろと試行錯誤しているのですが、自前で圧縮及び展開中の進捗状況を実装する方法がわかりません。

一般的に配布されている解凍ソフト等の動作を見ると、一部のものはdllが提供する標準の進捗ダイアログを表示しているようですが、自前で実装しているものもたくさんありました。

こういったものはどのような方法で進捗状況を取得し表示しているのでしょうか。

現状はunlha()を呼び出す際のオプションでDLLにて提供される標準のダイアログを非表示にしており、プロセスの応答値のみで処理の終了を判断しております。
これを進捗状況(予め取得したアーカイブ内のファイル数に対して現在どの程度展開されているか等)を自前で表示したいと考えています。

ご経験のある方がいればご教授いただければと思います。

よろしくお願いいたします。
引用返信 編集キー/
■41584 / inTopicNo.2)  Re[1]: 統合アーカイバDLLを利用した展開及び圧縮の進捗状況の取得に
□投稿者/ やじゅ (1342回)-(2009/09/25(Fri) 06:39:36)
やじゅ さんの Web サイト
No41582 (FUN さん) に返信
> 現状はunlha()を呼び出す際のオプションでDLLにて提供される標準のダイアログを非表示にしており、プロセスの応答値のみで処理の終了を判断しております。
> これを進捗状況(予め取得したアーカイブ内のファイル数に対して現在どの程度展開されているか等)を自前で表示したいと考えています。

コールバック関数 ARCHIVERPROC
ウィンドウメッセージ WM_ARCEXTRACT
EXTRACTINGINFO 構造体
あたりがキーワードだと思います、WndProc内でWM_ARCEXTRACTメッセージを受け取って、なんたらかんたらってやれば出来るかも知れない

引用返信 編集キー/
■41667 / inTopicNo.3)  Re[2]: 統合アーカイバDLLを利用した展開及び圧縮の進捗状況の取得に
□投稿者/ FUN (2回)-(2009/09/27(Sun) 21:36:24)
No41584 (やじゅ さん) に返信
> ■No41582 (FUN さん) に返信
>>現状はunlha()を呼び出す際のオプションでDLLにて提供される標準のダイアログを非表示にしており、プロセスの応答値のみで処理の終了を判断しております。
>>これを進捗状況(予め取得したアーカイブ内のファイル数に対して現在どの程度展開されているか等)を自前で表示したいと考えています。
>
> コールバック関数 ARCHIVERPROC
> ウィンドウメッセージ WM_ARCEXTRACT
> EXTRACTINGINFO 構造体
> あたりがキーワードだと思います、WndProc内でWM_ARCEXTRACTメッセージを受け取って、なんたらかんたらってやれば出来るかも知れない
>

ご返信ありがとうございます。

添付されている資料を確認したところARCHIVERPROCに関する記述を発見いたしました。
まだ取り掛かってはいないのですが、調べてみたいと思います。

ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -