⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snapinabout.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "StdAfx.h"#include "WarMmcSnapin.h"#include "SnapinAbout.h"   // class implemented/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================CSnapinAbout::CSnapinAbout(): m_cref(0){    OBJECT_CREATED                m_hSmallImage = (HBITMAP)LoadImage(g_hinst, MAKEINTRESOURCE(IDB_SMBMP), IMAGE_BITMAP, 16, 16, LR_LOADTRANSPARENT);    m_hLargeImage = (HBITMAP)LoadImage(g_hinst, MAKEINTRESOURCE(IDB_LGBMP), IMAGE_BITMAP, 32, 32, LR_LOADTRANSPARENT);        m_hSmallImageOpen = (HBITMAP)LoadImage(g_hinst, MAKEINTRESOURCE(IDB_SMOPEN), IMAGE_BITMAP, 16, 16, LR_LOADTRANSPARENT);        m_hAppIcon = LoadIcon(g_hinst, MAKEINTRESOURCE(IDI_WARSVR));}CSnapinAbout::~CSnapinAbout(){    if (m_hSmallImage != NULL)        FreeResource(m_hSmallImage);        if (m_hLargeImage != NULL)        FreeResource(m_hLargeImage);        if (m_hSmallImageOpen != NULL)        FreeResource(m_hSmallImageOpen);        if (m_hAppIcon != NULL)        FreeResource(m_hAppIcon);        m_hSmallImage = NULL;    m_hLargeImage = NULL;    m_hSmallImageOpen = NULL;    m_hAppIcon = NULL;        OBJECT_DESTROYED}//============================= OPERATORS ====================================//============================= OPERATIONS ===================================STDMETHODIMP CSnapinAbout::QueryInterface(REFIID riid, LPVOID *ppv){    if (!ppv)        return E_FAIL;        *ppv = NULL;        if (IsEqualIID(riid, IID_IUnknown))        *ppv = static_cast<ISnapinAbout *>(this);    else if (IsEqualIID(riid, IID_ISnapinAbout))        *ppv = static_cast<ISnapinAbout *>(this);        if (*ppv)    {        reinterpret_cast<IUnknown *>(*ppv)->AddRef();        return S_OK;    }        return E_NOINTERFACE;}STDMETHODIMP_(ULONG) CSnapinAbout::AddRef(){    return InterlockedIncrement((LONG *)&m_cref);}STDMETHODIMP_(ULONG) CSnapinAbout::Release(){    if (InterlockedDecrement((LONG *)&m_cref) == 0)    {        // we need to decrement our object count in the DLL        delete this;        return 0;    }    return m_cref;    }///////////////////////////////// Interface ISnapinAbout///////////////////////////////STDMETHODIMP CSnapinAbout::GetSnapinDescription(/* [out] */ LPOLESTR *lpDescription){    _TCHAR szDesc[MAX_PATH];        LoadString(g_hinst, IDS_SNAPINDESC, szDesc, sizeof(szDesc));        return AllocOleStr(lpDescription, szDesc);}STDMETHODIMP CSnapinAbout::GetProvider(/* [out] */ LPOLESTR *lpName){    return AllocOleStr(lpName, _T("Copyright 

⌨️ 快捷键说明

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