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

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

May 16, 2016 pm 05:45 PM
windows 控制項

複製程式碼 程式碼如下:
<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的訊息了。
粗略的
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

c語言多線程的四種實現方式 c語言多線程的四種實現方式 Apr 03, 2025 pm 03:00 PM

語言多線程可以大大提升程序效率,C 語言中多線程的實現方式主要有四種:創建獨立進程:創建多個獨立運行的進程,每個進程擁有自己的內存空間。偽多線程:在一個進程中創建多個執行流,這些執行流共享同一內存空間,並交替執行。多線程庫:使用pthreads等多線程庫創建和管理線程,提供了豐富的線程操作函數。協程:一種輕量級的多線程實現,將任務劃分成小的子任務,輪流執行。

可以在 Windows 7 上安裝 mysql 嗎 可以在 Windows 7 上安裝 mysql 嗎 Apr 08, 2025 pm 03:21 PM

是的,可以在 Windows 7 上安裝 MySQL,雖然微軟已停止支持 Windows 7,但 MySQL 仍兼容它。不過,安裝過程中需要注意以下幾點:下載適用於 Windows 的 MySQL 安裝程序。選擇合適的 MySQL 版本(社區版或企業版)。安裝過程中選擇適當的安裝目錄和字符集。設置 root 用戶密碼,並妥善保管。連接數據庫進行測試。注意 Windows 7 上的兼容性問題和安全性問題,建議升級到受支持的操作系統。

Windows下Python .whl文件去哪下載? Windows下Python .whl文件去哪下載? Apr 01, 2025 pm 08:18 PM

Python二進制庫(.whl)下載途徑探究許多Python開發者在Windows系統上安裝某些庫時會遇到難題。一個常用的解決方法�...

如何高效讀取Windows系統日誌並只獲取最近幾天的信息? 如何高效讀取Windows系統日誌並只獲取最近幾天的信息? Apr 01, 2025 pm 11:21 PM

高效讀取Windows系統日誌:反向遍歷Evtx文件在使用Python處理Windows系統日誌文件(.evtx)時,直接讀取會從最早的�...

在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? 在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? Apr 05, 2025 pm 10:21 PM

在前端開發中如何實現類似Windows...

如何加快PS的載入速度? 如何加快PS的載入速度? Apr 06, 2025 pm 06:27 PM

解決 Photoshop 啟動慢的問題需要多管齊下,包括:升級硬件(內存、固態硬盤、CPU);卸載過時或不兼容的插件;定期清理系統垃圾和過多的後台程序;謹慎關閉無關緊要的程序;啟動時避免打開大量文件。

c 多線程三種實現方式的區別是什麼 c 多線程三種實現方式的區別是什麼 Apr 03, 2025 pm 03:03 PM

多線程是計算機編程中的重要技術,用來提升程序執行效率。在 C 語言中,有多種實現多線程的方式,包括線程庫、POSIX 線程和 Windows API。

為什麼我的代碼無法獲取API返回的數據?如何解決這個問題? 為什麼我的代碼無法獲取API返回的數據?如何解決這個問題? Apr 01, 2025 pm 08:09 PM

為什麼我的代碼無法獲取API返回的數據?在編程中,我們常常會遇到API調用時返回空值的問題,這不僅讓人困惑...

See all articles