• 哈哈哈


    #include <windows.h>
    
    LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
    {
    	static TCHAR szAppName[] = TEXT ("HelloWin") ;
    	HWND hwnd ;
    	MSG msg ;
    	WNDCLASS wndclass ;
    
    	wndclass.style = CS_HREDRAW | CS_VREDRAW ;
    	wndclass.lpfnWndProc = WndProc ;
    	wndclass.cbClsExtra = 0 ;
    	wndclass.cbWndExtra = 0 ;
    	wndclass.hInstance = hInstance ;
    	wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
    	wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
    	wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    	wndclass.lpszMenuName = NULL ;
    	wndclass.lpszClassName= szAppName ;
    
    	if (!RegisterClass (&wndclass))
    	{
    		MessageBox ( NULL, TEXT ("This program requires Windows NT!"),
    		szAppName, MB_ICONERROR) ;
    		return 0 ;
    	}
    
    	hwnd = CreateWindow( szAppName,		// window class name
    		TEXT ("病毒"),					// window caption
    		WS_OVERLAPPEDWINDOW,			// window style
    		CW_USEDEFAULT,					// initial x position
    		CW_USEDEFAULT,					// initial y position
    		CW_USEDEFAULT,					// initial x size
    		CW_USEDEFAULT,					// initial y size
    		NULL,							// parent window handle
    		NULL,							// window menu handle
    		hInstance,						// program instance handle
    		NULL) ;							// creation parameters
    
    	ShowWindow (hwnd, iCmdShow) ;
    	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)
    {
    	HDC hdc ;
    	PAINTSTRUCT ps ;
    	RECT rect ;
    	switch (message)
    	{
    		case WM_PAINT:
    			hdc = BeginPaint (hwnd, &ps) ;
    			GetClientRect (hwnd, &rect) ;
    			DrawText (hdc, TEXT ("我可以删除你的C盘吗?"), -1, &rect,
    			DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
    			EndPaint (hwnd, &ps) ;
    			return 0 ;
    
    		case WM_DESTROY:
    			PostQuitMessage (0) ;
    			return 0 ;
    	}
    	return DefWindowProc (hwnd, message, wParam, lParam) ;
    }
    

      

    #include <windows.h>
    #include <strsafe.h>
    
    //#define LINEHIGHT 15
    
    LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
    {
    	static TCHAR szAppName[] = TEXT ("HelloWin") ;
    	HWND hwnd ;
    	MSG msg ;
    	WNDCLASS wndclass ;
    
    	wndclass.style = CS_HREDRAW | CS_VREDRAW ;
    	wndclass.lpfnWndProc = WndProc ;
    	wndclass.cbClsExtra = 0 ;
    	wndclass.cbWndExtra = 0 ;
    	wndclass.hInstance = hInstance ;
    	wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
    	wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
    	wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH) ;
    	wndclass.lpszMenuName = NULL ;
    	wndclass.lpszClassName= szAppName ;
    
    	if (!RegisterClass (&wndclass))
    	{
    		MessageBox ( NULL, TEXT ("This program requires Windows NT!"),
    		szAppName, MB_ICONERROR) ;
    		return 0 ;
    	}
    
    	hwnd = CreateWindow( szAppName,		// window class name
    		TEXT ("病毒"),					// window caption
    		WS_OVERLAPPEDWINDOW,			// window style
    		CW_USEDEFAULT,					// initial x position
    		CW_USEDEFAULT,					// initial y position
    		CW_USEDEFAULT,					// initial x size
    		CW_USEDEFAULT,					// initial y size
    		NULL,							// parent window handle
    		NULL,							// window menu handle
    		hInstance,						// program instance handle
    		NULL) ;							// creation parameters
    
    	ShowWindow (hwnd, iCmdShow) ;
    	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)
    {
    	HDC hdc ;
    	PAINTSTRUCT ps ;
    	TCHAR szBuffer[128];
    	RECT rect;
    
    	///字符宽度
    	static int cxChar,cyChar;
    	size_t iTarget;
    	TEXTMETRIC tm;
    
    	///窗口宽度
    	static int cxClient,cyClient;
    	
    	
    
    	switch (message)
    	{
    		case WM_CREATE:			///获取字符宽度
    			hdc=GetDC(hwnd);
    			GetTextMetrics(hdc,&tm);
    			cxChar=tm.tmAveCharWidth;
    			cyChar=tm.tmHeight+tm.tmExternalLeading;
    			ReleaseDC(hwnd,hdc);
    		case WM_PAINT:
    			
    			hdc = BeginPaint (hwnd, &ps) ;
    
    			GetClientRect (hwnd, &rect) ;
    			cxClient=GetSystemMetrics(SM_CXSCREEN);
    			cyClient=GetSystemMetrics(SM_CYSCREEN);
    			StringCchPrintf(szBuffer,128,TEXT("分辨率 %d * %d"),cxClient,cyClient);
    			DrawText (hdc, szBuffer, -1, &rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
    
    			/**
    			for(int i=0;i<10;i++)
    			{
    				StringCchPrintf(szBuffer,128,TEXT("%d:%s"),i+1,TEXT("hello world"));
    				StringCchLength(szBuffer,128,&iTarget);
    				TextOut(hdc,cxChar,i*cyChar,szBuffer,iTarget);
    			}
    			*/
    
    			EndPaint (hwnd, &ps) ;
    			return 0 ;
    
    		case WM_RBUTTONDOWN:	///鼠标消息
    			MessageBox(NULL,TEXT("我被按了一下"),TEXT("ORZ"),MB_OK);
    			return 0;
    		
    		case WM_CLOSE:			///点击关闭的消息
    			if(MessageBox(hwnd,TEXT("请问是否关闭我"),TEXT("ORZ"),MB_YESNO)==IDYES)
    			{
    				DestroyWindow(hwnd);
    			}
    			else{
    				return 0 ;
    			}
    
    		case WM_DESTROY:		///摧毁窗口消息
    			PostQuitMessage (0) ;
    			
    	}
    	return DefWindowProc (hwnd, message, wParam, lParam) ;
    }
    

      

  • 相关阅读:
    Java设计模式
    一个接口多个实现类的Spring注入方式
    Mybatis 中的<![CDATA[ ]]>浅析
    方法内调另一个方法(事务)的探讨
    insertSql语句中的trim标签的使用
    Mybatis-plus的两种分页插件的配置方式
    Mybatis-plus的使用
    spring的IOC,DI及案例详解
    MySQL多表关联数据同时删除
    @Validated和@Valid区别
  • 原文地址:https://www.cnblogs.com/Q1143316492/p/6951231.html
Copyright © 2020-2023  润新知