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

回答編集履歴

2

誤記修正

2021/03/22 00:02

投稿

dodox86
dodox86

スコア9407

answer CHANGED
@@ -37,7 +37,7 @@
37
37
  ---
38
38
  **追記しました:**
39
39
 
40
- 通知バーが非表示のとき、ウィンドウスタイルの`WS_VISIBLE`フラグはリセットされないと[2021/03/18 16:51]の「質問への追記・修正、ベストアンサー選択の依頼」で述べましたが、Spy++の表示だけの問題かどうか気になったので実際に確認してみました。結果としては当初の回答どおりでした。ですが、[IsWindowVisible](https://docs.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-iswindowvisible)と言うウィンドウの表示状態を問うAPIを使うことで通知バーの表示、非表示の状態が分かるので、これが使えると思います。
40
+ 通知バーが非表示のとき、ウィンドウスタイルの`WS_VISIBLE`フラグはリセットされないと[2021/03/18 16:51]の「質問への追記・修正、ベストアンサー選択の依頼」で述べましたが、Spy++の表示だけの問題かどうか気になったので実際に確認してみました。結果としては当初のコメントどおりでした。ですが、[IsWindowVisible](https://docs.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-iswindowvisible)と言うウィンドウの表示状態を問うAPIを使うことで通知バーの表示、非表示の状態が分かるので、これが使えると思います。
41
41
  ```C
42
42
  /* 簡単な確認用コード */
43
43
  DWORD style = GetWindowLongA(targetWnd, GWL_STYLE);

1

IsWindowVisibleについて追記

2021/03/22 00:02

投稿

dodox86
dodox86

スコア9407

answer CHANGED
@@ -32,4 +32,20 @@
32
32
 
33
33
  質問者さんとの実行環境は違うので、そちらで試した場合はまた挙動が異なるかもしれません。参考までに当方の環境を以下に簡単に示しておきます。
34
34
  * Windows 10 Pro 1909 OSビルド18363.1316
35
- * Internet Explorer 11 製品バージョン 11.0.18362.1 (C:\Program Files\Internet Explorer\iexplore.exeのファイルのプロパティで確認)
35
+ * Internet Explorer 11 製品バージョン 11.0.18362.1 (C:\Program Files\Internet Explorer\iexplore.exeのファイルのプロパティで確認)
36
+
37
+ ---
38
+ **追記しました:**
39
+
40
+ 通知バーが非表示のとき、ウィンドウスタイルの`WS_VISIBLE`フラグはリセットされないと[2021/03/18 16:51]の「質問への追記・修正、ベストアンサー選択の依頼」で述べましたが、Spy++の表示だけの問題かどうか気になったので実際に確認してみました。結果としては当初の回答どおりでした。ですが、[IsWindowVisible](https://docs.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-iswindowvisible)と言うウィンドウの表示状態を問うAPIを使うことで通知バーの表示、非表示の状態が分かるので、これが使えると思います。
41
+ ```C
42
+ /* 簡単な確認用コード */
43
+ DWORD style = GetWindowLongA(targetWnd, GWL_STYLE);
44
+ DWORD exStyle = GetWindowLongA(targetWnd, GWL_EXSTYLE);
45
+ BOOL visible = IsWindowVisible(targetWnd);
46
+
47
+ TCHAR s[256];
48
+ wsprintfW(s, L"visible=%d, WS_VISIBLE=0x%x, style=0x%X, exstyle=0x%X",
49
+ visible, WS_VISIBLE, style, exStyle);
50
+ MessageBoxW(NULL, s, L"TEST", MB_OK);
51
+ ```