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 }