[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 求助,我在hta脚本中想要做到点击按钮就打开一个文件

我在hta脚本中想要做到点击按钮就打开一个文件,但是发现hta中好像wscript这种wsh的对象都不能用了,所以没法用wscript.shell的run方法来运行文件了。我也试过其他方法,比如:<button onclick="location.href='a.vbs';">点我打开2.htm</button>,但是这个会在浏览器里打开file:///C:/Users/Administrator/Desktop/a.vbs,所以无法运行vbs,行不通。大家有没有什么方法能在hta中成功调用wscript.shell的run方法来运行文件,或者其他方法也可以。如果事hta的原生方法而不是js或者vbs这些那就更好了。谢谢
一个六年级小学生,请多指教

本帖最后由 czjt1234 于 2023-7-27 15:55 编辑

OnClick = "Ok()"

Sub ok()
    '
End Sub

QQ 20147578

TOP

我去 你是牛逼的 你创建wshshell对象的时候用到了wscript?
贪多嚼不烂 把vbs学学好再说吧

TOP

本帖最后由 jyswjjgdwtdtj 于 2023-7-27 16:16 编辑

vbscript:createobject("wscript.shell").run "a.vbs"
还有 你从哪里旁门左道地学个location.href? hta又不是不可以执行vbs为什么还有用外部的vbs?
你倒是可以<script language=vbscript src=a.vbs></script>

TOP

回复 4# jyswjjgdwtdtj 我要调用外部文件,因为它们不一定是vbs,也可能是exe或bat等
一个六年级小学生,请多指教

TOP

回复 3# jyswjjgdwtdtj 创建wshshell
  1. set wshshell=createobject("wscript.shshell
复制代码
这不就用到了?
一个六年级小学生,请多指教

TOP

回复 6# LTSC1809


   你扯淡这不是吗?这里都是"wscript.shell"都在引号里面了你和我说用了wscript对象?难道创建一个internetexplorer.application还要用到inter...orer对象?
亏得学了那么久 字符串和变量都分不清

TOP

回复 7# jyswjjgdwtdtj 这是createobject关键字的用法…不是字符串…请你分清楚
一个六年级小学生,请多指教

TOP

回复 5# LTSC1809


   好好找个教程学学 当你想问location.href怎么用的时候 你最好搜location对象 而不是“location.href怎么用来运行外部程序”不然你永远也学不会

TOP

本帖最后由 jyswjjgdwtdtj 于 2023-8-11 09:00 编辑

回复 8# LTSC1809


   createobject是个函数你得记住他接受一个字符串然后返回以这个字符串为progid的组件 wshshell只是一个普普通通的组件 只不过是为windows脚本宿主设计的 才叫wscript.shell 这玩意只要你乐意 在.net c++ 里都能用

TOP

回复 10# jyswjjgdwtdtj wshshell其实没有意义的 你想叫什么都行,只要把set后面的wshshell改了就行,反正都是经过后面的creatobject("wscript.shell")
一个六年级小学生,请多指教

TOP

回复 5# LTSC1809


按照2楼的试过没?

QQ 20147578

TOP

回复 11# LTSC1809


    不知道你在想些什么 这个对象叫做wshshell 就像你叫ltsc1809一样 怎么没有意义? 而且和wscript对象完全没关系

TOP

回复 13# jyswjjgdwtdtj 我的意思是你set wshshell换成set aaa或者set at等都行,不是非要叫wshshell不可
一个六年级小学生,请多指教

TOP

回复 13# jyswjjgdwtdtj 和wscript对象没关系,那为什么createobject函数要传入"wscript.shell"?要是和wscript对象没关系,那我随便传入一个对象的方法比如Shell.Application,他就不行了。
一个六年级小学生,请多指教

TOP

返回列表