01
#include <Windows.h>
#include “resource.h”

//
//typedef LONG_PTR LRESULT;
//LRESULT <=> LONG_PTR <=> long
//CALLBACK <=> __stdcall 回调函数

//第一个参数:窗口句柄

//第二个参数:消息编号
//UINT
//typedef unsigned int UINT;
//UINT <=> unsigned int

//第三个参数:附加信息
//WPARAM:
//typedef UINT_PTR WPARAM;
//typedef _W64 unsigned int UINT_PTR, *PUINT_PTR;
//WAPRAM <=> UINT <=> unsigned int

//第四个参数:附加信息
//LPARAM:
//typedef LONG_PTR LPARAM;//
//typedef _W64 long LONG_PTR, *PLONG_PTR;
//LPARAM <=> LONG <=> long

//窗口处理函数
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg , WPARAM wParam ,LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)
{
//流程
//1、设计窗口类
wchar_t szAppClassName[] = L"DKGuiFoundation";

WNDCLASS wc;
wc.style            = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;                //窗口类的风格
wc.lpfnWndProc      = WindowProc;                                      //窗口处理函数
wc.hbrBackground    = CreateSolidBrush(RGB(255,255,0));                    //窗口背景画刷 0->255, 0:最暗, 255:最亮
wc.cbClsExtra       = 0;                                               //窗口类额外扩展空间大小
wc.cbWndExtra       = 0;                                               //窗口额外扩展空间大小
wc.hCursor          = LoadCursor(hInstance, MAKEINTRESOURCE( IDC_CURSOR)); //光标句柄
wc.hIcon            = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MAIN));      //图标句柄
wc.hInstance        = hInstance;                                       //当前应用程序实例句柄
wc.lpszClassName    = szAppClassName;                                  //窗口类型名
wc.lpszMenuName     = NULL;                                                //菜单名//LoadCursor:如果是系统光标,第一个参数传递NULL,,如果是自定义资源,第一个参数传递hInstance
//LoadIcon:如果是系统图标,第一个参数传递NULL,,如果是自定义资源,第一个参数传递hInstance//2、注册窗口类
//  #define TRUE                1
//  #define FALSE               0
//ATOM//typedef WORD                ATOM;       //字
//typedef unsigned short      WORD;
//WORD <=> unsigned short//DWORD                                 //双字
//typedef unsigned long       DWORD;
//DWORD <=> unsigned longif (FALSE == RegisterClass(&wc))
{MessageBox(NULL, L"此程序不能运行在Windows NT上", L"温馨提示", MB_OK);return 0;
}//3、创建窗口
//HMENU
//LPVOID <=> void*
wchar_t szWindowTitle[] = L"这是我的第一个Windows窗口应用程序";
HWND hWnd = CreateWindow(szAppClassName,               //窗口类型名,一定要传递已经注册过了的类型名szWindowTitle,                //窗口的标题WS_CAPTION | WS_BORDER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU, //窗口的风格,WS:Window Style200,                     //窗口左上角横坐标100,                      //窗口左上角纵坐标800,                      //窗口的宽度600,                     //窗口的高度NULL,                        //父窗口句柄NULL,                        //菜单句柄hInstance,                    //当前应用程序实例句柄类型NULL                      //要传递的参数信息      );if (hWnd == NULL)
{MessageBox(NULL, L"创建窗口失败", L"温馨提示", MB_OK);return 0;
}//4、显示窗口
ShowWindow(hWnd, SW_SHOW);  //SW_HIDE:隐藏//5、更新窗口
UpdateWindow(hWnd);         //重新绘制一下界面//6、消息循环
/*
typedef struct tagMSG {
HWND        hwnd;                       //消息发出的窗口句柄
UINT        message;                    //消息编号
WPARAM      wParam;                     //消息附加信息
LPARAM      lParam;                     //消息附加信息
DWORD       time;                       //消息放入消息队列的时间
POINT       pt;                         //消息放入消息队列时候的鼠标坐标

#ifdef _MAC
DWORD lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

*///Windows的消息机制//GetMessage如果获取到了一个WM_QUIT ,退出消息, 返回0,结束循环MSG msg;
while (GetMessage(&msg, NULL, 0,0))
{//将消息分发给窗口处理函数,窗口处理函数对消息进行处理DispatchMessage(&msg);//将虚拟键消息转化为字符消息TranslateMessage(&msg);
}return 0;//退出

}

//窗口处理函数
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CLOSE://窗口关闭消息
DestroyWindow(hWnd);
break;
case WM_DESTROY://窗口消息消息
PostQuitMessage(0); //发出一个WM_QUIT消息
break;
}

