zoukankan      html  css  js  c++  java
  • 初探C++ win32 api——Hello world!

    win32 api 试水——Helloworld

    (可能是因为用的MingGW,会出现一些奇怪的问题比如MSDN的示例代码过不了编译之类的。。。。。)
    编译器版本:

    fig1

    #ifndef UNICODE
    #define UNICODE
    #endif
    #ifndef _UNICODE
    #define _UNICODE
    #endif
    
    #include <windows.h>
    
    HINSTANCE hInst;
    HWND hwndMain;
    WNDCLASS wcMain;
    
    LRESULT CALLBACK mainProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pCmdLine, INT nCmdShow) {
    	//隐藏命令行窗口
    	FreeConsole();
    
    	//句柄存成全局是因为有可能过程函数要用到
    	hInst = hInstance;
    
    	//设计窗口类
    	wcMain.hInstance = hInst;
    	wcMain.lpszClassName = L"MainWindow";
    	wcMain.lpfnWndProc = mainProc;
    
    	//注册窗口类
    	RegisterClass(&wcMain);
    
    	//创建窗口
    	hwndMain = CreateWindow(L"MainWindow", L"Main", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 700, 450, NULL, NULL, hInst, NULL);
    
    	//显示,更新窗口
    	ShowWindow(hwndMain, SW_SHOW);
    	UpdateWindow(hwndMain);
    
    	//消息循环
    	MSG msg;
    	while (GetMessage(&msg, NULL, 0, 0)) {
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    
    	return 0;
    }
    
    LRESULT CALLBACK mainProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    	switch (msg) {
    		case WM_KEYDOWN : { //任意键被按下时
    			if (wParam == VK_ESCAPE) SendMessage(hwnd, WM_CLOSE, NULL, NULL); //如果是ESC就关闭窗口
    			else MessageBox(NULL, L"Hello world!", L"Message", MB_OK); //否则弹出一个对话框
    			break;
    		}
    		case WM_DESTROY : {
    			PostQuitMessage(0); //发送WM_QUIT消息
    			break;
    		}
    		default : {
    			return DefWindowProc(hwnd, msg, wParam, lParam); //其它消息用默认方式处理
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    仿小米网jQuery全屏滚动插件fullPage.js
    如何让低版本的IE浏览器(IE6/IE7/IE8)支持HTML5 header等新标签
    javascript--烟火效果
    javascript--15条规则解析JavaScript对象布局(__proto__、prototype、constructor)
    javascript——集合类
    javascript——可以判断值的类型的函数
    ”拍平数组“
    自定义的分页插件
    那些年,我们一起被坑的H5音频
    javascript-处理XML
  • 原文地址:https://www.cnblogs.com/Rhein-E/p/14152366.html
Copyright © 2011-2022 走看看