teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

2020/07/13 10:37

投稿

Yamamin
Yamamin

スコア18

title CHANGED
File without changes
body CHANGED
File without changes

2

リンクを追加

2020/07/13 10:37

投稿

Yamamin
Yamamin

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  タスクマネージャーに表示されるものと同じ、プロセスの一覧を取得したいのですが、
2
- EnumWindowsProc 内で、取得されるハンドルの内
2
+ EnumWindowsProc 内で、取得されるハンドルの内
3
3
  GetWindowText で取得したテキストで値が入っているもの
4
4
  IsWindowVisible(hwnd)が真のものと絞ったのですが、まだ電卓など
5
5
  起動していないプロセスが色々出てきてしまいます。
@@ -10,8 +10,8 @@
10
10
  絞れないでしょうか?
11
11
 
12
12
  【補足】
13
- 以下のページにて、タスクマネージャーに表示されるウィンドウの種類の記述を見つけました。
13
+ [このページ](https://hack.jp/?p=970)にて、タスクマネージャーに表示されるウィンドウの種類の記述を見つけました。
14
- https://hack.jp/?p=970
14
+
15
15
  プロセスに可視ウィンドウがある場合は「アプリ」と判定されるみたいですが、
16
16
  C#でのやり方が載っていて、これをQtにおいてC++で実装したいのですが、
17
17
  どのように実装すればいいでしょうか?

1

C#での実装は見つかりました。これをC++で実装したい

2020/07/13 07:03

投稿

Yamamin
Yamamin

スコア18

title CHANGED
File without changes
body CHANGED
@@ -7,4 +7,21 @@
7
7
  タスクマネージャーに表示されるものと同じ、プロセスの一覧を取得する方法
8
8
  はありますか?
9
9
  GetWindowInfo で取得できるWINDOWINFO構造体のフラグを見たりして、プロセスを
10
- 絞れないでしょうか?
10
+ 絞れないでしょうか?
11
+
12
+ 【補足】
13
+ 以下のページにて、タスクマネージャーに表示されるウィンドウの種類の記述を見つけました。
14
+ https://hack.jp/?p=970
15
+ プロセスに可視ウィンドウがある場合は「アプリ」と判定されるみたいですが、
16
+ C#でのやり方が載っていて、これをQtにおいてC++で実装したいのですが、
17
+ どのように実装すればいいでしょうか?
18
+
19
+ int processId = 10000; // プロセス ID を指定
20
+ if (Process.GetProcessById(processId).MainWindowHandle == IntPtr.Zero)
21
+ {
22
+ MessageBox.Show("バックグラウンド プロセス");
23
+ }
24
+ else
25
+ {
26
+ MessageBox.Show("アプリ");
27
+ }