2
vbscript는 .vbs 파일에서 올바르게 작동합니다. 물론 .vbs 파일에서 vbscript 코드를 실행할 때 'msgbox lines'의 주석을 제거합니다..hta 구문 오류, 클래스 생성
다음 파일을로드 할 때 추가 설명없이 42 행에 오류 메시지가 표시됩니다.
모든 의견을 많이 주시면 감사하겠습니다.
나는이 문제를 해결하는 경우
, 나는 여기에 내가 지금까지 만든 코드의 PDF 파일, .MP3 오디오 파일 및 .MP4 비디오 파일을 호출하는 메뉴를 만들거야 :<html>
<head>
<title>My HTML application</title>
<HTA:APPLICATION
APPLICATIONNAME="My HTML application"
ID="MyHTMLapplication"
VERSION="1.0"/>
</head>
<script language="VBScript">
Sub Window_OnLoad
'This method will be called when the application loads
'Add your code here
' copyright JSWARE
'FileExt.vbs.
'-- File extension default program Class.
'-- send a file extension to Function and Get path of default program.
Dim CE, txtExt, htmlExt, zipExt, pdfExt, mp4Ext
Set CE = New ClsExt
txtExt = CE.GetDefaultProgram("txt")
'MsgBox "TXT" & vbcrlf & txtExt
htmlExt = CE.GetDefaultProgram("html")
'MsgBox "HTML" & vbcrlf & htmlExt
htmlExt = CE.GetDefaultProgram("zip")
'MsgBox "ZIP" & vbcrlf & htmlExt
pdfExt = CE.GetDefaultProgram("pdf")
'MsgBox "XYZ" & vbcrlf & pdfExt
mp4Ext = CE.GetDefaultProgram("mp4")
'MsgBox "mp4" & vbcrlf & mp4Ext
Set CE = Nothing
'_______________ START ClsExt Class ____________________________
Class ClsExt
Private SH, CK1, CK, s1, s2, sType
Private Sub Class_Initialize()
CK = "\Shell\Open\Command\"
CK1 = "\Shell\Opennew\Command\"
Set SH = CreateObject("WScript.Shell")
End Sub
Private Sub Class_Terminate()
Set SH = Nothing
End Sub
Public Function GetDefaultProgram(sExt)
If left(sExt, 1) <> "." Then
sExt = "." & sExt
End If
On Error Resume Next
Err.clear
sType = SH.RegRead("HKCR\" & sExt & "\") '--look up ext in HKCR to Get file type (ex.: "txtfile")
If (Err.number <> 0) or (len(sType) = 0) Then
GetDefaultProgram = ""
Exit Function
End If
s1 = SH.RegRead("HKCR\" & sType & CK) '--Shell\open\command or.....
If (Err.number = 0) and (len(s1) <> 0) Then
s2 = Stripit(s1)
GetDefaultProgram = s2
Exit Function
End If
Err.clear
s1 = SH.RegRead("HKCR\" & sType & CK1) '--shell\opennew\command.
If (Err.number = 0) and (len(s1) <> 0) Then
s2 = Stripit(s1)
GetDefaultProgram = s2
Exit Function
End If
Err.clear
s1 = SH.RegRead("HKCR\" & sExt & CK)
If (Err.number = 0) and (len(s1) <> 0) Then
s2 = Stripit(s1)
GetDefaultProgram = s2
Exit Function
End If
GetDefaultProgram = "" '--If none of these checks have found anything return "".
End Function
Private Function Stripit(sp) '--clean up default program string.
Dim ept, sf
On Error Resume Next
ept = instr(1, sp, "exe", 1) '--find End of exe path.
If ept <> 0 Then
sf = left(sp, ept + 2)
Else
ept = instr(1, sp, "com", 1)
If ept <> 0 Then
sf = left(sp, ept + 2)
End If
End If
If left(sf, 1) = chr(34) Then '--take off any quotes or spaces.
sf = right(sf, (len(sf) - 1))
End If
sf = trim(sf)
Stripit = sf
End Function
End Class
'Set wmp = CreateObject("WMPlayer.OCX")
'wmp.openPlayer("E:\svr1\K\data\Steinberg Nisan\AV\2013-04-15_\VID_20130415_171550_FIXED_.mp4")
'wmp.openPlayer(".\VID_20130415_191439_FIXED_.mp4")
End Sub
</script>
<body bgcolor="white">
<!--Add your controls here-->
<br /><br />
<font size="7">
<b><u>Table of Contents: Index to Folder </b></u></font>
<br /><br />
<!--{{InsertControlsHere}}-Do not remove this line-->
</body>
</html>