在ATL的windows Service程序中使用winsock,但没有窗体,WSAAsyncSelect的第二个参数填什么呢?没有BEGIN_MESSAGE_MAP(),如何增加事件处理呢?

解决方案 »

  1.   

    无法用窗口啊,因为调用CDialog::Create(MyDlg,NULL)出错
      

  2.   

    1.建一个隐藏的窗口,在隐藏窗口的MESSAGE_MAP中响应。
    2.不用消息模式还可以用事件模式嘛。WSAEventSelect函数。在线程中处理事件同步。
      

  3.   

    DECLARE_WND_CLASS(TEXT("Watch"))
    BEGIN_MSG_MAP(CWatch)
    MESSAGE_HANDLER(WM_WATCH_NOTIFY, OnWatchNotify)
    END_MSG_MAP()
    这样就可以进行消息传递了
      

  4.   

    HWND hwnd = Create(NULL, rect, TEXT("WatchWindow"), WS_POPUP);
    忘记了,还需要create的。