invisiblewindow.cpp

来自「AVAYA IPO 430系列交换机Wavedriver的demo程序」· C++ 代码 · 共 35 行

CPP
35
字号
// InvisibleWindow.cpp

#include "stdafx.h"
#include "InvisibleWindow.h"

WindowClass InvisibleWindow::s_wc(__TEXT("InvisibleWindowClass"), InvisibleWindowProc);

bool InvisibleWindow::Create(InvisibleWindowSink* pSink)
{
    assert(pSink && "InvisibleWindowSink required");

    if( !m_hwnd )
    {
        if( s_wc.IsRegistered() )
        {
            m_hwnd = CreateWindow(s_wc.ClassName(), __TEXT(""), WS_POPUP | WS_DISABLED, 0, 0, 0, 0, 0, 0, GetModuleHandle(0), 0);

            if( m_hwnd )
            {
                SetWindowLong(m_hwnd, GWL_USERDATA, (LONG)pSink);
            }
        }
    }

    return m_hwnd ? true : false;
}

LRESULT CALLBACK InvisibleWindowProc(HWND hwnd, UINT nMsg, WPARAM wparam, LPARAM lparam)
{
    InvisibleWindowSink*    pSink = (InvisibleWindowSink*)GetWindowLong(hwnd, GWL_USERDATA);
    if( pSink ) return pSink->OnWindowMessage(hwnd, nMsg, wparam, lparam);
    else return DefWindowProc(hwnd, nMsg, wparam, lparam);
}

⌨️ 快捷键说明

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