使用.HTA和VBScript打开CD上的文件

使用.HTA和VBScript打开CD上的文件,vbscript,hta,autorun,Vbscript,Hta,Autorun,我需要为自动运行CD创建一个启动器,该启动器使用VBScript创建从CD上打开文件(PDF、视频等)的按钮 我在.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> 但是,单击链接In

我需要为自动运行CD创建一个启动器,该启动器使用VBScript创建从CD上打开文件(PDF、视频等)的按钮

我在.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)


我希望能够使用系统的任何默认应用程序触发文件的打开

使用Vbscript尝试此HTA:

<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>

运行一些文件
'************************************************************************************
选项显式
子窗口_onload()
中心窗口400360
端接头
'************************************************************************************
副中心窗口(x,y)
伊托普
window.resizeTo x,y
iLeft=window.screen.availWidth/2-x/2
itop=window.screen.availHeight/2-y/2
window.moveTo ileft,itop
端接头
'************************************************************************************
函数DblQuote(Str)
DblQuote=Chr(34)和Str&Chr(34)
端函数
'************************************************************************************
子运行(MyFile)
暗ws,返回
设置ws=CreateObject(“wscript.Shell”)
出错时继续下一步
return=ws.run(DblQuote(MyFile),False)
如果错误为0,则
MsgBox“发生未知错误”,VbCritical,“发生未知错误”
如果结束
端接头
'************************************************************************************
在链接列表中:



  • 在按钮列表中:

    Triniscene链接我活动1

    Triniscene链接我活动2
    您似乎只有JavaScript代码。在JS中,您需要像这样转义反斜杠:`\\`,并在路径包含空格时包含双引号。您还需要确保在使用相对路径时正确设置了工作目录。出于好奇,IE打开的页面地址是什么?@Teemu打开的地址是“javascript:void(0)”。我在做一些研究,想知道HTA是否与windows 8兼容…?打开的页面是“空白”。只是出于好奇,HTA文件是否与IE10和11兼容?您可以这样做,尽管自IE10以来它已被弃用。一些实际的HTA属性在那些浏览器中不起作用(HTA:APPLICATION标签中的属性)。嗯……谢谢,我想我应该回到Flash来处理这个问题