系統公告
搜尋本站內容
來者是客
好時光貼曆
最近文章發表
最新的回應
- 終於得救了!:
這個問題困擾我好久..... - gxkitty:
裝置管理員 >... - 熊:
太易也不知是不是倒了.... - 小高:
大大您好 我想請問... - Water:
如果可以的話,希望右鍵...
人氣指數
當日人次:
累積人次:
累積人次:
誰來我家
我推薦誰
贊助商
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam天空部落 本身立場。
推薦這個部落格: 10
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}"
對於這種會閃爍的欄位,故意先讓游標停在目標欄位的前一個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}"
yam天空部落 建置維護 © 1999~2010 webs-tv inc. All Rights Reserved.












