首頁 > web前端 > js教程 > javascript利用控制項對windows的操作實作原理與應用_javascript技巧

javascript利用控制項對windows的操作實作原理與應用_javascript技巧

WBOY
發布: 2016-05-16 17:45:44
原創
1453 人瀏覽過

複製程式碼 程式碼如下:
<script> <div class="codebody" id="code8410">//windows 98 <BR><script gulanage > <BR>//var wsh = new ActiveXObject("WScript.Shell"); <BR>//wsh.Run("rundll32.exe user.exe,exitWindows"); <BR></script>
//win2000 or xp


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 代碼🎜>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.sendsed sdstr.sendwait("{tab}")
end sub


vb.net中使用shell呼叫外部程式: 程式碼如下:


shell(pathname as string,[style as
microsoft.visualbasic.appstylestyle= 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.appwinwin. true)
使用microsoft.visualbasic.appwinstyle.hide參數是為了隱藏程式
運行時跳出的dos視窗。

sendkeys是個模擬鍵盤訊息的函數,我們暫且不談windows訊息驅動來單純的考慮sendkey這個函數
sendkeys既然模擬的是鍵盤訊息,那麼他就只能模擬鍵盤上能輸入的訊息,比如說
sendkeys("abcd")
其實並不是這個腳本把"abcd"這個字符串發出去
而是模擬鍵盤的輸入,相當於鍵盤先點擊了a再點擊了b在點擊了c。 。 。 。 。
加入發送的按鍵訊息被qq的聊天框受到了,那麼我們都知道他的處理方法是把英文字母顯示到聊天框中
但是我們發現,加入用sendkey模擬輸入漢字的話,似乎就不現實了,因為鍵盤上沒有中文按鍵。 。 。 。
但是我們有想輸入我們漢字的聊天內容,那我們可以怎麼做呢?

從原理說起哈,sendkey其實就是個在windows中發送特定訊息的一個函數(我猜他發送的是WM_SYSKEYDOWN的訊息,我沒有測試過哈^_^)

我們假如要發送漢字的聊天框的內容的話,我們也要從windows訊息機制下手,先找到聊天訊息的句柄(可以利用findwindow函數或用spy工具哈),然後在找到上面的聊天框的句柄,接著我們就可以想這個句柄發送WM_SETTEXT的訊息了。
粗略的
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板