2012-10-29 68 views
2

我有一個Java機器人程序,它可以在記事本,單詞等上鍵入單詞。Java機器人獲得其他應用程序的焦點

但問題是我是沒有得到窗口申請的焦點,當我試圖手動使用ALT-TAB

和應用程序,進入它的文本框中光標不在可用列表中,同時執行ALT-TAB, 也不可見任務管理器 - >應用程序選項卡 但它可用於任務管理器的進程選項卡。 是否有任何解決方案使用Java Robot爲keyPress獲取該Windows應用程序的焦點。

此外,在其他一些PC機上,我運行java機器人程序後手動將光標置於應用程序的焦點。我在我的所有電腦中安裝了JDK1.6。它不能只在我的電腦上工作。

在此先感謝!

+0

呵呵?請澄清? –

+1

我在想你可能需要使用JNA來做這件事,但我不確定,直到你付出努力澄清你的問題,也就是說,如果你仍然需要我們的幫助。 –

+0

我的java程序打算在基於窗口的窗體應用程序上鍵入,當我將光標移動到該應用程序的文本框時,它不會自動打字,但同時當我將光標放在記事本中時,它開始輸入幫我 –

回答

1

我認爲你最好的選擇是使用JNA來允許你進行系統調用。

假設一個Windows程序,您可以使用JNA來調用user32.dll,包括dll函數,如FindWindowEx(...)SetForegroundWindow(...),以將您選擇的窗口設置爲前景。

+0

謝謝先生,你能給我一些鏈接或代碼,我試着運行一個JNA程序,無法運行,請幫助我 –

+0

謝謝先生,我想知道,爲什麼光標獲得該窗口應用程序的控制權,並開始在其他PC而不是在我的電腦中輸入。請幫幫我! –

1

您可以將機器人置於背景中,而不是獲取其他應用程序的焦點,然後返回前景中的任何內容(即您的目標應用程序)以獲得焦點。

+0

我正在執行我的java程序使用命令提示符,如何使它作爲後臺進程請用一些編碼解釋我 –

相關問題