第一个windows程序:
首先建立一个win32 application。对于二者的区别可以参见博客《Hey,别搞错了Win32项目和Win32控制台程序》

main函数我们都很熟悉,而且许多程序员更加倾向于main函数也应该有个明确的返回值。
windows程序的winmain函数与main函数有相同的组成部分,即include语句、程序入口、函数调用、以及return语句。

#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{MessageBox(NULL, TEXT("Hello, Windows 98!"), TEXT("HelloMsg"), 0);return 0;
}

WinMain函数的返回值被定义为int。
WINDEF.H中以下语句来定义WINAPI标识符:

#define WINAPI _stdcall

这条语句规定了一种函数调用约定,表示如何生成在堆栈中放置函数调用参数的机器代码。绝大多数windows函数调用都定义成WINAPI。

WinMain的第一个参数叫做实例句柄。在windows程序中,句柄无非就是一个数值,程序里用它来标识某些东西。

早期的windows版本中,当多路并发运行同一个程序时,就需要为这个程序创建多个实例。同一程序的所有实例都共享代码以及只读存储。一个程序可以通过查看hPrevInstance参数从而知道是否有它的其他实例在运行。但是在32位的windows系统中,这一概念已经不再采用。因此,

WinMain的第二个参数通常定义为NULL。

WinMain的第三个参数用来运行程序的命令行

WinMain的第四个参数用来指明程序最初如何显示:或正常显示,或最大化到全屏。

MessageBox函数
MessageBox函数是用来显示短信息的。尽管形式比较单一,MessageBox所显示的小小窗口实际上也是一个对话框。

MessageBox的第一个参数通常是一个窗口句柄。
MessageBox的第二个参数就是要将在信息框里出现的文本字符串。
MessageBox的第三个参数是将要在标题栏上显示的文本字符串。
MessageBox的第四个参数是以MB_打头的一些常量的组合。

Windows程序设计--起步相关推荐

  1. Windows程序设计学习笔记(1):一个简单的windows程序

    <Windows程序设计>(第五版)(美Charles Petzold著) 1 #include<windows.h> 2 3 LRESULT CALLBACK WndProc ...

  2. Windows程序设计------字体不等宽引出的问题及其细节知识

    在写Windows程序设计的Typer程序时,我并不是在每一个使用HDC的地方都重新创建选中字体,而是在一开始选中之后,就没有再删除它,代码如图: 结果我的字体不是等宽字体! 起先我以为是没有设置WM ...

  3. Windows程序设计“圣经”

    Windows程序设计"圣经" 十年依旧畅销不衰的神品 传奇大师带你走入Windows编程圣殿 "Windows程序设计最举足轻重的书当然就是Charles Petzol ...

  4. 侯捷:搞Windows程序设计我们需要啥

    侯捷:搞Windows程序设计我们需要啥 如果你是一位资深的Windows程序员,相信你对Jeffrey Richter一定不会陌生,是不是有些崇拜和景仰?如果你是一位刚涉足这个领域的Windows程 ...

  5. Windows程序设计之创建窗口示例

    Windows程序设计书本上的创建窗口示例,手敲代码,拿出了show,记录一下而已~~~ 一.代码如下: #include <tchar.h> #include <windows.h ...

  6. c语言lnk1168无法打开exe,跪求大佬帮帮看看LINK : fatal error LNK1168: 无法打开 F:\windows程序设计\窗口\......

    马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 运行的结果显示是这样: 1>------ 已启动生成: 项目: 窗口, 配置: Debug W ...

  7. createprocess重启程序_C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动 - phpStudy...

    VC程序设计中CreateProcess用法注意事项 对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess.这里仅对Create ...

  8. windows程序设计.第一个windos程序

    Windows程序设计(第5版) windows程序需要调用API. 第一个Windows程序 1 /*HelloMsg.c -- Displays "Hello World!" ...

  9. [渝粤教育] 中国地质大学 Windows程序设计 复习题 (2)

    <Windows程序设计>模拟题 一单选题 1.所有的Windows应用程序都是由()驱动的. A.事件 B.消息 C.命令 D.菜单 2.一般应用程序不会派生自己的()类. A.主框架 ...

  10. MATLAB飞机大战第二版,windows程序设计——飞机大战札记(单文档文件登陆界面)...

    windows程序设计--飞机大战笔记(单文档文件登陆界面) //2015/07/21 /by xbw/// /环境 VS 2013 飞机大战做的差不多了,闲来无事加点高大上的东西,关于单文档的登陆界 ...

最新文章

  1. 二叉树的先序线索化、中序线索化、后序线索化的对比
  2. 网易模板html,163企业邮箱HTML网站模板
  3. 2021,我在枯燥乏味中寻找坚持下去的理由
  4. matlab 创建图形对象,创建坐标轴图形对象
  5. Java打印菱形源码及介绍
  6. FastJson之autotype bypass
  7. 利用抓包工具分析数据帧具体内容
  8. java+s2sh+mysql报刊订阅系统系统
  9. Mac finder 文件剪切方法 怎么剪切/移动 剪切快捷键
  10. Your IP address is spelled incorrectly问题排查
  11. Android 壁纸设置和确认
  12. Python之禅及其翻译
  13. BTT、BZZ、IPFS都是分布式存储那到底有何区别?一文读懂
  14. 像素与照片尺寸、分辨率之间的关系
  15. [102]python写日志
  16. 撸代码更有劲了(这应该算是福利吧)
  17. 2022/10/16 指针习题 各种练习题
  18. 在阿里云云服务器上发布自己的网站(建站|详细)
  19. java公路车几何有问题_教你读懂公路车架几何
  20. VMware vsan群集开启EVC

热门文章

  1. python 读xml_python读取xml文件
  2. 如何用python处理图片_用Python简单处理图片
  3. c语言中有123f,C语言库函数(S类字母) - 3
  4. CMU 15-213 Introduction to Computer Systems学习笔记(22) Synchronization: Advanced
  5. php中js中文传值乱码,php解析JSON中文乱码问题的解决方法
  6. shellcode之简单的栈溢出实验
  7. 字符串的迷之算法——KMP,AC自动机,后缀数组
  8. VS中卸载当前的EF版本命令
  9. 各种格式ANSI,UTF8,Unicode,Unicode BigEndian的解释
  10. docker及入门使用(centos7.6)