0
나는 usb 유틸리티 디스크를 만드는 과정에서 파일 세트를 USB 스틱에 복사하는 HTA를 가지고 있습니다. 제대로 작동하지만 복사 프로세스가 실행되는 동안 HTA가 응답하지 않는 문제가 있습니다. 복사하는 동안 실행을 일시 정지하지 않습니다 -vbscript hta freezing on 파일을 복사 할 때
Const FOF_CREATEPROGRESSDLG = &H0&
sub CopyFiles(driveletter) ' Copys Files to the new USB Disk showing progress bar
if radio(0).checked Then
Set objFilesys = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Shell.Application")
driveletter = ((driveletter) & "\")
Set objFolder = objshell.NameSpace(driveletter)
pathstring = objFilesys.GetAbsolutePathName("c:")
objFolder.CopyHere pathstring & "\" & "*.*", FOF_CREATEPROGRESSDLG
exit sub
elseif radio(1).checked Then
Set objFilesys = CreateObject("Scripting.FileSystemObject")
set objShell = CreateObject("shell.application")
pathstring = userselections.txtFile.value
if objFilesys.fileExists(pathstring & "\" & "kernel.sys") then
driveletter = ((driveletter) & "\")
Set objFolder = objshell.NameSpace(driveletter)
objFolder.CopyHere pathstring & "\" & "*.*", FOF_CREATEPROGRESSDLG
Else
msgbox "Error! The Specified path does not contain valid Install Files", vbcritical
end if
end if
end sub
HTAs는 그들이 실행하는 모든 명령에 대해 "정지"합니다. 문제가되지 않지만 파일 복사 나 문서 파싱 등의 작업은 대부분 시간이 오래 걸리며 정지 상태가됩니다. 위에서 언급 한 바와 같이 복사 프로세스에 일시 중지를 추가하여 hta의 응답 성을 높일 수 있습니다. 아마 이것은 당신에게 몇 가지 추가 정보를 줄 수 있습니다 : http://www.visualbasicscript.com/Avoid-HTA-interface-freeze-during-long-process-m82946.aspx – Mathias