Win32是Windows桌面程序得最简单得框架.
1.包含Windows.h
2.注意主函数不一样
3.基本框架代码
3.1.注册窗口类;
3.2.创建窗口并显示窗口
3.3.消息循环框架
3.4.在窗口过程函数中写基本功能;
#include<Windows.h>
#include"resource.h"
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInst,LPSTR CmdLine,int nCmd)
{
HACCEL haccel = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR1));
MSG msg;
WNDCLASSEX wce;
wce.cbSize = sizeof(WNDCLASSEX);
wce.cbClsExtra = 0;
wce.cbWndExtra = 0;
wce.hInstance = hInstance;
wce.lpfnWndProc = WndProc;
wce.lpszClassName = L"tcp";
wce.lpszMenuName = 0;
wce.hbrBackground = WHITE_BRUSH;
wce.style = CS_HREDRAW | CS_VREDRAW;
wce.hCursor = LoadCursor(0, IDC_ARROW);
wce.hIcon = LoadIcon(0, IDI_APPLICATION);
wce.hIconSm = 0;
if (RegisterClassEx(&wce)==0)
MessageBox(0,L"注册窗口类失败",L"Error",MB_ICONSTOP);
//FindWindow
HWND hwnd = CreateWindow(L"tcp", L"PortScan", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, 0, 0, hInstance, 0);
ShowWindow(hwnd, nCmd);
UpdateWindow(hwnd);
//MoveWindow
while (GetMessage(&msg, 0, 0, 0))
{
if (!TranslateAccelerator(hwnd, haccel, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return msg.wParam;
}