通过Remote Spy我们常能见到类名为Worker的窗口(如下图所示),那么工作窗口类是什么呢?
其实工作窗口与常规窗口十分相似,只不过我们无需调用RegisterClass()函数注册窗口类,并把我们传入的p参数作为窗口的额外数据保存了起来。想来微软青睐这类不可见的窗口也就是为了简化步骤,提高效率而已。
我们先来看看如何创建工作窗口的。在头文件miscsvcs.h内有CreateWorkerWindow()函数的原型声明:
// *************************************************************************
// CreateWorkerWindow
//
// Purpose:
// Helper function to create a worker window
//
// Parameters:
// pwszClass Class name (NULL preferred, unless you need a unique class)
// pfnWndProc Window proc for worker window
// hwndParent Parent
// dwExStyle WS_EX_* styles
// dwFlags WS_* styles
// pwszTitle Window title
// hmenu Menu or child ID
// p Comes through in lParam of CREATESTRUCT during WM_CREATE processing
//
// Returns:
// HWND of worker window
//
// Side Effects:
// none
// *************************************************************************
HWND CreateWorkerWindow(TCHAR *pwszClass, WNDPROC pfnWndProc, HWND hwndParent,
DWORD dwExStyle, DWORD dwFlags, TCHAR *pwszTitle,
HMENU hmenu, void * p);
下面给出CreateWorkerWindow()函数的实现:
527



被折叠的 条评论
为什么被折叠?



