唉,接上一个问题问:如何在dll程序中使用SOCKET发现DLL中即便有窗体也没有消息循环,那么用什么办法可以让它能够接收消息,通过SOCKET接收数据

解决方案 »

  1.   

    socket的事件回调不一定只能指派给窗口,还有可以指派给事件,应该可以用这个。
    API:WSAEventSelect
      

  2.   


    dllmain()
    {
       case DLL_PROCESS_ATTACH:
           createthread( winmessageproc);
           break;
    }winmessageproc()
    {
        registerclassex()
        createwindowex()
        while(getmessage())
        {
            translatemessage()
            dispatchmessage()
        }
    }dll 加载的时候,创建 socket, 创建线程, 
    线程里 注册创建窗口,在窗口过程里就可以接受消息了,线程里实现消息循环