タスクマネージャーに表示されるものと同じ、プロセスの一覧を取得したいのですが、
EnumWindowsProc 内で、取得されるハンドルの内
GetWindowText で取得したテキストで値が入っているもの
IsWindowVisible(hwnd)が真のものと絞ったのですが、まだ電卓など
起動していないプロセスが色々出てきてしまいます。
タスクマネージャーに表示されるものと同じ、プロセスの一覧を取得する方法
はありますか?
GetWindowInfo で取得できるWINDOWINFO構造体のフラグを見たりして、プロセスを
絞れないでしょうか?
【補足】
このページにて、タスクマネージャーに表示されるウィンドウの種類の記述を見つけました。
プロセスに可視ウィンドウがある場合は「アプリ」と判定されるみたいですが、
C#でのやり方が載っていて、これをQtにおいてC++で実装したいのですが、
どのように実装すればいいでしょうか?
int processId = 10000; // プロセス ID を指定
if (Process.GetProcessById(processId).MainWindowHandle == IntPtr.Zero)
{
MessageBox.Show("バックグラウンド プロセス");
}
else
{
MessageBox.Show("アプリ");
}
あなたの回答
tips
プレビュー