WINDWOS编程学习3:windwos HolleMessage程序说明

2024-06-12 11:18

本文主要是介绍WINDWOS编程学习3:windwos HolleMessage程序说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow){
MessageBox(NULL,TEXT("holle win10!"),TEXT("WINPGAM"),0);
return 0;


1:包含在c语言windows编程中需要的头文件

2:WINAPI:在WINDOWS编程学习1中解释过。WINAPI 是_stdcall的宏定义,是编译识别字

3:四个参数的意思:

HINSTANCE hInstance 类型名根据匈牙利命名法,H代表类型是句柄(handle)的意思 instance是实例的意思。实例句柄

HINSTANCE hPrevinstance 控制标识,以前如果hPrevInstance是0(NULL)表示此前这个应用程序还没有建立过任何实例,如果非零代表次应用程序建立过实例。:因为 实例建立的窗口类型是一样,所以窗口类登陆只需要进行一次,也就是说此参数不为0时就不需要再次进行窗口类登陆了,跳过窗口类登陆代码段。但是在32位编程中此概念 已经被抛弃,每创建一个实例,都需要窗口类登陆,建立窗口,即每个实例都有自己的代码段,数据段,这样虽然花费一些空间,但是给处理带来了很大的好处。

PSTR szCmdLine 是一个指向以‘\0’结尾的字符串的长指针32位,但是在我自己的64位 win10中地址是64位。,某些windows应用程序利用第三个指针指示的文件地址,在程序启 动时,将该文件 载入存储器。例如在上面那个程序,这个参数只有在调试时有内容(内容是此程序的\目录\程序文件名,目录并不完整)但是如果是双击打开就不会有任何显 示。

int iCmdShow 是指出的程序最初的显示的方式,可以是正常显示,最大化地充满整个画面的显示,或者是最小化的显示。

4:MessageBox()函数的说明

第一个参数:通常是窗口代号,它指示在哪个窗口中进行显示。

第二个参数:是在窗口中显示的字符串。

第三个参数:是窗口标题行上显示的字符串。

第四个参数:按钮的类型:这里是0也就是0x00000000L MB_OK 就只有一个OK按钮。

类似还有,MB_OKCANCEL,MB_YESNOCANCEL等等不同的按钮被按下后,会返回不同的值。这里的参数有的可以叠加。用 | 隔开。只要是不会在位上重叠的 参数都行。还可以添加例如,指出消息方块中图标等等。

参考书籍:Windows程序设计 杨祥金 杨丹李永新编著 1.7

这篇关于WINDWOS编程学习3:windwos HolleMessage程序说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1054065

相关文章

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C