QQ登录

只需一步,快速开始

搜索
查看: 516|回复: 7

[学习笔记] 《Windows程序设计(SDK编程)》001讲

[复制链接]
最佳答案
0 
累计签到:33 天
连续签到:1 天
发表于 2017-6-6 17:16:44 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 a1239750460 于 2017-6-6 20:39 编辑

第一讲介绍了入口函数与MessageBox这个API函数。
Win32程序的入口函数不再是 main函数了,而是WinMain函数,头文件要添加#include<windows.h>,他的函数声明如下:
  1. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevIndstance, PSTR szCmdLince, int iCmdShow)
  2. {
  3.         return 0;
  4. }
复制代码



里面的参数是什么意思视频里没有讲,但我们根据匈牙利命名法可以知道hInstance与hPrevIndstance中的h表示 句柄,
szCmdLince中的sz表示 以0结尾的字符串,iCmdShow中的i表示 整型。

WINAPI是约定的函数的返回方式


MessageBox的使用:
  1. #include<windows.h>

  2. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLince, int iCmdShow)
  3. {
  4.        MessageBox(NULL,TEXT("这是我在鱼C学习的第一个程序"),TEXT("打招呼"),MB_OK);
  5.        return 0;
  6. }
复制代码


MessageBox有四个参数,第一个是传入一个句柄,这个指向NULL就是不使用它,第二个是消息框显示的内容,第三个是标题,第四个参数是按钮。
第四个参数是一个宏定义,我们可以转到定义查看:
  1. #define MB_OK                       0x00000000L
  2. #define MB_OKCANCEL                 0x00000001L
  3. #define MB_ABORTRETRYIGNORE         0x00000002L
  4. #define MB_YESNOCANCEL              0x00000003L
  5. #define MB_YESNO                    0x00000004L
  6. #define MB_RETRYCANCEL              0x00000005L
  7. #if(WINVER >= 0x0500)
  8. #define MB_CANCELTRYCONTINUE        0x00000006L
复制代码


可以看到MB_OK 是0,所以把MB_OK改为0也是可以运行的。当然,也可以改成1,2,3这些。

下面这些是我对课后题动动手的一些理解
游客,如果您要查看本帖隐藏内容请回复

我也不知道我的理解有没有错误,如果有的话,请告诉我,毕竟我也是个新手,才刚学习,不然理解错了,以后就是一直错上加错了,所以错了请一定要告诉我,感激不尽。

隐藏课后题的原因是因为如果有跟我一样的新手还没有先动手做就看到了答案,那么小甲鱼老师的课后题就感觉白白布置了。
让我们一起共勉吧

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
小甲鱼 + 5 + 5 热爱鱼C^_^

查看全部评分

本帖被以下淘专辑推荐:

1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:146 天
连续签到:1 天
发表于 2017-6-7 19:03:55 | 显示全部楼层
看看,你要每看一讲 这边一更新吗?
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:33 天
连续签到:1 天
 楼主| 发表于 2017-6-8 09:10:49 | 显示全部楼层
xls6688 发表于 2017-6-7 19:03
看看,你要每看一讲 这边一更新吗?

一开始是有这个打算的,但是要毕业了,还要找工作,可能没时间,就打算等有时间在做笔记了
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
152 
累计签到:2207 天
连续签到:15 天
发表于 2017-6-8 23:24:56 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:1 天
连续签到:1 天
发表于 2017-6-9 00:36:28 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 

尚未签到

发表于 2017-6-30 13:25:55 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:7 天
连续签到:4 天
发表于 2017-7-4 11:00:49 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:10 天
连续签到:1 天
发表于 2017-8-2 10:52:49 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋手机版Archiver( 粤公网安备 44051102000370号 | 粤ICP备11014136号

© 2010-2017 FishC.com GMT+8, 2017-10-17 15:41 Powered by Discuz! X2.5 Theme by dreambred

快速回复 返回顶部 返回列表