[1228]
vb6.0作成したexeの場合、コールバックが走っていない |
---|
□投稿者/ Akky -(2021/01/26(Tue) 01:50:46)
□U R L/ |
>もう一つ問題ですが、コールバック関数の引数(nState)の値が0/1/2の意味が難でしょうか? これです。
-------------------------------------------------------------------------------- 処理の流れ -------------------------------------------------------------------------------- 処理される格納ファイルごとに次の1・2を繰り返す。
1.ARCEXTRACT_OPEN(3) でメッセージを送出。 szSourceFileName に処理する書庫名が格納される。
2.ARCEXTRACT_BEGIN(0) でメッセージを送出。 szSourceFileName, szDestFileName, ファイル属性, 更新日時が有効になる。 最初に送信された際に dwFileSize, llFileSize ヘ処理が行われる ファイルの合計サイズが格納される。 (合計サイズがオーバーフローする場合は 0xFFFFFFFF(-1) を格納) 解凍時(e,x コマンド)は他の各メンバも有効になる。 削除時(d コマンド)は送出されず、3を処理が終わるまで繰り返す。
3.ARCEXTRACT_INPROCESS(1) でメッセージを送出。 dwWriteSize, llWriteSize にこれまで処理した合計サイズが格納される。 (dwFileSize が 0xFFFFFFFF(-1) の場合は dwWriteSize には全体の処理率を格納) 処理中のファイルの処理が終わるまで送出される。 場合によっては送出されない事もある。
他に処理するファイルが残っている場合は2へ戻り すべての処理が終了した時点で4へ。(処理状況表示を消すタイミング)
4.ARCEXTRACT_END(2) でメッセージを送出。 lParam(_lpEis) は 0(NULL) が格納される。 |
|