Открывайте файлы на компакт-диске с помощью .HTA и VBScript.

Мне нужно создать программу запуска для автозапуска компакт-диска, которая создает кнопки, открывающие файлы (pdf-файлы, видео и т. д.) с компакт-диска с помощью VBScript.

У меня есть в .HTA следующий код

shell = new ActiveXObject("WScript.Shell").Run('My eBooks\Triniscene Link Me Campaign.pdf',1,false);

и кнопка есть

<a href="javascript:void(0)" id="link_id">pdf 1</a>

Однако при нажатии на ссылку вместо файла открывается Internet Explorer (событие не показывает PDF-файл)

Я хочу иметь возможность инициировать открытие файла любым приложением по умолчанию, которое есть в системе.


person KArneaud    schedule 08.01.2015    source источник
comment
Кажется, у вас есть только код JavaScript. В JS вам нужно избегать обратной косой черты, например: `\\`, и включать двойные кавычки, когда путь содержит пробелы. Вам также необходимо убедиться, что рабочий каталог указан правильно при использовании относительного пути. Просто из любопытства, какой адрес страницы, открытой IE?   -  person Teemu    schedule 08.01.2015
comment
@Teemu открытый адрес был javascript:void(0). Я проводил некоторые исследования и хотел узнать, совместим ли HTA с Windows 8...?   -  person KArneaud    schedule 08.01.2015
comment
открытая страница была пустой. Просто из любопытства, совместим ли файл HTA с IE10 и 11?   -  person KArneaud    schedule 08.01.2015
comment
Вы можете запускать HTA с IE10–11, хотя это устарело, начиная с IE10. Некоторые из реальных свойств HTA не работают в этих браузерах (атрибуты в теге HTA:APPLICATION).   -  person Teemu    schedule 09.01.2015
comment
Хммммм... спасибо, я думаю, что я должен просто вернуться к Flash для этого   -  person KArneaud    schedule 09.01.2015


Ответы (1)


Попробуйте этот HTA с Vbscript:

<html>
<head>
<HTA:APPLICATION
APPLICATIONNAME="Run Some Files"
BORDER="THIN"
BORDERSTYLE="NORMAL"
ICON="Explorer.exe"
INNERBORDER="NO"
MAXIMIZEBUTTON="NO"
MINIMIZEBUTTON="NO"
SCROLL="NO"
SELECTION="NO"
SINGLEINSTANCE="YES"/>
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="YES">
<title>Run Some Files</title>
<SCRIPT LANGUAGE="VBScript">
'************************************************************************************
Option Explicit
Sub window_onload()
    CenterWindow 400,360
End Sub
'************************************************************************************
Sub CenterWindow(x,y)
    Dim iLeft,itop
    window.resizeTo x,y
    iLeft = window.screen.availWidth/2 - x/2
    itop = window.screen.availHeight/2 - y/2
    window.moveTo ileft,itop
End Sub
'************************************************************************************
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'************************************************************************************
Sub Run(MyFile)
    Dim ws,return
    Set ws = CreateObject("wscript.Shell")
    On Error Resume Next
    return = ws.run(DblQuote(MyFile),False)
    If Err <> 0 Then
        MsgBox "An unknown error occurred",VbCritical,"An unknown error occurred"
    End If
End Sub
'************************************************************************************
</script>
</head>
<BODY text=white bgcolor="DarkOrange" TOPMARGIN="1" LEFTMARGIN="1">
<p>In Links List :</p>
<ol>
<li><a href="#" onClick="Call Run('My eBooks\Triniscene Link Me Campaign.pdf')"> Triniscene Link Me Campaign 1</a></li>
<br><br>
<li><a href="#" onClick="Call Run('My eBooks\MyPDF File 2.pdf')"> Triniscene Link Me Campaign 2</a></li>
</ol>
<p>In Buttons List :</p>
<center><button onclick="Call Run('My eBooks\Triniscene Link Me Campaign.pdf')"> Triniscene Link Me Campaign 1</button>
<br><br>
<center><button onclick="Call Run('My eBooks\MyPDF File 2.pdf')"> Triniscene Link Me Campaign 2</button>
</body>
</html>
person Hackoo    schedule 09.01.2015