zoukankan      html  css  js  c++  java
  • 最简单的一个win32程序

    #include <windows.h>
    
    HINSTANCE g_hInst = NULL;
    
    //2 窗口处理函数
    LRESULT CALLBACK WndProc( HWND hWnd, 
    						 UINT nMsg, 
    						 WPARAM wParam,
    						 LPARAM lParam )
    {
    	//判断消息ID
    	switch( nMsg )
    	{
    	case WM_DESTROY: //窗口销毁的消息
    		PostQuitMessage( 0 ); //发送退出消息
    		return 0;
    	}
    	//调用缺省的消息处理程序
    	return DefWindowProc( hWnd, nMsg, 
    		wParam, lParam );                   
    }
    
    //3 注册窗口类型
    BOOL MyRegister( LPSTR pszClassName )
    {
    	WNDCLASS wc = {0};
    	ATOM  nAtom = 0;
    	//构造注册窗口的参数
    	wc.style         = CS_VREDRAW|CS_HREDRAW;
    	wc.lpfnWndProc   = WndProc;
    	wc.cbClsExtra    = 0;
    	wc.cbWndExtra    = 0;
    	wc.hInstance     = g_hInst;
    	wc.hIcon         = NULL;
    	wc.hCursor       = NULL;
    	wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE);
    	wc.lpszMenuName  = NULL;
    	wc.lpszClassName = pszClassName;
    	//注册窗口
    	nAtom = RegisterClass( &wc );
    	if( 0 == nAtom )
    	{
    		MessageBox( NULL, "Register Failed",
    			"Error", MB_OK|MB_ICONWARNING );
    		return FALSE;
    	}
    	return TRUE;
    }
    
    //4 窗口创建
    HWND MyCreate( LPSTR pszClassName )
    {
    	HWND hWnd = NULL;
    	//创建窗口
    	hWnd = CreateWindow( pszClassName, 
    		"HelloWnd", /*WS_OVERLAPPEDWINDOW*/WS_POPUP,
    		0, 0, 800, 600, NULL, NULL,
    		g_hInst,    NULL );
    	if( NULL == hWnd )
    	{
    		MessageBox( NULL, "CreateWnd Failed", 
    			"Error", MB_OK );
    		return NULL;
    	}
    
    
    	return hWnd;
    }
    
    //5 显示窗口
    void DisplayWnd( HWND hWnd )
    {
    	//显示
    	ShowWindow( hWnd, SW_SHOW );
    	//刷新
    	UpdateWindow( hWnd );
    }
    //6 消息处理
    void Message( )
    {
    	MSG msg = { 0 };
    	//消息循环处理,获取消息
    	while( GetMessage( &msg, NULL, 0, 0 ) )
    	{
    		//派发消息
    		DispatchMessage( &msg );
    	}
    }
    //1 入口函数
    int WINAPI WinMain( HINSTANCE hInst,
    				   HINSTANCE hPrevInst,
    				   LPSTR pszCmdLine,
    				   int   nShowCmd )
    {
    	HWND hWnd = NULL;
    	g_hInst = hInst;
    	//注册窗口类型
    	MyRegister( "MyWnd" );
    	//创建注册类型的窗口
    	hWnd = MyCreate( "MyWnd" );
    	//显示窗口
    	DisplayWnd( hWnd );
    	//消息处理
    	Message( );
    	return 0;
    }

  • 相关阅读:
    xpath的几个常用规则
    xpath定位不到原因浅析
    这一代人得学习
    scrapy之Request对象
    cookie字段属性解析
    selenium中get_cookies()和add_cookie()的用法
    python中生成器generator
    swagger demo code
    ctrip-apollo
    eclipse 快捷键使用日志
  • 原文地址:https://www.cnblogs.com/luoyinjie/p/7219376.html
Copyright © 2011-2022 走看看