2015-12-08 23 views
0

我正在嘗試創建一個WPF應用程序,該應用程序將被觸摸顯示設備用於在第三方應用程序中輸入快捷方式。將重點放在WPF中的以前的應用程序

這個想法看起來很簡單,類似於屏幕上的鍵盤如何在Windows上工作。不過,我很快發現了一個重大障礙;雖然我可以輕鬆地模擬輸入,但我無法找到將它們發送到適當的應用程序或控件的方法。只要點擊一個按鈕,以前的應用程序就會失去焦點,並且輸入不會被髮送到正確的位置。

我已經做了大量的研究,但不幸的是,似乎每個人通常都試圖在同一個應用程序中控制多個窗口的焦點。

我不確定這是否可以使用核心程序集。我寧願不必進行任何DLL導入,但恐怕這可能是必要的。

請讓我知道,如果你有任何解決方案或方向,我可以探索。

由於

回答

0
  1. 商店聚焦的元件(名稱/參考)。

  2. 顯示VirtualKeyboard。

  3. 在VK用戶控件的根級別處理按鈕按下事件。從通用事件處理程序中,您可以使用Text屬性輕鬆操作存儲的焦點元素中顯示的文本。你必須爲各種按鈕使用開關盒,例如(Backspace等)。由於VKeyboard只有最低限度所需的密鑰,所以這可以毫無問題地工作。

+0

Hello Anjum, 你究竟如何將最後一個聚焦元素的引用存儲在應用程序之外?據我所知,沒有任何方法可以通過事件管理器獲取應用程序外的對象的引用,並且我們無法在每個應用程序上設置鉤子權限? – Max

+0

看起來你正在嘗試一些黑客行爲。我認爲虛擬鍵盤顯示在同一個應用程序內。但是你仍然可以使用Win32函數來做你想做的事情。你可以得到文本框的句柄。 – AnjumSKhan

相關問題