系統公告
個人檔案
個人圖檔
ID:wasay
暱稱:wasay
地區:臺北市

搜尋本站內容
搜尋:
Google
搜尋 wasay site
搜尋 WWW
正在線上人數
tracker
好時光貼曆
人氣指數
當日人次:
累積人次:
誰來我家
誰推薦我
我推薦誰
目前無名單
RSS 訂閱
RSS2
ATOM
贊助商
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam天空部落 本身立場。
POWERED BY
POWERED BY
會員登入免費註冊
    推薦這個部落格: 10
目前分類: 養code_VBS    檢視方式: 列表 摘要
January 1, 2008
對於有游標在閃爍的欄位中,使用sendkeys,會使結果不穩定,要游標剛好停在欄位中,sendkeys 才會是你想要的結果,(這就是為何在小算盤(游標不閃)測試很穩,在一般填帳密的欄位(游標在閃)測試不穩 的原因)

對於這種會閃爍的欄位,故意先讓游標停在目標欄位的前一個focus的位置,然後在程式中一開始多一個tab鍵來解決,

還有,設 Sleep 會讓結果比較穩~

=========================

因為之前在 winXP 不穩、win2000 常成功、win2003 不穩,某交大資工
學弟猜是 作業系統 對於處理 multithread 的方式不同而導致結果有所差異,

某台大資工學弟猜 是執行此程式的時候,瞬間會 focus 在此程式上面,而不是目標程式上,兩支程式瞬間的焦點切換,導致 sendkeys 結果不穩~

還有人猜是 開發平台的問題,(用 .NET 2003、.NET 2005 寫出來的測試結果都不穩),叫我用底層的方式去寫,結果回家重寫的時候,觀察出是 游標閃爍的差異~

現在講出來很簡單,當時沒有半個人想到會是這個不起眼的原因...

筆記一下 sendkeys 基本用法:

Dim WshShell,Path,i
Set WshShell = Wscript.CreateObject("Wscript.Shell")

WshShell.AppActivate "視窗標題"
Wscript.Sleep 30
WshShell.SendKeys "{TAB}"
Wscript.Sleep 30
WshShell.SendKeys "name{TAB}"
Wscript.Sleep 30
WshShell.SendKeys "pwd{TAB}"
Wscript.Sleep 30
WshShell.SendKeys "{ENTER}"