最近做一个桌面小程序,需要用到数个带 WS_EX_LAYERED 风格的窗口来实现。考虑到窗口较多,决定每个窗口的 WM_CREATE 消息中新建一个窗口线程,每个窗口的回调函数由主线程负责。在各窗口线程中实现诸如窗口的绘制、移动等操作。因为各个窗口实现的功能是重复的,使用同一段代码就可以实现,想问问在创建线程时把线程函数参数都指向同一个函数可不可以?不可以的话,怎么来实现我所说的这种方式?

解决方案 »

  1.   

    应该可以!所有不经处理的窗口消息处理函数还不是 DefWindowProc 这个函数嘛~既然它可以为什么你不可以呢~~~
      

  2.   

    是可以的,应该不用处理重入的问题,不过要注意少用static型的变量。
      

  3.   

    只要是可重入的就没有什么问题,一般情况下,都是通过传递进来的void *参数操作线程对应的数据对象
      

  4.   

    可以,只是访问static变量或全局变量时要注意一下。其它没什么问题。