Здравствуйте.
Есть пользовательская функция WIMGAPI UDF
В неё включена функция _WIM_ApplyImage. По аналогии с функцией Func Extract($sWimFile, $iImageIndex, $sFilePath, $sExtractTo) я написал Func Apply($sWimFile, $iImageIndex, $Path)
Однако приделать к ней Progress bar как у функции Func Capture($Path, $sWimFile, $sImageName, $sImageDesc, $Compress) я не могу, так как не понимаю работу функциий DllCallbackRegister и _WIM_RegisterMessageCallback. Если не сложно, подскажите пожалуйста, как сделать прогресс бар к функции _WIM_ApplyImage. Спасибо.
Есть пользовательская функция WIMGAPI UDF
В неё включена функция _WIM_ApplyImage. По аналогии с функцией Func Extract($sWimFile, $iImageIndex, $sFilePath, $sExtractTo) я написал Func Apply($sWimFile, $iImageIndex, $Path)
Код:
Func Apply($sWimFile, $iImageIndex, $Path)
; load .wim file with read access
$hWim = _WIM_CreateFile($sWimFile, $WIM_GENERIC_READ, $WIM_OPEN_EXISTING, 0, 0, 0)
If $hWim = 0 Then
MsgBox(48, "Apply", "Error: Failed to load image. (" & $hWim & "," & @error & "," & @extended & ")")
Cleanup()
Exit (252)
EndIf
; set our temp path
$aResult = _WIM_SetTemporaryPath($hWim, @TempDir)
; load the image index
$hImage = _WIM_LoadImage($hWim, $iImageIndex)
; apply the image
$aResult = _WIM_ApplyImage($hImage, $Path, 0)
If $aResult = 0 Then MsgBox(48, "Apply", "Error: Failed to apply image. Make sure your path exists! (" & $aResult & "," & @error & "," & @extended & ")")
Cleanup() ; free resources
EndFunc ;==>Apply
Однако приделать к ней Progress bar как у функции Func Capture($Path, $sWimFile, $sImageName, $sImageDesc, $Compress) я не могу, так как не понимаю работу функциий DllCallbackRegister и _WIM_RegisterMessageCallback. Если не сложно, подскажите пожалуйста, как сделать прогресс бар к функции _WIM_ApplyImage. Спасибо.