を使用してUIを開始しようとしてCreateProcessAsUser
いますが、ウィンドウがフォアグラウンドウィンドウとして表示されません。
通常のウィンドウであるかどうかは気になりませんが、このウィンドウはUACプロンプトをトリガーし、フォアグラウンドにも表示されません。
を使用してUIを開始しようとしてCreateProcessAsUser
いますが、ウィンドウがフォアグラウンドウィンドウとして表示されません。
通常のウィンドウであるかどうかは気になりませんが、このウィンドウはUACプロンプトをトリガーし、フォアグラウンドにも表示されません。
あなたの説明から、他のプロセスを昇格モードで起動しようとしているかのように聞こえます。それがあなたがやろうとしていることなら、それをフォアグラウンドウィンドウに設定することはできません。実際、昇格されていないプロセスは、昇格されたプロセスに何らかの方法/形状/形式で触れることはできません。
作成されたプロセスは、実際に独自のウィンドウをフォアグラウンド ウィンドウにする責任を負う必要があります。STARTUPINFO
に渡す構造体で遊んで、フラグをCreateProcessAsUser
設定し、の値を指定してみてください。それでもうまくいかない場合は、昇格した COM コンポーネントを作成するなど、最初に自分自身の一部を昇格させる以外に実際の回避策はありません。STARTF_USESHOWWINDOW
SW_SHOWNORMAL
それが目的ではなく、単に子プロセスのウィンドウをフォアグラウンドに移動したい場合は、子プロセスが所有するウィンドウを列挙し、そのうちの 1 つでSetForegroundWindowを呼び出す必要があります。