実行中のアプリケーションを PowerShell 経由でアクティブ ウィンドウとして設定するにはどうすればよいですか?

実行中のアプリケーションを PowerShell 経由でアクティブ ウィンドウとして設定するにはどうすればよいですか?

デスクトップのスクリーンショットを撮るにはこのスニペットキャプチャした画像に自分のアプリケーションが含まれていることを確認したい。

そのコードが 1 分間に実行される場合、自分のアプリケーションが他のアプリケーションよりも優先されることをどうしたら確認できますか? コードは PowerShell スニペットなので、スクリーンショットを撮るときにアプリケーションを一時的にアクティブ化するために、何かと組み合わせることを考えていました。

答え1

何を試しましたか?

コードはどこですか?

どのようなエラーが発生していますか?

ネイティブ PowerShell は GUI 管理ツールとして設計されていません。 GUI 管理ツールとして設計することはできますが、そのための組み込みコマンドレットはありません。

どちらかに頼らなければならないキーを送信、.NET、またはサードパーティアドオン または ツール

シンプルなメモ帳SendKeys の例: (アプリケーションが最小化されていない限り)...メモ帳を起動し、別のアプリケーションをクリックしてフォアグラウンドにしてから、以下のコードを実行すると、メモ帳がフォアグラウンドになります。

[void] [System.Reflection.Assembly]::LoadWithPartialName("'Microsoft.VisualBasic") 
[Microsoft.VisualBasic.Interaction]::AppActivate((Get-Process -Name notepad).MainWindowTitle)

… 最小化されている場合は、これは機能しません。最小化されたウィンドウを復元するには、さらにコードが必要です。これは宿題として残しておきます。

関連情報