#include "stdafx.h"
#include <windows.h>
#include <tchar.h>

//回调函数
LRESULT CALLBACK windowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    switch (msg)
    {
    case WM_SIZE:
        break;
    case WM_CLOSE:
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        break;
    }
    return DefWindowProc(hWnd, msg, wParam, lParam);
}

//    当前实例的指针(句柄)       上一个实例的指针(句柄) 命令行(给这个exe传递的信息)  是否显示窗口
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
    //1 注册窗口类
    ::WNDCLASSEXA winClass;
    winClass.lpszClassName ="Raster" ;//*
    winClass.cbSize = sizeof(::WNDCLASSEX);
    winClass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC | CS_DBLCLKS;
    winClass.lpfnWndProc = windowProc;//*回到函数的指针
    winClass.hInstance = hInstance;
    winClass.hIcon = 0;
    winClass.hIconSm = 0;
    winClass.hCursor = LoadCursor(NULL, IDC_ARROW);
    winClass.hbrBackground=(HBRUSH)(BLACK_BRUSH);
    winClass.lpszMenuName = NULL;
    winClass.cbClsExtra = 0;
    winClass.cbWndExtra = 0;

RegisterClassExA(&winClass);

//2 创建窗口

//返回的窗口句柄
    HWND hWnd = CreateWindowExA(
        NULL,
        "Raster",//更具注册的名称找到注册窗口类的数据
        "Raster",//窗口的标题
        WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,//窗口的风格
        0,//位置
        0,
        480,//宽高
        320,
        0,//菜单
        0,//父窗口
        hInstance,//句柄    
        0//用户自定义的变量
        );

UpdateWindow(hWnd);//更新窗口
    ShowWindow(hWnd, SW_SHOW);//显示窗口

//window 消息循环
    MSG msg = { 0 };
    while (true)
    {
        if (msg.message == WM_DESTROY
            || msg.message == WM_CLOSE
            || msg.message == WM_QUIT) 
        {
            break;
        }
        //从队列中查看是否有消息  消息在window中为数字 这是是设置消息的最大值,最小值,全是0,默认是所有
        if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
            TranslateMessage(&msg);//解释消息
            DispatchMessage((&msg));//分发消息
        }
    }

return 0;
}
如果这个异常提示:LNK2019    无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)"...

打开项目属性,找到C/C++  -->预处理器  -->预处理器定义   添加_WINDOWS

打开项目属性,找到连接器 -->系统  -->子系统  选择窗口(/SUBSYSTEM:WINDOWS)

C++创建windows窗口相关推荐

  1. 创建windows窗口并且获得窗口句柄

    创建windows窗口并且获得窗口句柄 代码 import win32gui from win32con import * import ctypes from ctypes import * def ...

  2. 【转】win32 的DLL中创建windows窗口

    转自:https://blog.51cto.com/wangyw/1071967 因工作需求,需要写一个DLL,并在其中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过都是基于MFC的 ...

  3. 创建windows 窗口

    在开始创建Windows窗口前我们先来了解下tkinter库及一些简单组件 tkinter(Tk interface)是Python的标准GUl库,支持跨平台的GUl程序开发.tkinter适合小型的 ...

  4. DirectX创建Windows窗口

    过程: WinMain 窗口类 -> 注册窗口类 创建窗口 -> 显示和更新窗口 消息循环 -> 窗口过程 #include <Windows.h>#define WIN ...

  5. 深入解析Windows窗口创建和消息分发

    Windows GUI采用基于事件驱动的编程模型,事实上几乎所有的界面库都是这样做的.在纯粹的Window32 SDK编程时代,人们还可以搞懂整个Windows窗体创建和消息的流通过程,但是在现在各种 ...

  6. Windows API 编程起始——创建一个窗口

    最初了解Windows api编程呢,就是先创建出一个最简洁的窗口,就如我们学习C/C++时的"Helloword"一样,这是进入windows编程大门的重要一个步,下面就开始吧. ...

  7. 【Windows编程】windows窗口创建过程详解

    文章目录 前言 1 应用程序的分类 2 应用程序分类的对比 3 编译工具 4 windows库文件和头文件 5 WinMain函数和MessageBox函数初始 6 窗口类 7 窗口类的分类 8 注册 ...

  8. python 隐藏进程_python在windows下创建隐藏窗口子进程的方法

    python在windows下创建隐藏窗口子进程的方法 发布于 2015-11-08 20:56:53 | 213 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一 ...

  9. Windows编程---使用C/C++语言创建一个窗口

    序言 记得刚学习C语言的时候,我还只能写出在"小黑框"里面运行的控制台程序.后来我了解到这种控制台程序属于命令行界面(CLI,Command-Line Interface),而我们 ...

最新文章

  1. vue 实践技巧合集
  2. ios purelayout--基础使用--进阶使用--看这就够了
  3. 自学MVC——添加一个控制器
  4. 大志非才不就,大才非学不成—博文资源汇总
  5. eclipse中文乱码解决_解决git status显示中文文件名乱码问题
  6. 树的存储结构-双亲表示法
  7. MySQL计算表行数_计算MySQL表中行数的最快方法?
  8. 云南林业计算机单招试题,2016年云南林业职业技术学院单招的模拟题含解析-.docx...
  9. 梯度下降和导数的作用
  10. Flask-SQLAlchemy一般方法总结
  11. VS code前端配置
  12. 等比缩放公式_CVPR2019 | 旷视提出MetaSR:单一模型实现超分辨率任意缩放因子
  13. 【射频识别技术】期末重点整理
  14. 用ReadyBoost提高Windows 7系统性能
  15. 可落地的DDD(5)-战术设计
  16. 主机宝linux版,主机宝linux版有什么用
  17. android 天气动画,为app制作炫酷天气动画 – WeatherView
  18. 火焰图(FlameGraph)的使用
  19. 【JavaWeb】9—监听器
  20. SpringBoot单元测试Mock静态方法

热门文章

  1. AppCan开发框架
  2. ping命令的常用参数
  3. VW和VH移动端布局
  4. CAS . . . .
  5. 你真的了解ELT和ETL吗?
  6. 查看Windows凭据存储密码的方法 2022亲测有效
  7. 网站QQ客服链接代码
  8. 学习人工智能需要哪些必备的数学基础?
  9. 全国马术场地障碍锦标赛
  10. Qt/C++ 数据库SQL 增删改查 语句示例