2016-05-28 32 views
1

私は2つの入力フィールドを持つゲームクライアントを持っています:id passと1 button:login。 私のログイン資格は:$id=1234$pass=a_bCdです。 私は、ログイン・プロセスを自動化するためのAutoItスクリプトを使用しています(私のスクリプトが自動的にIDを入力し、ログインフィールドに渡す)と私のAutoLogin()関数は次のようになります。AutoIT send()コマンドが正しく動作しない

send($id + "{tab}") 
Sleep(10) 
send($pass + "{enter}") 

時にはそれが正常に動作しますが、時には私のスクリプトを紹介しますIDフィールドには1234a-または1234a_、残りの文字はパスフィールドに入力します。私はcontrolsend("Game","","","1234{tab}a_bCd{enter}")のような多くの解決策を試しました、またはsleep()の値を変更するなどしましたが、入力は時々間違っています。送信遅延や睡眠が問題を抱えていると考え、まだ何をすべきか分からない。

idとpassを手動で挿入すると正しく動作します。この問題の良い解決策は何でしょうか?おかげ

答えて

0

2ソリューション:

あなたは&に文字列を追加します。問題が解決しない場合は、単にそれを分離

send($id & "{tab}") 
send($pass & "{enter}") 

send($id) 
send("{tab}") 
send($pass) 
send("{enter}") 

そして、あなたはその睡眠を必要としない

0

sendと同じ問題がありました。 autoitscript.com上This postWinAPI_Keybd_Event()documentation here)のお手伝いをすることがあります。

#include <WinAPISys.au3> 
_WinAPI_Keybd_Event(0x11, 0) # Push CTRL down 
_WinAPI_Keybd_Event(0x11, 2) # Lift CTRL up again 

これは私の問題で私を助けました。

注:エラーのためにスクリプトが壊れると、キーボードのいずれかのキーがまだ押されている(プッシュダウンされているが、持ち上げられていない)ことがあります。私はこれらの瞬間にWindowsに統合されたオンスクリーンキーボードを使用します...

関連する問題