return DefWindowProc(hWnd, uMsg,wParam,lParam);

}

windows 01相关推荐

  1. 视频教程-FFmpeg音视频开发实战6 iOS/Android/windows/Linux-其他

    FFmpeg音视频开发实战6 iOS/Android/windows/Linux 先后就职于德国BOSCH,iBabyLabs等企业担任架构设计师,主程, 精通嵌入式Linux,iOS,Android ...

  2. OV7725的帧率和PCLK寄存器设置

    一.OV7725的PCLK的改变和以下几个寄存器有关: 1:OX0D(COM4): ---------------------------------------------------------- ...

  3. 30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器)...

    得到原作者 Chris Craft 的同意,本人可以翻译他的系列文章 30 Days of .NET [Windows Mobile Applications]并在博客园里发表.这是一个十分趣味性很高 ...

  4. ORACLE 10.2.01升级10.2.05 for windows 详细文档

    最近要做一个数据库的升级工作,提前在自己的PC机上练习了一下,这种文档在网上很多,但是大多都是使用命令编辑脚本,其实数据库还有一个DBUA的升级工具可以使用,使升级工作方便了很多. OS环境:wind ...

  5. 【Windows必备软件】01 Groupy 实现你所有的窗口标签化管理

    [Windows必备软件]01 Groupy 实现你所有的窗口标签化管理 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志--苏轼 写在前面 本专栏是用于记录 Windows 上面的一些好用的软件,开 ...

  6. Windows 7 Ultimate Magic Key(更新至65枚)【2010.01.19、神KEY之后的疯狂】

    这个适用于Windows 7旗舰版的"激活密钥",尽管"面世"不到2个月的时间,但是已经有过直接联网激活系统取得"正版权益"的辉煌战绩. 其 ...

  7. 【OWA】01环境准备:通过Hyper-v创建Windows服务器

    前言 近期公司要求测试一下SharePoint 2019 OWA,基于OWA需要单独的Windows serve来安装和部署,接下来就通过Hyper-V来创建一台服务器吧 [OWA]01环境准备:通过 ...

  8. libreoffice 01 windows 版本编译

    01 基本信息 目前office开源版本主流是 libreoffice.其前身是openoffice. 官网:https://zh-cn.libreoffice.org/ wiki: https:// ...

  9. Windows Mobile开发总结 01

    http://www.cnblogs.com/peterzb/archive/2009/08/09/1542451.html Windows Mobile开发总结 Posted on 2009-08- ...

最新文章

  1. 如何让类对象只在栈(堆)上分配空间?(转)
  2. Hibernate关联查询
  3. spg app android,GitHub - spgwzp/AndEsptouch: esptouch for android ,ESP8266网关配对
  4. windows系统禁止更改服务启动类型_Win10系统关闭自动更新方法
  5. 响应式网格项目动画布局_响应式网格及其实际使用方式:常见的UI布局
  6. ASP.NET Core 3.x - 为什么采用新的 Endpoint Routing 路由系统
  7. 05设计模式——抽象工厂模式
  8. MyBatis获取参数值的两种方式以及传参情况
  9. 阿里云数据库RDS MySQL 物理全备文件数据恢复至自建数据库Mysql 5.7中
  10. 成为一名初级游戏策划
  11. Jar包的理解与应用
  12. 播布客里小布老师的所有视频收集
  13. ESP8266开启热点和TCP Server
  14. 股市一跌再跌,是在提醒我们什么?
  15. 2022“美亚杯”第八届中国电子数据取证大赛-团队赛题目
  16. 这些都是无轴螺旋输送机稳定运行的必要条件!
  17. 【SSL 协议介绍】
  18. 圣人与凡人 结束与解脱
  19. Audience Insights被下架后,Facebook广告定位的最佳替代方案
  20. 衢州计算机网络技术,衢州广播电视大学计算机网络技术专业_浙江报名_网络教育计算机网络技术专业教学计划_中国教育在线...

热门文章

  1. 压缩pdf怎么压缩又小又清晰?PDF压缩工具推荐
  2. 愿历经千帆,归来仍是少年
  3. 计算机等级考试进制转换,计算机各种进制转换练习题(附答案) .doc
  4. 读啄木鸟社区《可爱的python》
  5. mysql排列组合实现_排列-组合的代码实现
  6. tp6/thinkphp6如何接入微信授权openid
  7. NoSQL数据库笔谈转载
  8. 使用python检测图片上的色彩
  9. CRC16-CCITT 的算法
  10. DOM操作(增删改查)详解