タグ

メッセージに関するrbyのブックマーク (2)

  • 独自メッセージの定義にはWM_USERでなくWM_APPを使う

    2008年7月31日(木) 23時43分16秒 [C/C++言語] 独自メッセージの定義にはWM_USERでなくWM_APPを使う C++Windows用ソフトを作っていて独自のメッセージを定義する際、WM_USERを使って以下のようによく書いてました。 #define UM_MYMESSAGE (WM_USER + 100) WM_USERに適当な整数を加えただけなんですけど、これはよろしくない書き方だったようです。昔々サンプルソースでこう書かれているのを見て以降、ずっとこの書き方を使ってたんですが。(^_^;;; WM_USERは定義済みコントロールクラスのために使われているので、プログラマが適当に「WM_USER+n」とか書いちゃうと、ほかのメッセージとコンフリクトする可能性があるんだそうな……。知らなんだ……。 というわけで、独自のメッセージを定義したいときは、WM_USERでは

    独自メッセージの定義にはWM_USERでなくWM_APPを使う
  • データの送受信(WSA編)

    Winsockを使用してネットアプリケーションを開発する場合は、 どのような関数を呼び出してブロッキングの問題に対処するかを検討しておく必要があります。 たとえば、前節のサーバープログラムでは、selectを呼び出すことによってacceptとrecvにおけるブロックキングを回避し、 何らかのネットワークイベントが発生したら関数が制御を返すという実装に成功しました。 こうした実装は、WSAEventSelectとWSAWaitForMultipleEventsでも可能であり、 この方法ならばネットワークイベント以外に独自のイベントオブジェクトが変更された場合でも、 関数が制御を返すことができます。 上記の方法に共通しているのは、関数(selectまたはWSAWaitForMultipleEvents)でブロッキングが発生するという関係上、 独自のスレッドを作成してそこで関数を呼び出すという点

  • 1