目前我正在学习HTA编程。 我有一个要求如下。
表单中有两个输入框(均为必填)。 当我输入值并单击搜索按钮时,将根据输入创建一个网址。 应使用生成的 url 启动 Internet Explorer 应用程序。
我的问题是我可以启动 IE 浏览器,但无法将 url 传递给它。 我已经尝试了很多方法,但我无法完成它。
我在下面给出了我的代码。 我已经删除了将 url 传递给浏览器的错误语法。 下面的代码将创建 url 并启动一个空白的 IE 浏览器。
请帮助我。预先感谢。
<html>
<head>
<script language="VBScript">
Sub RunProgram
callb = document.getElementById("callb").value
call = document.getElementById("call").value
url = "www.google.com"&callb&"and"&call
msgbox(url)
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "iexplore.exe"
End Sub
</script>
</head>
<body>
<form style="width:254px; height:44px;">
CallB: <input type="text" id="callb" value=""><br>
Call : <input type="text" id="call" value=""><br><br>
<button onclick="RunProgram">search</button>
</form>
</body>
</html>
您可以使用 WShell 的 Run() 方法在默认浏览器中加载 URL:
CreateObject("WScript.Shell").Run "www.google.com"
如果要在 Internet Explorer 中显式加载 URL,则需要首先确定 IEXPLORE.EXE 的完整路径,然后将其传递给 Run():
CreateObject("WScript.Shell").Run """" & strExePath & """ www.google.com"
或者
CreateObject("WScript.Shell").Run """" & strExePath & """ " & strURL
注意引号。您需要在 IE 的路径两边加上引号,以防路径包含空格。为了在字符串中指定引号,您必须将其加倍。如果引号令人困惑,您可以使用 Chr(34) 指定引号字符:
CreateObject("WScript.Shell").Run Chr(34) & strExePath & Chr(34) & " " & strURL
为了让生活更轻松,我通常使用此函数在变量中添加双引号。
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
向您展示如何轻松使用它的示例。
Option Explicit
Dim fso,ws,DossierProgramfiles,Winrar,FileZilla,FireFox
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
DossierProgramfiles = ws.ExpandEnvironmentStrings("%PROGRAMFILES%")
Winrar = DblQuote(DossierProgramfiles & "\Winrar\Winrar.exe")
If fso.FileExists(DossierProgramfiles & "\Winrar\Winrar.exe") Then
MsgBox Winrar,Vbinformation,Winrar
ws.run Winrar
Else
MsgBox "Le fichier " & Winrar & " n'existe pas",VbCritical,"Le fichier " & Winrar & " n'existe pas"
End If
FileZilla = DblQuote(DossierProgramfiles & "\FileZilla FTP Client\filezilla.exe")
If fso.FileExists(DossierProgramfiles & "\FileZilla FTP Client\filezilla.exe") Then
MsgBox FileZilla,Vbinformation,FileZilla
Ws.run FileZilla
Else
MsgBox "Le fichier " & FileZilla & " n'existe pas",VbCritical,"Le fichier " & FileZilla & " n'existe pas"
End If
FireFox = DblQuote(DossierProgramfiles & "\Mozilla Firefox\FireFox.exe")
If fso.FileExists(DossierProgramfiles & "\Mozilla Firefox\FireFox.exe") Then
MsgBox FireFox,Vbinformation,FireFox
ws.run FireFox
Else
MsgBox "Le fichier " & FireFox & " n'existe pas",VbCritical,"Le fichier " & FireFox & " n'existe pas"
End If
'****************************************************************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'****************************************************************************************************
尝试一下这个 HTA :
<html>
<head>
<HTA:APPLICATION
APPLICATIONNAME="Search on Google with Internet Explorer"
BORDER="THIN"
BORDERSTYLE="NORMAL"
ICON="magnify.exe"
INNERBORDER="NO"
MAXIMIZEBUTTON="NO"
MINIMIZEBUTTON="NO"
SCROLL="NO"
SELECTION="NO"
SYSMENU="YES"
SINGLEINSTANCE="YES"/>
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="YES">
<script language="VBScript">
Option Explicit
Dim Titre
Titre = "Search on Google with Internet Explorer"
Self.document.title = Titre
Sub window_onload()
CALL CenterWindow(300,180)
Self.document.bgColor = "Orange"
End Sub
Sub RunProgram()
Dim X,Y,URL,objShell,Param,MaCmd
X = text1.value
Y = text2.value
Param = "#q="& X & "+" & Y &""
URL = "www.google.com"& Param
Set objShell = CreateObject("Wscript.Shell")
msgbox("iexplore.exe " & DblQuote(URL)),VbInformation,Titre
MaCmd = "iexplore.exe "& DblQuote(URL) &""
objShell.Run(MaCmd)
End Sub
'***************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'***************************************************
'Position Windows
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
</script>
</head>
<body><center>
Text1 : <input type="text" id="text1" Name="text1" value="Hackoo"><br>
Text2 : <input type="text" id="text2" Name="text2" value="Vbscript+HTA"><br><br>
<input type="submit" Value="Search on Google" onclick="RunProgram()"></center>
</body>
</html>
下面的代码片段将在默认浏览器中启动此网址。
CreateObject("WScript.Shell").Run url
这个怎么样
这是一个VBS脚本
Set objExplorer = CreateObject("InternetExplorer.Application")
With objExplorer
.Navigate strPath
.ToolBar = 1
.StatusBar = 1
.Width = 1000
.Height = 593
.Left = 1
.Top = 1
.Visible = 1
.Navigate("https://www.google.com")
End With
我按摩了 Azu-nyan 的答案,这将在 Windows 10 Pro 上打开 IE 到某个 URL。只需将其放入 .vbs 文件中并双击即可。
Set ieObj = CreateObject("InternetExplorer.Application")
With ieObj
.Visible=true
.Navigate("http://192.168.1.246/")
End With
我需要 IE 来为一些非常旧的有线安全摄像头运行基于 ActiveX 的查看器应用程序。