0

関数を使用してモニターをオンにするために、Windows でメッセージを送信することに関する技術的な質問がありwinapiます。

このようなメッセージを送信すると:

SendNotifyMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,-1)

のタブInternet Explorerが移動されます。これは、私が 3 日間取り組んできた問題であり、まだ解決策が見つかっていません。そのメッセージを送信すると IE のタブが移動する理由を説明してもらえますか?

ありがとう。

4

2 に答える 2

1

SC_MONITORPOWER を送信してモニターの電源を制御したい場合は、このメッセージを独自のプログラム自体 (メッセージ送信を行っているプログラム) に送信するだけで簡単に制御できます。このメッセージは最終的に DefWindowProc にフィルターされ、OS によって処理されます。

PostMessage(m_hWnd, WM_SYSCOMMAND, SC_MONITORPOWER, -1);

ユーザー プログラムによってこのようなシステム メッセージをブロードキャストすると、すべてのアプリケーションがそれに応答し、独自の方法でメッセージを複数回処理する必要があるため、予期しない複雑さが生じる可能性があります。

参照: http://blogs.msdn.com/b/oldnewthing/archive/2006/06/13/629451.aspx

于 2013-01-25T14:34:02.130 に答える
1

私は何が起こるかを期待しています:

  1. 複数のモニターがあります。
  2. モニタがオフになっているというメッセージが IE に届きます。
  3. IE は、残りのモニターの 1 つに自分自身を移動することで、これに応答します。
于 2013-01-25T09:19:43.260 に答える