收录查询

句柄的种类(句柄---实际是到各种DS的指针)

HACCEL Handle to an accelerator table.
HANDLE Handle to an object.
HBITMAP Handle to a bitmap.
HBRUSH Handle to a brush.
HCONV Handle to a dynamic data exchange (DDE) conversation.
HCONVLIST Handle to a DDE conversation list.
HCURSOR Handle to a cursor.
HDC Handle to a device context (DC).
HDDEDATA Handle to DDE data.
HDESK Handle to a desktop.
HDROP Handle to an internal drop structure.
HDWP Handle to a deferred window position structure.
HENHMETAFILE Handle to an enhanced metafile.
HFILE Handle to a file opened by OpenFile, not CreateFile.
HFONT Handle to a font.
HGDIOBJ Handle to a GDI object.
HGLOBAL Handle to a global memory block.
HHOOK Handle to a hook.
HICON Handle to an icon.
HIMAGELIST Handle to an image list.
HIMC Handle to input context.
HINSTANCE Handle to an instance.
HKEY Handle to a registry key.
HKL Input locale identifier.
HLOCAL Handle to a local memory block.
HMENU Handle to a menu.
HMETAFILE Handle to a metafile.
HMODULE Handle to a module.
HMONITOR Handle to a display monitor.
HPALETTE Handle to a palette.
HPEN Handle to a pen.
HRGN Handle to a region.
HRSRC Handle to a resource.
HSZ Handle to a DDE string.
HWINSTA Handle to a window station.
HWND Handle to a window.

===========================================================
MSDN中--------没有给出的几个句柄:

HANDLE Handle to an object.

HCONV Handle to a dynamic data exchange (DDE) conversation.

HCONVLIST Handle to a DDE conversation list.

HDDEDATA Handle to DDE data.

HDROP Handle to an internal drop structure.

HDWP Handle to a deferred window position structure.

HGDIOBJ Handle to a GDI object.

HGLOBAL Handle to a global memory block.

HIMAGELIST Handle to an image list.

HIMC Handle to input context.

HINSTANCE Handle to an instance.

HKEY Handle to a registry key.

HKL Input locale identifier.

HLOCAL Handle to a local memory block.

HMODULE Handle to a module.

HMONITOR Handle to a display monitor.

HRSRC Handle to a resource.

HSZ Handle to a DDE string.

没有给出的原因可能有几个方面:

1.   如HINSTANCE在32位操作系统上始终为NULL
2.   其它的句柄可以和某些函数匹配(调用该函数得到一个到该句柄类型的句柄对象)
      如:HWND hw= CreateWindowEx(.................);
但是,MS为什么不给相应的结构体,猜测是因为不重要和并没有在MSDN中做成非常显示的链接

CREATESTRUCT

The CREATESTRUCT structure defines the initialization parameters passed to the window procedure of an application. These members are identical to the parameters of the CreateWindowEx function.

typedef struct tagCREATESTRUCT {
LPVOID    lpCreateParams;
HINSTANCE hInstance;
HMENU     hMenu;
HWND      hwndParent;
int       cy;
int       cx;
int       y;
int       x;
LONG      style;
LPCTSTR   lpszName;
LPCTSTR   lpszClass;
DWORD     dwExStyle;
} CREATESTRUCT, *LPCREATESTRUCT; 

Members

lpCreateParams
Contains additional data which may be used to create the window. If the window is being created as a result of a call to the CreateWindow or CreateWindowEx function, this member contains the value of the lpParam parameter specified in the function call.

If the window being created is an MDI window, this member contains a pointer to an MDICREATESTRUCT structure.

Windows NT/2000/XP: If the window is being created from a dialog template, this member is the address of a SHORT value that specifies the size, in bytes, of the window creation data. The value is immediately followed by the creation data. For more information, see the following Remarks section.

hInstance
Handle to the module that owns the new window.
hMenu
Handle to the menu to be used by the new window.
hwndParent
Handle to the parent window, if the window is a child window. If the window is owned, this member identifies the owner window. If the window is not a child or owned window, this member is NULL.
cy
Specifies the height of the new window, in pixels.
cx
Specifies the width of the new window, in pixels.
y
Specifies the y-coordinate of the upper left corner of the new window. If the new window is a child window, coordinates are relative to the parent window. Otherwise, the coordinates are relative to the screen origin.
x
Specifies the x-coordinate of the upper left corner of the new window. If the new window is a child window, coordinates are relative to the parent window. Otherwise, the coordinates are relative to the screen origin.
style
Specifies the style for the new window.
lpszName
Pointer to a null-terminated string that specifies the name of the new window.
lpszClass
Pointer to a null-terminated string that specifies the class name of the new window.
dwExStyle
Specifies the extended window style for the new window.

Remarks

Windows NT/2000/XP: You should access the data represented by the lpCreateParams member using a pointer that has been declared using the UNALIGNED type, because the pointer may not be DWORD aligned. This is demonstrated in the following example:

typedef struct tagMyData
{
// Define creation data here.
} MYDATA;
typedef struct tagMyDlgData
{
SHORT   cbExtra;
MYDATA  myData;
} MYDLGDATA, UNALIGNED *PMYDLGDATA;
PMYDLGDATA pMyDlgdata =
(PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpCreateParams); 

Requirements

  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Winuser.h; include Windows.h.
  Unicode: Declared as Unicode and ANSI structures.
=================================================================
1.

CREATESTRUCT

The CREATESTRUCT structure defines the initialization parameters passed to the window procedure of an application. These members are identical to the parameters of the CreateWindowEx function.

typedef struct tagCREATESTRUCT {
LPVOID    lpCreateParams;
HINSTANCE hInstance;
HMENU     hMenu;
HWND      hwndParent;
int       cy;
int       cx;
int       y;
int       x;
LONG      style;
LPCTSTR   lpszName;
LPCTSTR   lpszClass;
DWORD     dwExStyle;
} CREATESTRUCT, *LPCREATESTRUCT; 

2.

MDICREATESTRUCT

The MDICREATESTRUCT structure contains information about the class, title, owner, location, and size of a multiple document interface (MDI) child window.

typedef struct tagMDICREATESTRUCT {
LPCTSTR szClass;
LPCTSTR szTitle;
HANDLE  hOwner;
int     x;
int     y;
int     cx;
int     cy;
DWORD   style;
LPARAM  lParam;
} MDICREATESTRUCT, *LPMDICREATESTRUCT; 
 
2. 
posted @ 2006-09-23 18:17  ->  阅读(705)  评论(0)    收藏  举报