ユーザーが Web ページのボタンを押したときに、ブラウザー プラグインによって呼び出される dll があります。この dll には、(新しい UI スレッドで) ウィンドウを作成するネイティブ コードが含まれており、このウィンドウを作成する際にキーボード フォーカスを取得する必要があります (ユーザーが期待する動作)。ユーザーの顔に不要なポップアップを押し付けようとしているわけではありません。
SetForegroundWindow()、SetFocus()、BringWindowToTop()、AttachThreadInput() を使用して、ウィンドウを最小化/復元しようとしました。私が行った最も進歩したことは、新しいウィンドウがタスクバーで点滅するようになったことです。
これを行う必要がある理由は、キーボードのアクセシビリティを考慮する必要があり、ユーザーが Alt-Tab を使用せずに新しいウィンドウを使用できるようにする必要があるためです。
ここでキーボードフォーカスを取得する方法について何か提案はありますか?