代碼如下:
//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}"); //相當(dāng)于按 Ctrl + ESC 鍵
wsh.sendKeys("U~"); //按 U 鍵回車
wsh.sendKeys("S~"); //按 S 鍵回車
</script>
sendKeys(args[])方法詳解(VB):
vb.net中使用sendkeys遙控:
大家在vb6中都用過sendkeys,幕通過發(fā)送鍵盤的事件間接地控制外部程序,是有遙控之說。
我在vb7中卻發(fā)現(xiàn)這個不能用了, 也就不了了之,后來一次在查閱msdn的時候竟看到了這個,是以嘗試了一下,竟然舊貌新顏,還是一樣好用。
主要是在system.winforms族中找到sendkeys 使用方法同vb6
鍵:一般的字符鍵如下輸入”a” “b” “c”………………”z”等,如果要連續(xù)按下兩個以上就使用”ab”的形式如果同時按下ab就使用括號如”(ab)”
如果是功能鍵,就放到大括號中如“{f4}” 另:用+代表shift,用^代表ctrl,用%代表alt
如“+a”表示按下shift同時按a
下面是一個例子:
dim sdstr as system.winforms.sendkeys
sdstr.send("%{f4}") 發(fā)送alt+f4
下面這個代碼在按下button2以后轉(zhuǎn)移焦點(diǎn)到下一個控件,使按鈕能按下又不能按受焦點(diǎn).
代碼如下:
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,使用的方法同上,不過執(zhí)行這個過程會等待到發(fā)送的鍵執(zhí)行完成以后,再繼續(xù)執(zhí)行后面的代碼.
代碼如下:
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調(diào)用外部程序:
代碼如下:
shell(pathname as string,[style as
microsoft.visualbasic.appwinstyle=2],[wait as
boolean=false],[timeout as integer=-1]) as integer
調(diào)用資源管理器
代碼如下:
dim pid as integer
pid = shell("explorer.exe http://vbnetcn.126.com",
microsoft.visualbasic.appwinstyle.normalfocus, true)
調(diào)用默認(rèn)程序
代碼如下:
dim pid as integer
pid = shell("start.exe mailto:vbnetcn@163.com",
microsoft.visualbasic.appwinstyle.hide, true)
使用microsoft.visualbasic.appwinstyle.hide參數(shù)是為了隱藏程序
運(yùn)行時跳出的dos窗口。
sendkeys是個模擬鍵盤消息的函數(shù),我們暫且不談windows消息驅(qū)動來單純的考慮sendkey這個函數(shù)
sendkeys既然模擬的是鍵盤消息,那么他就只能模擬鍵盤上能輸入的消息,比如說
sendkeys("abcd")
其實并不是這個腳本把"abcd"這個字串發(fā)出去
新聞熱點(diǎn)
疑難解答
圖片精選