Win32编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win32编程相关的知识,希望对你有一定的参考价值。

#include <windows.h>

HINSTANCE hinst;

LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
        break;
    case WM_LBUTTONDOWN:
        MessageBox(hWnd, L"ONDragon", L"ONDragon", MB_OK);
        break;
    default:
        return DefWindowProc(hWnd, uMsg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int lpCmdShow)
{
    //定义窗口类
    WNDCLASSEX wcx;

    hinst = hInstance;
    MSG msg;
    BOOL getMessage;

    wcx.lpszClassName = L"MainClass";
    wcx.cbSize = sizeof(wcx);
    wcx.style = CS_HREDRAW | CS_VREDRAW;
    wcx.hInstance = hinst;
    wcx.lpfnWndProc = MainWndProc;
    wcx.cbClsExtra = 0;
    wcx.cbWndExtra = 0;
    wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    wcx.lpszMenuName = NULL;
    wcx.hIconSm = (HICON)LoadImage( hInstance,
                                    MAKEINTRESOURCE(5),
                                    IMAGE_ICON,
                                    GetSystemMetrics(SM_CXSMICON),
                                    GetSystemMetrics(SM_CYSMICON),
                                    LR_DEFAULTCOLOR);
    //注册窗口类
    if (!RegisterClassEx(&wcx))
    {
        return 0;
    }
    //使用窗口类创建窗口
    HWND hWnd = CreateWindow(   L"MainClass",
                                L"ONDragon",
                                WS_OVERLAPPEDWINDOW,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                CW_USEDEFAULT,
                                NULL,
                                NULL,
                                hinst,
                                NULL);
    if (!hWnd)
    {
        return 0;
    }
    //显示窗口
    ShowWindow(hWnd,lpCmdShow);
    //立即显示窗口
    UpdateWindow(hWnd);
    while ( 0 != (getMessage = GetMessage(&msg,NULL,0,0)))
    {
        //传递个回调函数MainProc
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}

以上是关于Win32编程的主要内容,如果未能解决你的问题,请参考以下文章

Win32 网络编程模型

Win32 网络编程模型

什么是win32编程?

c#编程语言,win7下使用Kernel32的LoadLibrary方法载入DLL失败,如何解决?

python将文本转换成语音的代码

什么是win32编程