win32概述

win32基于已有的框架 有意入口函数只有一个

都需要有一个主函数 所有程序的入口都是maincrtstartup

tydedef 顾名思义

window是基于c,c++ 又想有自己所特有的数据类型 所以在C,C++的类型基础上做了重定义
1.区别c语言没有顾名思义
2.封装信息

特性 :
1.如果没有讲过 先转定义看类型
2.大写H开头 在win32里面讲句柄
3.LP,P开头在win32里面表示指针
4.windows里面数据类型全都是大写 但同时windows是基于C,C++的数据类型

程序中两种字符集的表现 多字节和宽字节 以及通配字符集

window没有音乐播放 只是安装了一个默认的音乐播放器

学会运用windows编程 编写播放音乐

以上代码如下实现

 1 //逻辑部分 显式部分
 2 #include<Windows.h>
 3 #pragma comment(lib,"Winmm.lib")//库文件 动态库或静态库
 4 //windows的入口函数 WinMain
 5 int WinMain(_In_ HINSTANCE hInstance,//应用程序使用句柄
 6     _In_opt_ HINSTANCE hPrevInstance,//父应用程序实例句柄(现版本为null)
 7     _In_ LPSTR lpCmdLine,//命令行参数
 8     _In_ int nShowCmd)//窗口显示方式
 9 {
10     MessageBoxA(nullptr,//窗口句柄
11         "abc",//消息盒子文本内容
12         "123",//消息盒子标题
13         MB_YESNOCANCEL|MB_ICONWARNING//消息盒子的类型        
14         );
15     //windows是基于c语言c++的又想有自己的数据类型 所以在c/c++基础上做了冲定义
16     //多字节
17     char c = 'a';
18     char *pc = "abc";//多字节字符串
19         //pc = &c;
20         int m = strlen(pc);//多字节求长度
21         //宽字节
22         wchar_t wc = 'a';//宽字节字符
23     wchar_t *pwc = L"ABCD";//宽字节字符串
24     m = wcslen(pwc);//宽字节求长度
25     //通配字符集表现
26     TCHAR tc = 'a';//可以根据自己的需求改变字节类型
27     TCHAR *ptc = _T("abc");//_T()带参宏
28     _tcslen(ptc);
29     //1.可以不管项目中使用的字符集 可以自行设定固定的类型去表现字符或者字符串,char或wchar_t
30     //2.可以统一使用字符的通配类型
31     //wav音乐播放
32     PlaySound(_T(""),//文件路径名,相对路径
33         nullptr,//应用程序实列句柄
34         SND_LOOP | SND_FILENAME | SND_ASYNC//文件操作模式
35         //SND_LOOP 循环 SND_FILENAME 指定文件 SND_ASYNC 异步
36         );
37     //mp3音乐播放
38     mciSendString(_T("....mp3 alias abc"),//打开一个*.mp3的文件 alias取别名叫abc
39         nullptr,//接受信息的缓存区,null表示不接受信息
40         0,//第二个参数的内存大小
41         nullptr);//回调函数的窗口句柄
42     mciSendString(_T("play abc"), 0, 0, 0);
43     MessageBox(0, 0, 0, 0);//类似于getchar()因为windows编程里不能用
44 
45     return 0;
46 }
原文地址:https://www.cnblogs.com/liugangjiayou/p/11403440.html