2016-04-26 9 views
0

私はソフトウェアインストールプロセスでウィンドウのフォーカスを取得しようとしています。ウィンドウにはタイトルがありません。スクリプトは失敗し続けます。スクリプトで変更できるものがあれば誰かに教えてもらえますか?autohotkeyフォーカスがないタイトル

これは、[OK]ボタンをクリックして動作するはずです:

Sleep, 4000. 
Send, {control down} 
MouseClick, Left, 300, 185, 
Send, {Control up} 

結果は、それが代わりの真ん中に開いたウィンドウ上の所定箇所をクリックすると、Windowsのスタートメニューの隣にGoogle Chromeを開くことですデスクトップ。

私の完全なスクリプトは以下の通りです:

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 
;#Warn ; Enable warnings to assist with detecting common errors. 
SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 

Sleep, 1000 ;language selection and next. 
Send, {tab} 
Sleep, 500 
Send, {tab} 
Sleep, 500 
Send, {tab} 
Sleep, 500 
Sleep, 2000 
Send, {Enter} 

Sleep, 1000 ;directory and installation. 
Send, {tab} 
Sleep, 500 
Send, {tab} 
Sleep, 500 
Send, {tab} 
Sleep, 500 
Send, {tab} 
Sleep, 500 
Send, {tab} 
Sleep, 5000 
Send, {Enter} 
Sleep, 500 
Send, {tab} 
Sleep, 5000 ;for installation wait time. 
Send, {Enter} ;finish. 

Sleep, 7000 
Run "myexecutable.exe" 

Sleep, 4000 ;focus attempt 2. 
Send, {control down} 
MouseClick, Left, 300, 185, 
Send, {Control up} ;for association OK. 

答えて

0

あなたは相対モードでマウスクリックを使用することができます。

CoordMode, Mouse, Window 

これはアクティブウィンドウの代わりにクリックの相対座標を行いますスクリーン。

クリックする必要のあるウィンドウ上の位置の新しい座標を計算し、ウィンドウがアクティブであることを確認します。

ウィンドウハンドルを取得するには、プログラムの実行可能ファイル名を使用します。たとえば、代わりにパラメータWinTitle使用ahk_exeとプロセス名の、ウィンドウをアクティブにする:ご返信用

WinActivate, ahk_exe myexecutable.exe 
+0

感謝を。実際の問題は、ウィンドウがフォーカスを取らないということです。それはタイトルを表示せず、「隠された」タイトルをもたない。 私はそのポップアップに焦点を当てるためにさまざまな方法を試しましたが、うまくいきませんでした。興味深いことに、スクリーンへの相対座標を試してみるのは時にはうまくいきましたが、同じコーディングでは97%の時間で失敗しました。 また、孤立スニペットとしてテストしたところ、もう少し成功しました(50%)、正確なコーディングの座標(空白のウィンドウタイトルオプション)をプロットしました。 –

+0

˙@ JDoeアップデートを参照してください。 – 2501

関連する問題