//#include <Windows.h>
//void registerMyWndclass(HINSTANCE hInstance);
//LRESULT CALLBACK winProc(HWND hWnd,UINT msg,WPARAM wParam, LPARAM lParam);
//
//int APIENTRY WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd )
//{
// registerMyWndclass(hInstance);
// HWND hWnd=CreateWindow("YW","mywindow",WS_OVERLAPPEDWINDOW,100,100,640,480,NULL,NULL,hInstance,NULL);
// if(hWnd)
// {
// ShowWindow(hWnd,SW_NORMAL);
// UpdateWindow(hWnd);
// }
// MSG msg;
// while(GetMessage(&msg,NULL,0,0))
// {
// TranslateMessage(&msg);
// DispatchMessage(&msg);
// }
// return 0;
//}
//void registerMyWndclass(HINSTANCE hInstance)
//{
// WNDCLASSEX* wc=new WNDCLASSEX;
// wc->cbClsExtra=NULL;
// wc->cbSize=sizeof(WNDCLASSEX);
// wc->cbWndExtra=NULL;
// wc->hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
// wc->hCursor=LoadCursor(NULL,IDC_ARROW);
// wc->hIcon=LoadIcon(NULL,IDI_WINLOGO);
// wc->hIconSm=NULL;
// wc->hInstance=hInstance;
// wc->lpfnWndProc=winProc;
// wc->lpszMenuName=NULL;
// wc->lpszClassName="MYWINDOW";
// wc->style=CS_HREDRAW |CS_VREDRAW;
// RegisterClassEx(wc);
//}
//LRESULT CALLBACK winProc(HWND hWnd,UINT msg,WPARAM wParam, LPARAM lParam)
//{
// switch(msg)
// {
// case WM_DESTROY:
// PostQuitMessage(0);
// return 0;
// ///...more case statement
//
// default:
// break;
// }
// return DefWindowProc(hWnd,msg,wParam,lParam);
//}
//#include "stdafx.h"
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance, //应用程序的实例句柄,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, //命令行
int nCmdShow) //显示方式
{
MSG msg;
HWND hWnd;
char szTitle[]="系统信息"; // The title bar text
char szWindowClass[]="popMsg"; // The title bar text
WNDCLASSEX wcex={0};
wcex.cbSize = sizeof(WNDCLASSEX); //WNDCLASSEX结构体大小
wcex.style = CS_HREDRAW | CS_VREDRAW; //位置改变时重绘
wcex.lpfnWndProc = (WNDPROC)WndProc; //消息处理函数
wcex.hInstance = 0; //当前实例句柄
wcex.hbrBackground = (HBRUSH)COLOR_WINDOWFRAME; //背景色
wcex.lpszClassName = szWindowClass; //参窗口类名
wcex.hIcon =0; //图标
wcex.hCursor =LoadCursor(NULL, IDC_ARROW); //光标
wcex.lpszMenuName =0; //菜单名称
wcex.hIconSm =0; //最小化图标
RegisterClassEx(&wcex); //注册窗口类
hWnd = CreateWindow(szWindowClass, szTitle, WS_SYSMENU|WS_VISIBLE, //创建窗口
CW_USEDEFAULT,CW_USEDEFAULT, 640, 480, NULL, NULL, 0, NULL);
if (!hWnd){
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
while (GetMessage(&msg, NULL, 0, 0)) // 消息循环:
{
TranslateMessage(&msg); //转化虚拟按键到字符消息
DispatchMessage(&msg); //分派消息调用回调函数
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rect;
switch (message)
{
case WM_PAINT: //重绘消息
hdc = BeginPaint(hWnd, &ps);
GetClientRect(hWnd, &rect);
MoveToEx(hdc,10,10,0);
SelectObject( hdc,::CreatePen(PS_SOLID,1,RGB(0,0,255)));
LineTo(hdc,300,200);
Rectangle(hdc,150,150,400,400);
// DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
case WM_CREATE:
RegisterHotKey(hWnd ,1, 0 ,0x41 );
break;
case WM_HOTKEY:
MessageBox(0,0,0,0);
break;
case WM_TIMER:
break;
case WM_DESTROY: //窗口销毁消息
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}