ismsghandlers.h

来自「WMI接口测试Demo程序」· C头文件 代码 · 共 61 行

H
61
字号
// ISMsgHandlers.h: interface for the CISMsgHandler derived classes.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ISMSGHANDLERS_H__F4E70803_C655_4E97_9993_D927A8219B26__INCLUDED_)
#define AFX_ISMSGHANDLERS_H__F4E70803_C655_4E97_9993_D927A8219B26__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ISMsgManager.h"

// WM_CREATE
class CISMH_Create : public CISMsgHandler
{
public:
	CISMH_Create(UINT uMsg, LPCTSTR szMsg) : CISMsgHandler(uMsg, szMsg) {}

	virtual BOOL HandleMsg(MSG* pMsg, CString& sMsg, CStringArray* pParams)
	{
		ASSERT (pMsg->message == m_uMsg);

		sMsg = m_sMsg;

		if (!pParams)
			return TRUE;

		LPCREATESTRUCT pCS = (LPCREATESTRUCT)pMsg->lParam;
		ASSERT (pCS);

		CString sClass(pCS->lpszClass);

		// class name could be an atom
		if (sClass.IsEmpty() && pCS->lpszClass && !HIWORD(pCS->lpszClass))
		{
			GlobalGetAtomName((ATOM)pCS->lpszClass, sClass.GetBuffer(128), 128);
			sClass.ReleaseBuffer();
		}

		AddParam(*pParams, "wp = %08x", pMsg->wParam);
		AddParam(*pParams, "lpCreateParams = %08x", pCS->lpCreateParams);
		AddParam(*pParams, "hInstance = %08x", pCS->hInstance);
		AddParam(*pParams, "hMenu = %08x", pCS->hMenu);
		AddParam(*pParams, "hwndParent = %08x", pCS->hwndParent);
		AddParam(*pParams, "x = %d", pCS->x);
		AddParam(*pParams, "y = %d", pCS->y);
		AddParam(*pParams, "cx = %d", pCS->cx);
		AddParam(*pParams, "cy = %d", pCS->cy);
		AddParam(*pParams, "style = %08x", pCS->style);
		AddParam(*pParams, "lpszName = %s", pCS->lpszName);
		AddParam(*pParams, "lpszClass = %s", sClass);
		AddParam(*pParams, "dwExStyle = %08x", pCS->dwExStyle);

		return TRUE;
	}
	
};

#endif // !defined(AFX_ISMSGHANDLERS_H__F4E70803_C655_4E97_9993_D927A8219B26__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?