1

メソッドを使用してアプリケーションを起動するシステム サービスがありますCreateProcessAsUser

このサービスは、偽装を使用して、アクティブなセッションでアプリを起動します。アプリケーションは正常に起動しています。次を使用して、ウィンドウを前面に表示することができました。

SetWindowPos( &this->wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE );

しかし、アプリがキーボードフォーカスを持つことができるように、何をすべきかわかりません。アプリが一番上にある場合でも、ユーザーがウィンドウをクリックしていない限り、キーボード入力はアプリの下のアプリケーションに送られます。

4

1 に答える 1

2

アプリケーションが RegisterHotKey を介して (慎重に選択された) HotKey を登録し、 SendInputを介してキーをシミュレートできるようにします。

WM_HOTKEYメッセージの処理では、「フォーカスを奪う」ことができるはずです。

Remenber: フォーカスを盗むのは悪いことですが、「クライアントが求めていること」は十分に理解しています。部。

于 2013-07-03T18:58:05.537 に答える