<s id="mvh2b"><strike id="mvh2b"><u id="mvh2b"></u></strike></s>
    1. <rp id="mvh2b"></rp>

      当前位置:首页 > win7教程

      windows程序设计一 最简单的windows程序

      时间:2021-08-07 23:53:11来源:金橙教程网 作者:admin11 阅读:69次 [手机版]
       

      windows程序设计

      这里所指的windows程序是传统的win32应用程序,使用windows api编写.首先,先来看一个简单的例子:

      #include<Windows.h>
      int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpcmdLine, _In_ int nShowCmd)
      {
          MessageBox(NULL, L"Visual C++", L"窗口消息", 0);
          return 0;
      }

      这是一个最简单的windows程序,显示一个消息窗口

      这里写图片描述

      仔细看看,大家会发现这里有一个似曾相识的函数WinMain(),是不是和初学C++时的入口函数main()很相似呢。大家不难猜出它的作用,WinMain函数是wndows程序的入口函数,是所有windows程序的核心。

      WinMain前的WINAPI是一个宏定义,查看定义:

      这里写图片描述

      可以发现WINAPI其实就是__stdcall,__stdcall表示的是一种调用的约定,使编译器以windows兼容的方式来产生机器指令。此外,我们在图中可以看到CALLBACK,APIPRIVATE等具有和WINAPI相同的宏定义,因此,可以使用它们代替WINAPI。

      WinMain函数的参数中都用一个_In字段,表示的是需要我们自行输入参数,可以理解为宏。

      第一个参数hInstance,h表示的是handle即句柄,句柄是个什么东西呢?大家把它看作是程序的唯一标识就好了。就像我们有时候去超市,当我们存东西到储物柜时,储物柜会给我们一个号码,用来区分不同用户的存储信息。Instance是实例的意思,合起来就是实例句柄,hInstance就是一个数值,当一个程序在windows下运行时,它对应唯一一个运行实例。只有运行中的实例才能分配到实例句柄,一个程序可以运行多个实例,每个运行实例都可以分配到句柄。

      第二个参数hPreInstance也是实例句柄,但表示的是当前实例的上一个实例的实例句柄。win32环境下,该参数总为null。不起任何作用,但书写代码时还是要写出来。

      第三个参数LpCmdLine,它是LPSTR类型,LP表示指针,STR明显示字符串,LPSTR就是字符串指针,cmdLine表示命令行 LpCmdLine表示的一个以空终止的字符串,指定传递给程序的命令行参数实际上是命令行字符串的起始地址。

      第四个参数nShowCmd指的是窗口应该如何显示,是最大化,最小化还是隐藏等。

      接下来简单介绍一下MessageBox函数,首先还是查看定义:这里写图片描述

      MessageBox函数有两种形式,这里只讲第一种。

      In_opt :opt为option即可选,In_opt即为可选输入参数,当我们不想填任何信息时可以填NULL,

      第一个参数hWnd表示父窗口的句柄,即消息框所属窗口,当没有父窗口时设为NULL.

      第二个参数LPCSTR类型的lptext,表示一个以空结尾的字符串,消息框要显示的消息。实际上是字符串的起始地址。

      第三个参数LPCSTR类型lpCaption,表示一个以空结尾的字符串,消息框的标题。实际上是字符串的起始地址。

      第四个参数UINT类型的utype,表示是窗口的样式和显示图标的类型。

      相关阅读

      程序设计模式————编程模式

      设计模式的分类 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式

      结构化程序设计的优点

      ?????? 结构化程序设计的每种结构&#xff0c;只有一个入口和一个出口&#xff0c;这是结构化设计的一个原则。遵循结构化程序设

      面向对象程序设计方法概述

      &#xff08;1&#xff09;面向过程与面向对象的比较 面向过程程序设计方法&#xff08;C语言&#xff09; ?? 分析出要解决所需

      程序设计心得体会

      程序设计心得体会 一&#xff1a;前言经过一学期的学习&#xff0

      windows版微信怎么样?

      微信windows版正式发布,还有很多用户不知道windows版微信的使用效果怎么样?今天小编就为大家带来有关微信for windows功能评测的内

      分享到:

      相关操作系统

      系统相关知识

      电脑相关知识

      推荐文章

      热门文章

      东北老女人嫖老头视频_无遮挡H肉动漫视频在线观看_欧美牲交a欧美牲交aⅴ另类_狼人乱码无限2021芒果