【发布时间】:2015-03-19 05:08:46
【问题描述】:
我正在使用 HTML 和 VB 制作 HTA 向导。
这是给我的一些 VB 代码。我需要在此设置 SN2 的值,并使其显示为我的 html 代码中的默认文本作为计算机名称。
我不确定如何调用 VB 代码以显示在我的向导的计算机名称文本框中。这可能吗?
VB 代码
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery _
("Select * from Win32_BIOS")
For each objBIOS in colBIOS
MF=objBIOS.Manufacturer
SN=objBIOS.SerialNumber
Next
intCharacters = 7
SN2 = RIGHT(SN, intCharacters)
WScript.Echo SN2
WScript.Echo MF
我尝试了上述方法,但我也尝试了所有这些,并从中制作一个 Sub,如下所示:
Sub SN2
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colBIOS = objWMIService.ExecQuery _
("Select * from Win32_BIOS")
For each objBIOS in colBIOS
MF=objBIOS.Manufacturer
SN=objBIOS.SerialNumber
Next
intCharacters = 7
SN2 = RIGHT(SN, intCharacters)
‘WScript.Echo SN2
'WScript.Echo MF
End Sub
然后我尝试通过设置 value=SN2 在我的 HTML 代码中调用它,同时使用上述两种方法。但显然这只会让 HTML 文本框每次都显示“SN2”:
<table cellpadding="0" border=0 style="position:relative; left:1%">
<tr valign=bottom style="text-align:right">
<td class="hideextra">
<img src="comp.png"></img>
<b>New Computer Details</b>
</td>
</table><br>
<table cellpadding="0" border=0>
<tr valign=middle style="text-align:left">
<td>
<b>Computer Name</b><br><br>
</td>
<th style="text-align:left">
<input type=text id="ComputerName" name=ComputerName value=SN2 /><br><br>
</select>
</th>
</table>
我试图研究一种将值设置为脚本的 VB 部分中设置的字符串的方法,但没有提出任何建议。这可能吗?
请注意,这个 HTA 是在 Windows PE 中使用的,所以虽然我可以使用 VB,而且似乎可以使用一些 JS,但并不是所有的包都可以使用其他语言或更新版本,如 HTML5 等... *
更新!
通过将原始 VB 代码 [如上所示的第一个代码序列] 放在单独的 .vbs 文档中,代码可以完美运行并返回机器名称。我能够从 .hta 调用 .vbs,但我很好奇是什么让代码在 .vbs 文件中工作,而不是在 .hta 中工作。
所以机器名称出现在一个弹出窗口中,现在可以正常工作了。从这里开始,我想让机器名称出现在我的 .hta 中的 HTML 输入框中,就像我最初打算的那样,而不是现在的弹出窗口。
【问题讨论】:
-
HTA 在 Windows PE 上运行的事实无关紧要,IE 的 CSS 支持仍然存在,但如果您使用 VBScript,IE 必须在禁用新功能的 IE7 仿真模式下运行。
-
此应用程序不在 IE 中运行,它是一个独立运行的预操作系统。不涉及 IE。目前也不确定这是否重要。
-
如果它作为 HTA 运行,那么它在 HTA 主机进程中运行的 IE 实例中运行。
标签: javascript html css vbscript