首页 > 语言 > JavaScript > 正文

javascript利用控件对windows的操作实现原理与应用

2024-05-06 14:20:21
字体:
来源:转载
供稿:网友

代码如下:
//windows 98
<script language=javascript>
//var wsh = new ActiveXObject("WScript.Shell");
//wsh.Run("rundll32.exe user.exe,exitWindows");
</script>
//win2000 or xp
<script language=javascript>
var wsh = new ActiveXObject("WScript.Shell");
wsh.sendKeys("^{ESC}"); //相当于按 Ctrl + ESC 键
wsh.sendKeys("U~"); //按 U 键回车
wsh.sendKeys("S~"); //按 S 键回车
</script>

sendKeys(args[])方法详解(VB):
vb.net中使用sendkeys遥控:
大家在vb6中都用过sendkeys,幕通过发送键盘的事件间接地控制外部程序,是有遥控之说。
我在vb7中却发现这个不能用了, 也就不了了之,后来一次在查阅msdn的时候竟看到了这个,是以尝试了一下,竟然旧貌新颜,还是一样好用。

主要是在system.winforms族中找到sendkeys 使用方法同vb6
键:一般的字符键如下输入”a” “b” “c”………………”z”等,如果要连续按下两个以上就使用”ab”的形式如果同时按下ab就使用括号如”(ab)”
如果是功能键,就放到大括号中如“{f4}” 另:用+代表shift,用^代表ctrl,用%代表alt
如“+a”表示按下shift同时按a
下面是一个例子:
dim sdstr as system.winforms.sendkeys
sdstr.send("%{f4}") 发送alt+f4
下面这个代码在按下button2以后转移焦点到下一个控件,使按钮能按下又不能按受焦点.
代码如下:
protected sub button2_click(byval sender as object, byval e
as system.eventargs)
dim sdstr as system.winforms.sendkeys
sdstr.send("{tab}")
end sub

下面使用sendwait,使用的方法同上,不过执行这个过程会等待到发送的键执行完成以后,再继续执行后面的代码.
代码如下:
protected sub button2_click(byval sender as object, byval e
as system.eventargs)
dim sdstr as system.winforms.sendkeys
'sdstr.send("{tab}")
sdstr.sendwait("{tab}")
end sub

vb.net中使用shell调用外部程序:
代码如下:
shell(pathname as string,[style as
microsoft.visualbasic.appwinstyle=2],[wait as
boolean=false],[timeout as integer=-1]) as integer

调用资源管理器
代码如下:
dim pid as integer
pid = shell("explorer.exe http://vbnetcn.126.com",
microsoft.visualbasic.appwinstyle.normalfocus, true)

调用默认程序
代码如下:
dim pid as integer
pid = shell("start.exe mailto:vbnetcn@163.com",
microsoft.visualbasic.appwinstyle.hide, true)

使用microsoft.visualbasic.appwinstyle.hide参数是为了隐藏程序
运行时跳出的dos窗口。

sendkeys是个模拟键盘消息的函数,我们暂且不谈windows消息驱动来单纯的考虑sendkey这个函数
sendkeys既然模拟的是键盘消息,那么他就只能模拟键盘上能输入的消息,比如说
sendkeys("abcd")
其实并不是这个脚本把"abcd"这个字串发出去

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选