标题: [问题求助] win10和11中相同com对象获得了不同结果 [打印本页]
作者: jyswjjgdwtdtj 时间: 2024-10-12 19:00 标题: win10和11中相同com对象获得了不同结果
本帖最后由 jyswjjgdwtdtj 于 2024-10-12 19:23 编辑
在win10中- $s=new-object -comobject htmlfile
- write $s.parentwindow.setinterval
复制代码
只显示
- int setInterval(variant,int,variant)#具体的忘了……
复制代码
而且setInterval在vbs中还不能用 没有效果
然而在win11中显示一大堆重载
- OverloadDefinitions
- -------------------
- int setInterval(string expression, int msec, [ref] System.Object language)
- int setInterval([ref] System.Object expression, int msec, [ref] System.Object language)
- int DispHTMLWindow2.setInterval([ref] System.Object expression, int msec, [ref] System.Object language)
- int IHTMLWindow2.setInterval(string expression, int msec, [ref] System.Object language)
- int IHTMLWindow3.setInterval([ref] System.Object expression, int msec, [ref] System.Object language)
复制代码
很好奇是怎么回事 微软理应不会更新这个ie7的com组件啊
win11里也不好使了
- set h=createobject("htmlfile")
- h.parentwindow.settimeout getref("m"),1
- sub m
- msgbox 1
- end sub
复制代码
我记得大概一个多月前还是好用的
还是我写脚本的时候犯了什么错误?
作者: Five66 时间: 2024-10-12 21:50
com对应的dll变成edge相关的文件了??? 试试去注册表里看看
作者: jyswjjgdwtdtj 时间: 2024-10-12 23:25
回复 2# Five66
应该不是 edge的相关dll都带Microsoft字眼 在这edge应该不会使用com
用visualstudio的反编译只能找到
int setInterval(string expression, int msec, [ref] System.Object language)
这个方法 看上去只能接受字符串 而非一个委托,或者说事件,在或者说回调函数地址
所以vbs里运行不了
作者: flashercs 时间: 2024-10-12 23:46
可以用啊,有事件需要等待啊.- set h=createobject("htmlfile")
- h.parentwindow.settimeout getref("m"),1000
- sub m
- msgbox 1
- end sub
- WScript.Sleep 5000
- msgbox "end"
复制代码
作者: jyswjjgdwtdtj 时间: 2024-10-13 10:06
回复 4# flashercs
哦 是我的问题 当vbs的主进程跑完之后 进程会直接退出 不会等到settimeout执行
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |