2009年6月13日 星期六

VB6中SendKeys的基本應用

VB6中SendKeys的基本應用

SendKeys
類比鍵盤操作,將一個或多個按鍵指令發送到指定Windows視窗來控制應用程式運行,
其使用格式為:object.SendKeys string
"object":表示WshShell物件
"string":表示要發送的按鍵指令字串,需要放在英文雙引號中。
1.基本鍵
一般來說,要發送的按鍵指令都可以直接用該按鍵字元本身來表示,例如要發送字母"x",使用"WshShell.SendKeys "x""即可。
當然,也可直接發送多個按鍵指令,只需要將按鍵字元按順序排列在一起即可,例如,要發送按鍵"happy",可以使用
"WshShell.SendKeys "happy""。
2.特殊功能鍵
對於需要與ShiftCtrlAlt三個控制鍵組合的按鍵,SendKeys使用特殊字元來表示:
Shift---------WshShell.SendKeys "+"
Ctrl---------WshShell.SendKeys "^"
Alt---------WshShell.SendKeys "%"
由於"+"、"^"這些字元用來表示特殊的控制按鍵了,如何表示這些按鍵呢?
只要用大括弧括住這些字元即可。例如:
要發送加號"+",可使用"WshShell.SendKeys "{+}""
另外對於一些不會生成字元的控制功能按鍵,也同樣需要使用大括弧括起來按鍵的名稱,例如要發送回車鍵,需要用"WshShell.SendKeys
"{ENTER}""表示,發送向下的方向鍵用"WshShell.SendKeys "{DOWN}""表示。
Space---------WshShell.SendKeys " "
Enter---------WshShell.SendKeys "{ENTER}"
←---------WshShell.SendKeys "{RIGHT}"
↑---------WshShell.SendKeys "{UP}"
F1---------WshShell.SendKeys "{F1}"
Tips:如果需要發送多個重複的單字母按鍵,不必重複輸入該字母,SendKeys允許使用簡化格式進行描述,使用格式為"{按鍵 數位}"。例如要
發送10個字母"x",則輸入"WshShell.SendKeys "{x 10}""即可。
實例:
----------------------------------------------------
按下F5刷新桌面
Dim WshShell,Path,i
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{F5}"
----------------------------------------------------
電腦的自動重啟
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}u"
WshShell.SendKeys "R"
----------------------------------------------------
啟動任務管理器
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^+{ESC}"
----------------------------------------------------
QQ消息群發
Dim WshShell
Set WshShell= WScript.createObject("WScript.Shell")
WshShell.AppActivate "bomb"
for i=1 to 60
WScript.Sleep 800
WshShell.SendKeys "Number0"
WshShell.SendKeys i
WshShell.SendKeys "%s"
next
----------------------------------------------------
自動到百度搜索歌曲:white flag
Dim WshShell,Path,i
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("IEXPLORE.EXE")
WScript.Sleep 2000
WshShell.AppActivate "about:blank-Microsoft Internet Explorer"
WshShell.SendKeys "+{TAB}"
WshShell.SendKeys "http://mp3.baidu.com"
WScript.Sleep 800
WshShell.SendKeys "{ENTER}"
WScript.Sleep 3000
WshShell.SendKeys "white flag"
WScript.Sleep 800
WshShell.SendKeys "{ENTER}"
----------------------------------------------------
在記事本中輸入Happy Birthday!並保存為birth.txt
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 1500
WshShell.AppActivate "無標題 - 記事本"
WshShell.SendKeys "H"
WScript.Sleep 500
WshShell.SendKeys "a"
WScript.Sleep 500
WshShell.SendKeys "p"
WScript.Sleep 500
WshShell.SendKeys "p"
WScript.Sleep 500
WshShell.SendKeys "y"
WScript.Sleep 500
WshShell.SendKeys " "
WScript.Sleep 500
WshShell.SendKeys "B"
WScript.Sleep 500
WshShell.SendKeys "i"
WScript.Sleep 500
WshShell.SendKeys "r"
WScript.Sleep 500
WshShell.SendKeys "t"
WScript.Sleep 500
WshShell.SendKeys "h"
WScript.Sleep 500
WshShell.SendKeys "d"
WScript.Sleep 500
WshShell.SendKeys "a"
WScript.Sleep 500
WshShell.SendKeys "y"
WScript.Sleep 500
WshShell.SendKeys "!"
WScript.Sleep 500
WshShell.SendKeys "%FS"
WScript.Sleep 500
WshShell.SendKeys "b"
WScript.Sleep 500
WshShell.SendKeys "i"
WScript.Sleep 500
WshShell.SendKeys "r"
WScript.Sleep 500
WshShell.SendKeys "t"
WScript.Sleep 500
WshShell.SendKeys "h"
WScript.Sleep 500
WshShell.SendKeys "%S"
WScript.Sleep 500
WshShell.SendKeys "%FX"
----------------------------------------------------
製作能自動定時存檔的記事本
'第一部分:定義變數和物件
Dim WshShell, AutoSaveTime, TXTFileName
AutoSaveTime=300000
Set WshShell=WScript.CreateObject("WScript.Shell")
TXTFileName=InputBox("請輸入你要創建的檔案名(不能用中文和純數字):")
'第二部分:打開並啟動記事本
WshShell.Run "notepad"
WScript.Sleep 200
WshShell.AppActivate "無標題 - 記事本"
'第三部分:用輸入的檔案名存檔
WshShell.SendKeys "^s"
WScript.Sleep 300
WshShell.SendKeys TXTFileName
WScript.Sleep 300
WshShell.SendKeys "%s"
WScript.Sleep AutoSaveTime
'第四部分:自動定時存檔
While WshShell.AppActivate (TXTFileName)=True
WshShell.SendKeys "^s"
WScript.Sleep AutoSaveTime
Wend
WScript.Quit
----------------------------------------------------
當機!
DIM WSHSHELL
SET WSHSHELL=WSCRIPT.CreateOBJECT("WSCRIPT.SHELL")
'WSHSHELL.RUN " "
'WSCRIPT.SLEEP 1000
WSHSHELL.SENDKEYS "{ENTER}"
'WSCRIPT.SLEEP 1000
WSHSHELL.SENDKEYS "{ENTER}"
'WSCRIPT.SLEEP 1000
WSHSHELL.SENDKEYS "{ENTER}"
'WSCRIPT.SLEEP 1000
WSHSHELL.SENDKEYS "{ENTER}"
'WSCRIPT.SLEEP 1000
WSHSHELL.SENDKEYS "{ENTER}"
----------------------------------------------------
定時關機的
Dim WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
WScript.Sleep 2000
WshShell.Run "shutdown -r -t 120"
wscript.sleep 6000

WshShell.Run "shutdown -a

相關教學:
發表時間 文章標題
2014-08-01 南亞資工軟體設計證照輔導班第2次上課
2014-08-01 991209南亞資工講演軟體設計證照
2011-11-28 南亞資工軟體設計證照輔導班第6次上課
2011-11-28 南亞資工軟體設計證照輔導班第5次上課
2011-11-28 南亞資工軟體設計證照輔導班第2次上課
2011-11-28 南亞資工軟體設計證照輔導班第1次上課
2011-05-10 南亞資工軟體設計證照輔導班第6次上課
2011-05-04 南亞資工軟體設計證照輔導班第5次上課分享
2011-04-06 南亞資工軟體設計證照輔導班第2次上課
2011-03-30 南亞資工軟體設計證照輔導班第1次上課
2010-12-10 991209南亞資工講演軟體設計證照
2009-06-14 VB6.0和VB.Net對照表
2009-06-14 方便好用的FileSystemObject
2009-06-14 在VB中解壓縮備份的方法
2009-06-14 VB6中SendKeys的基本應用
2009-06-06 VB證照比較:TQC VB進階級與軟體設計丙證
2015-06-25 VB.NET範例:撲克牌發牌程式(可延伸VBA或APP等)
2015-06-25 VB.NET範例:大樂透開獎程式(可延伸VBA或APP等)
2015-06-25 VB.NET範例:擲骰子遊戲(可延伸VBA或APP等)
2015-06-25 VB.NET程式設計第12次(擲骰子與大樂透開獎與撲克牌發牌)
2015-06-07 VB.NET實務與資料庫之1(簡介與安裝練習系統)
2015-02-15 VB.NET設計(九九乘法表&小狗動畫&撲克牌&字幕)
2015-01-17 VB.NET自動化設計與資料庫之1(簡介與安裝練習系統)
2015-01-16 VB.NET視窗設計懶人包(銜接VBA)
2015-01-16 VB.NET視窗程式設計第3次上課(銜接EXCEL VBA設計)
2011-10-04 VB.NET2008程式設計入門總整理


