Win32学习 第一天 Win32概述

一、windows是基于C/C++,但又想有自己所特有的数据类型,在C/C++的基础上做了重定义,
1、已区别C语言;2、顾名思义
1、H开头,在Win32里面叫句柄(无类型指针)
2、P, LP开头,在Win32里面叫指针
3、没有讲过,先转定义看
4、windows的数据类型都是大写
int WINAPI WinMain(HINSTANCE hInstance,//实例句柄(指向一个实例的无类型指针)
HINSTANCE hPrevInstance,//父实例句柄(并没什么用)
LPSTR lpCmdLine,//命令行
int nShowCmd)//窗口显示方式

二、字符集 字符的编码 ascii gb_2312
1、unicode宽字节字符集 固定两个字节
多字节字符集 多个字节,如果是英文就是一个字节保存,如果是汉字两个字节保存
2、统一使用字符的通配符

  //TCHAR c2 = '1';
	// TCHAR *pc2 = &c2;
	//pc2 = _T("abc");
	//_tcscpy(pc2, "111");

在windows编程中只要和字符串的操作有关的函数都会有2个函数,也会有一个通配的宏
MessageBox是一个宏,来表示一个函数,MessageBoxA(多字节) MessageBoxW(宽字节)

//MessageBox(0,//窗口句柄,这个消息盒子的父窗口没有
	//	_T("hello world"),//盒子窗口里面的文本
	//	_T("提示"),//盒子的标题
	//	MB_YESNOCANCEL |MB_ICONWARNING))//盒子的风格(类型)

做一个窗口用来播放音乐

#include <windows.h>
#include <tchar.h>
#pragma comment (lib,"Winmm.lib")
//将音乐文件放到与程序相同的文件下
{//wav格式的音乐播放
	//PlaySound(_T("Hotel California 加州旅店 - Eagles 老鹰乐队.wav"),//路径文件名,一般用相对路径
	//	nullptr,//应用程序实例句柄,直接给null
	//	SND_FILENAME | SND_LOOP | SND_ASYNC);
	////SND_FILENAME 指定文件名  SND_LOOP 循环  SND_ASYNC 异步
//MessageBox(0, 0, 0, 0);
	//mp3格式的音乐
	mciSendString(_T("open 金志文-中国姑娘.mp3 alias abc"),//命令字符串 open打开mp3 alias 取了一个abc的外号
		nullptr,//接收信息的缓冲区,为null表示不接受信息
		0,//缓冲区大小(第二个参数的大小)
		nullptr);//回调函数的窗口句柄
	mciSendString(_T("play abc"), 0, 0, 0);
	MessageBox(0, 0, 0, 0);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41848597/article/details/88720535