2010-07-12 28 views
0

我需要從我的應用程序啓動虛擬鍵盤(即click-n-type)以允許用戶在活動字段中輸入。當用戶關注我的應用程序窗口中的編輯框時,虛擬鍵盤彈出以允許輸入。如何啓動虛擬鍵盤而不失去在WinXP中的焦點?

但是,我無法通過一次點擊就能完成這項工作。當我使用「start click-n-type.exe」時,鍵盤正常啓動,但編輯框失去焦點。當我使用「start/min click-n-type.exe」時,編輯框保持焦點,但鍵盤被最小化。有沒有辦法讓焦點不變和虛擬鍵盤在它的位置?

+0

你使用什麼編程語言? – Abel 2010-07-12 11:31:08

+0

Java,我用Runtime.getRuntime()運行虛擬鍵盤。exec() – user389419 2010-07-12 13:26:01

回答

0

通常情況下,我會建議你的應用程序加載在過程DLL中,但這可能需要大量的重新編程。相反,這可能幫助:

  • 永遠載入你的應用,使其不可見
  • 當活動現場獲取用戶輸入,改變你的形式設置在頂部無邊界始終;
  • 現在應該使用您的應用程序。另一個應用程序現在是Z-Order中的下一個應用程序。確保你有它的窗戶把手;
  • 當某人鍵入某物或點擊虛擬鍵盤上的某些內容時,切換焦點(用戶不會注意到,總是在最上面)並使用SendKeys;
  • 然後將焦點切換回您的應用程序。

還有其他編寫這種應用程序的方法,它們更加流暢,但需要對窗口消息傳遞模型以及如何從其他應用程序加載/卸載dll有較強的理解。

+0

這聽起來像很多工作。我不想寫自己的虛擬鍵盤,而是想在我的GUI應用程序中使用click-n-type。 – user389419 2010-07-12 19:58:15

相關問題