VB6 SendKeys 基本應用,vb6下載,vb6資料庫,vb6教學電子書,vb 教學,vb6教學網站,vb6 範例,vb6 陣列,vb6 函數,vb6 0教學

虛擬電腦 VITUAL PC 2007 使用說明

虛擬電腦 VITUAL PC 2007 使用說明

http://www.youtube.com/watch?v=yh4JGeaTZ8Y



這個軟體是微軟釋出的免費軟體,非常好用,我已經用了很長一段時間,
心得是硬體要好些,至少:
1.雙核心或四核心
2.RAM當然2G以上囉!!
我試過:
1.OS是VISTA。
2.跑WIN2000 SERVER
3.再跑WIN XP
4.再跑WIN 2003
5.再跑WIN 2000P
跑的還很順,真是棒到不行的軟體,一機多OS,而且不會當,也不會慢。
但CPU是INTEL的雙核,ACER的L3600三公升機,RAM加到4G。

因為Virtual PC是微軟自家的產品,所以在WINDOWS上直行的相容性非常好
不需要設定太多,就可以灌好了,
不過電腦等級一定要雙核心以上的架構,不然不建議跑,
我試過在舊的P4下跑就不順,更別說P3了,
另外1G以上的RAM也是必備的,最好2G以上,
可以切最少512給虛擬的硬碟跑,
這樣就很愉快的使用,而且在虛擬環境下執行軟體感覺更快,
有點像在RAM上執行一樣,不像在硬碟。
另外,Virtual PC還支援還原功能,很適合當成測試的環境,
優點真的太多了,
最重要的他是免費的。

如果想用Virtual PC跑Windows 7,我建議你的電腦一定要很高檔,
最好是四核心的,和3G已上的RAM,不然不建議試,
因為會跑非常久。
我之前Virtual PC灌VISTA就跑好久,會面有些累格,不是很順,
分享給VISTA要1G的RAM,
不過灌完後就還OK。

RAM快漲了!!
要買要快,景氣應該也會回溫些,
最近買過最低4G的RAM不到500,最近已經漲到600以上了!!
所以看來會一直漲上去吧!

500GB的$1850算很便宜了,
我的目標是想買1TB的,可惜還很貴,之前買了640G花了2490,還不錯用。
另外RAM開始漲了,從最低2G可以買到400多,最近已經要700多了。

不會中毒
還是會啦,只是可以還原,或是重新增加一個虛擬的電腦。
與其說耗資源,不如說對電腦硬體的需求很高吧!
像我用說雙核心的電腦+4G的RAM,用VITUAL PC就覺得非常順,
甚至比真實的環境還快,
而且可以同時執行好多台虛擬電腦,
同時執行過一台2000SERVER+XP+2000P+2003SERVER+WINDOWS7BATA,
還可以順順的跑,真是很棒的一個軟體。


如何學習程式設計與其不易學習的原因

以個人多年來對程式設計不易學習的心得,會學不好的原因主要有以下幾點:

1.師資:會寫成是不一定會教,會教的不一定會寫程式。

2.教材:大多給的都是太高階,不就是原文,學完以後就不會有興趣了。

3.觀念:使用者跟設計者或創造者的階層不同,OFFICE不會用可以TRY,程式沒有就是沒有,要設計很困難。

4.語言:英文不好的的確難學的好,而且很多最新資訊都是英文的。

以我多年的教學經驗來看,學習者的心態非常重要,千萬不能抱持著像學OFFICE軟體一樣,可以試的出來,而是要多累積SAMPLE,也就是程式範例,並自己分類,做功課,以後什麼程式就可以不用重寫,用COPY在去修改程式會比無中生有來的快多了,至於那裏有大量的SAMPLE檔呢?
那就要靠有心人去收集了,之前有個網站VBGUIDE就以收集VB程式範例為特色,上網來刺也超過百萬,可惜最近已經關站,對學VB的人又少了一個可用的資源。

好在我有先見之明,在VBGUIDE還在的時候,就已經預先備份網站下來,所以這個網站的消失,
對我影響不大。

至於說明檔部分VB6的MSDN雖然好用,但光安裝就要2片光碟的容量,
VB.NET雖有網路的說明文件,但感覺不太好用,我之前有個有收集以個VB的說明檔,
只有2MB多,可以提供給大家查閱。

VB.NET程式設計班

ITCTCASP.NET程式設計班

更多影音教學與討論,請上[溫馨論壇]