/ / Nastaviť sústredenie systému na moju aplikáciu - wpf, zaostrenie

Nastavte systémové zameranie na moju aplikáciu - wpf, zaostrenie

Mám aplikáciu, ktorá bude prevažne fungovaťpozadie. Chcem, aby niektoré udalosti systému, s ktorými pracuje, spôsobili, že aplikácia ukradla zameranie z aplikácie v popredí bez ohľadu na to, aká je. Zdá sa však, že nástroj UIElement.Focus () nastavuje iba zameranie v aplikácii WPF. To znamená, že ak aplikácia WPF už má zaostrenie ako celok, potom Focus () nastaví zaostrenie na správne ovládanie. Ale musím ukradnúť zameranie z inej aplikácie a dať ju do mojej aplikácie. Ako to môžem urobiť?

Ja to robím nie chcete modálny dialóg systému. To znamená, že po okne kradnutia ohniska by malo byť možné, aby používateľ okamžite prepol na inú aplikáciu bez toho, aby odmietol okno aplikácie.

Aplikácia môže byť už v obnovenej,minimalizované alebo dokonca minimalizovať stav na zásobník, keď potrebuje kradnúť systémové zaostrenie. Takže za predpokladu, že je minimalizované a kradne zaostrenie pri obnove okna, nie je prijateľné.

odpovede:

6 pre odpoveď č. 1

Ak nemáte na mysli robiť som p / invokes, SetForegroundWindow funkcia by vám mala pomôcť:
http://pinvoke.net/default.aspx/user32/SetForegroundWindow.html