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

📄 winmaintest1.cpp

📁 <Win2k系统编程>源码.次数为国人自编,内容丰富,还是不错的.
💻 CPP
字号:
#include "windows.h"
#include "stdio.h"
#include "resource.h"

LRESULT CALLBACK MyProc(HWND hWnd, UINT Msg, 
						WPARAM wParam,LPARAM lParam );

int PASCAL WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine,
				   int nCmdShow)
{
	
	WNDCLASS wndClass;
	
	wndClass.style=0;
	wndClass.lpfnWndProc	=(WNDPROC)MyProc;
	wndClass.cbClsExtra		=0;
	wndClass.cbWndExtra		=0; 
    wndClass.hInstance		=hInstance;
	wndClass.hIcon			=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1)); 
	wndClass.hCursor		=LoadCursor(hInstance,
										MAKEINTRESOURCE(IDC_CURSOR1)); 
//	wndClass.hCursor		=LoadCursor(NULL,IDC_NO);

	LOGBRUSH lgbr;
	lgbr.lbStyle	=BS_SOLID;
	lgbr.lbColor	=RGB(0,192,192);
	lgbr.lbHatch	=0;
	wndClass.hbrBackground	=CreateBrushIndirect(&lgbr);
//	wndClass.hbrBackground	=(HBRUSH) (COLOR_ACTIVECAPTION);
//	wndClass.hbrBackground	=(HBRUSH)GetStockObject(BLACK_BRUSH);

	wndClass.lpszMenuName	=NULL; 
    wndClass.lpszClassName	="MyProc";

	RegisterClass(&wndClass);

	HWND hWnd;
	hWnd=CreateWindow("MyProc","Windows内核编程与实例",
		WS_OVERLAPPEDWINDOW & ~WS_MAXIMIZEBOX &~WS_MINIMIZEBOX,
		CW_USEDEFAULT,0,
		CW_USEDEFAULT,0,
		NULL,NULL,hInstance,NULL);
	ShowWindow(hWnd,nCmdShow);
	UpdateWindow(hWnd);

	MSG msg;
	while(GetMessage(&msg,NULL,0,0))
	{
	    TranslateMessage(&msg);
	    DispatchMessage(&msg);
	}
	return true;
}


LRESULT CALLBACK MyProc( HWND hWnd,UINT Msg,
						WPARAM wParam, LPARAM lParam)
{
	switch(Msg)
	{
	case WM_CHAR:
		char str[10];
		sprintf(str,"char is %c",wParam);
	//	sprintf(str,"char is %d",wParam);
		MessageBox(hWnd,str,"MyProc",MB_OKCANCEL);
		break;

	case WM_LBUTTONDOWN:
		MessageBox(hWnd,"mouse click","MyProc",MB_OK);
		HDC hDC;
		hDC=GetWindowDC(hWnd);
		TextOut(hDC,20,100,"你信不信?",strlen("你信不信?"));
		ReleaseDC(hWnd,hDC);
		break;

	case WM_COMMAND:
		;
		break;

	case WM_CLOSE:
		if(IDOK==MessageBox(NULL,"你真的要走吗?","喂,喂!",MB_OKCANCEL))
		{
			DestroyWindow(hWnd);
		}
		break;	

	case WM_MOVING:
		RedrawWindow(hWnd,NULL,NULL,
					RDW_ERASE|RDW_INVALIDATE |RDW_ERASENOW );
		break;
	
	case WM_PAINT:
		PAINTSTRUCT ps;
		ps.fErase =0;
		hDC=BeginPaint(hWnd,&ps);
		TextOut(hDC,20,20,"知识就是力量:)",strlen("知识就是力量:)"));
		EndPaint(hWnd,&ps);
		break;

	case WM_DESTROY:
		PostQuitMessage(0);
		break;

	default:
		return(DefWindowProc(hWnd,Msg, wParam,lParam ));

	}
	return (0);
}

⌨️ 快捷键说明

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