2014-10-27 32 views
0

我開發了一個全屏應用程序,該應用程序可以掛接到第三方/客戶端應用程序並由其啓動。問題在於,客戶端應用程序在啓動我的應用程序後不久就獲得焦點,結果是雖然我的應用程序是全屏的,並且設置爲頂部,但它不會接收鍵盤輸入,因此用戶必須點擊它將其集中在一起,這會導致糟糕的用戶體驗。如何自動將焦點恢復到Windows上啓動的應用程序

如何在客戶端獲取應用程序後將焦點還原到我的應用程序?

如果很重要,我的應用程序是用C++編寫的,並有一個QT UI。

+0

我不知道你是否能夠解決你的問題? – Robert 2014-10-30 13:26:55

回答

1

不太答案,但原因爲什麼我的應用程序沒有輸入焦點。我將讓Charles Petzold解釋(從編程Windows 5ed,第213頁)

接收特定鍵盤事件的窗口是具有輸入焦點的窗口。輸入焦點的概念與活動窗口的概念密切相關。具有輸入焦點的窗口是活動窗口或活動窗口的後代窗口 - 即活動窗口的子窗口或活動窗口的子窗口的子窗口等等。

我的Qt應用程序不是由活動窗口派生的,因此沒有輸入焦點。因此,解決方案是將我的應用程序添加到活動窗口。不幸的是,如果可能的話,這在Qt中並不簡單。

相關問題