windows API程序设计入门(简单练习)

目录

  • windows API程序设计入门(简单练习)
  • 窗口过程函数
    • 用绘图工具输出输出hello world!
  • 定义窗口主函数
    • 设计窗口类
    • 注册窗口类
    • 创建窗口
    • 显示窗口
    • 更新窗口
    • 消息循环
  • 总结

窗口过程函数


#include <windows.h>
LRESULT CALLBACK windowProc(HWND hwnd, UINT uMsg,   WPARAM wParam, LPARAM lParam
)
{

用绘图工具输出输出hello world!

 PAINTSTRUCT ps;HDC hdc = BeginPaint(hWnd, &ps); TCHAR * p = L"Hello World!"; TextOutW(hdc, 0, 0, p, wcslen(p));EndPaint(hWnd, &ps);return DefWindowProc(hWnd, uMsg, wParam, lParam);
}

定义窗口主函数

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow
) {

设计窗口类

 WNDCLASS wc;wc.cbClsExtra = 0; //类的附加信息wc.cbWndExtra = 0; //窗口附加信息wc.hbrBackground = CreateSolidBrush(RGB(255, 255, 255)); //背景wc.hCursor = LoadCursor(NULL, IDC_HAND); //加载系统默认光标wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //加载系统默认图标wc.hInstance = hInstance; //传递给MyRegisterClass的hInstance参数值wc.lpfnWndProc = windowProc; //窗口过程函数名字,消息处理函数wc.lpszClassName = TEXT("temp_text"); //类的名字wc.lpszMenuName = NULL; //菜单名字wc.style = CS_HREDRAW | CS_VREDRAW;; //显示风格

注册窗口类

 RegisterClass(&wc);

创建窗口

 HWND hwnd = CreateWindow("temp_text",            //类名"window_name",            //标题WS_OVERLAPPEDWINDOW,    //外观样式400,                  //x坐标400,                   //y坐标400,                   //宽度500,                    //高度NULL,                   //父窗口句柄NULL,                    //菜单句柄hInstance,                //应用程序的实例句柄NULL);                   //附加数据

显示窗口

 ShowWindow(hwnd, SW_SHOWNORMAL);

更新窗口

 UpdateWindow(hwnd);

消息循环

 MSG msg;while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
}

效果如下:

完!

总结

勤能补拙

windows API程序设计入门(简单练习)相关推荐

  1. Windows API程序设计入门(新手的第一个Windows程序)

    Windows API程序设计入门 一.实验目的 二.实验工具 三.参考资料 四.步骤 五.代码分析 六.运行效果 七.补充 一.实验目的 了解 windows操作系统应用程序开发的基本概念,win3 ...

  2. Windows API 程序设计入门

    目录 目的: 最初了解Windows API编程,从创建窗口开始,步骤: 具体代码如下: 运行结果 目的: 1.了解Windows操作系统程序开发的基本概念,win32API函数.消息与事件驱动: 2 ...

  3. 用Windows API 编写的简单贪吃蛇游戏

    一.基础知识笔记 <1. COORD结构体,是Windows API中定义的一种结构体,用于在控制台屏幕上定位一个字符的坐标. <2.句柄,是整个windows编程的基础,一个句柄是指使用 ...

  4. 算法与程序设计_算法与程序设计入门-简单计算题1

    在这里我们直接把题目抽离成顶点和边来描述,就不贴原题以避免引起不必要的解释. 问题描述:现在有一个简单无向图,且每个顶点最多与其他顶点之间连接m条边,现在有n个顶点,问最多能在各顶点之间连接多少条边? ...

  5. 报表引擎API开发入门—简单程序数据集

    小编最近接的项目是有关报表开发的,很想把这部分知识分享出来.希望大家能够支持我!不多说,马上进入我们今天的话题. API基本知识 小编最近项目所做的是关于一个报表软件-FineReport报表开发的一 ...

  6. windows api学习笔记-简单的记事本

    #include <windows.h> #include "resource.h" #include <string>LRESULT CALLBACK M ...

  7. 报表引擎API开发入门— EJB程序数据源

    2019独角兽企业重金招聘Python工程师标准>>> 我们前面讲了几个数据源,今天我们来讲一下EJB数据源,这篇讲完我们数据源这部分就讲完了.数据连接不需要直接访问数据库,而是使用 ...

  8. Windows程序设计入门教程[来自邪恶八进制信息安全团队(www.eviloctal.com)]

    Windows程序设计入门教程 前骤: 1.第一个windows程序: 先讲几个专有名词:HINSTANCE 由handle(句柄)和instance(实例) 句柄,类似于C中的指针,指向资源,是资源 ...

  9. C++ WINDOWS API 第1章 Windows 应用程序开发入门

    目录 1.1       第一个实例程序.. 1 1.1.1       start.exe. 1 1.1.2       Windows API 2 1.1.3       程序入口函数.. 2 1 ...

最新文章

  1. 与大佬零距离交流,在行业报告留名,智源社区招募兼职编辑!
  2. EXE4J(Windows Launcher Generator)——EXE4J概述、下载以及使用
  3. sqlserver tds协议学习_数据安全交换协议来了,或将推动AI大步迈向3.0时代
  4. OpenCV学习笔记二
  5. python结课设计力学方面_我对力学教案的评价
  6. mysql的sql经典写法收录
  7. hadoop在ubuntu上的安装流程
  8. interlib系统服务器,Interlib图书馆集群管理系统.docx
  9. Android SDK的下载与安装(包会)
  10. PYTHON语言开发公司工资条通知短信
  11. 企业微信sdk调用,通过手机号或微信好友添加客户
  12. hive运行报错Error during job, obtaining debugging information..FAILED: Execution Error, return code 2
  13. 解决idea翻译插件translation无法使用问题
  14. 关于华为pad没有出来直播的经验
  15. 期货反向跟单犯法吗?
  16. 当AD(Altium Designer)画PCB时Ctrl+H快捷键无法选中连线时的解决办法
  17. PS亮度蒙版工具:Lumenzia for Mac(支持ps2022)
  18. [ERROR:0] global /build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp (2791) open VIDEOIO/FFMPEG: F
  19. 订单(一)——准备订单数据
  20. js中字符串截取函数及其方法

热门文章

  1. 科普|“CID”使IPFS和Filecoin在存储方面的作用
  2. Struts2的资源文件和国际化(i18n)
  3. 免堆期由谁申请_什么是免箱期 什么是免堆期
  4. 阿里云PAI将神经机器翻译训练效率提升5倍
  5. Adobe Acrobat Pro 2023(Acrobat2023)安装包下载及安装教程
  6. Python-csv文件打开、csv文件保存和csv文件删除行信息
  7. Zotero注释的PDF连同注释一起导出?
  8. 哪里能下载到免费使用的PDF转换器
  9. Linux下dota2启动失败解决办法
  10. centOS安装dock