想在控件里直接调用WINSOCK2方法实现网络通信。现在遇到一个问题,想以异步方式获取网络事件,调用WSAAsyncSelect方法建立一个事件通知机制。但此函数需要传入窗口句柄,而此控件是非可视控件,我不知该传什么给这个参数。请各位大虾帮帮忙!

解决方案 »

  1.   

    异步方式,不一定要用WSAAsyncSelect函数啊,我记得Socket有4种异步方式,你可以用
    最简单的一种,select函数,效果也挺好的。
      

  2.   

    控件在browser内运行,如何传父窗口句柄?即便是使用父窗口句柄,当有网络数据到达时,系统只会将自定义消息发送给父窗口,而不是通知这个控件。
      

  3.   

    select好像是同步方式的,不适合此情况。
      

  4.   

    你自己的控件创建一个窗口嘛,不就是接收消息吗,让他不可见就得了
    好像MFC的CAsyncSocket就是这样的
      

  5.   

    zzyx意思是创建一个隐藏的窗口, 专门用来处理windows消息.不过, 最好不要使用windows下的异步机制, 根本无法移植, 逻辑和效率也差.使用select最好, select虽然是阻塞方式,但是有个时间参数, 你可以要求
    等待0秒, 那么,函数就立刻返回.
      

  6.   

    用vc开发activex控件,我可是个新手。你们说的我能明白,但是具体实现我就不知道了。
    : (