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编程 编写播放音乐
以上代码如下实现
//逻辑部分 显式部分
#include<Windows.h>
#pragma comment(lib,"Winmm.lib")//库文件 动态库或静态库
//windows的入口函数 WinMain
int WinMain(_In_ HINSTANCE hInstance,//应用程序使用句柄
_In_opt_ HINSTANCE hPrevInstance,//父应用程序实例句柄(现版本为null)
_In_ LPSTR lpCmdLine,//命令行参数
_In_ int nShowCmd)//窗口显示方式
{
MessageBoxA(nullptr,//窗口句柄
"abc",//消息盒子文本内容
"",//消息盒子标题
MB_YESNOCANCEL|MB_ICONWARNING//消息盒子的类型
);
//windows是基于c语言c++的又想有自己的数据类型 所以在c/c++基础上做了冲定义
//多字节
char c = 'a';
char *pc = "abc";//多字节字符串
//pc = &c;
int m = strlen(pc);//多字节求长度
//宽字节
wchar_t wc = 'a';//宽字节字符
wchar_t *pwc = L"ABCD";//宽字节字符串
m = wcslen(pwc);//宽字节求长度
//通配字符集表现
TCHAR tc = 'a';//可以根据自己的需求改变字节类型
TCHAR *ptc = _T("abc");//_T()带参宏
_tcslen(ptc);
//1.可以不管项目中使用的字符集 可以自行设定固定的类型去表现字符或者字符串,char或wchar_t
//2.可以统一使用字符的通配类型
//wav音乐播放
PlaySound(_T(""),//文件路径名,相对路径
nullptr,//应用程序实列句柄
SND_LOOP | SND_FILENAME | SND_ASYNC//文件操作模式
//SND_LOOP 循环 SND_FILENAME 指定文件 SND_ASYNC 异步
);
//mp3音乐播放
mciSendString(_T("....mp3 alias abc"),//打开一个*.mp3的文件 alias取别名叫abc
nullptr,//接受信息的缓存区,null表示不接受信息
,//第二个参数的内存大小
nullptr);//回调函数的窗口句柄
mciSendString(_T("play abc"), , , );
MessageBox(, , , );//类似于getchar()因为windows编程里不能用 return ;
}
win32概述的更多相关文章
- 深入理解 Win32 PE 文件格式
深入理解 Win32 PE 文件格式 Matt Pietrek 这篇文章假定你熟悉C++和Win32. 概述 理解可移植可执行文件格式(PE)可以更好地了解操作系统.如果你知道DLL和EXE中都有些什 ...
- 【WIN32进阶之路】:线程同步技术纲要
前面博客讲了互斥量(MUTEX)和关键段(CRITICAL SECTION)的使用,想来总觉不妥,就如盲人摸象一般,窥其一脚而言象,难免以偏概全,追加一篇博客查遗补漏. win32下的线程同步技术分为 ...
- VC++学习之GDI概述
VC++学习之GDI概述 图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏 ...
- cocos2d-x游戏开发系列教程-中国象棋01-工程文件概述
上一篇博文我们看到了象棋的效果图,这一张我们来看象棋代码的整体概述 让我们先对整个代码框架有个了解. 主目录: 主目录包含内容如上图: classes目录:业务代码 proj.win32:包括main ...
- VC++:创建,调用Win32动态链接库
VC++:创建,调用Win32动态链接库 概述 DLL(Dynamic Linkable Library)动态链接库,Dll可以看作一种仓库,仓库中包含了可以直接使用的变量,函数或类.仓库的发展史经历 ...
- IBM Installation Manager 工具概述(转)
IBM Installation Manager 工具概述 IBM Installation Manager 是一款可运行在多种平台(如 IBM i. z/OS. Windows. Linux.Uni ...
- 第2章 GNS3和PacketTracer网络模拟器(1)_GNS3概述
1. 安装和配置GNS3 1.1 GNS3概述 (1)GNS3是一款具有图形化界面,可运行在多平台(包括Windows.Linux.Mac OS等)上面的网络虚拟软件. (2)可以在虚拟环境中运行Ci ...
- WIN32编程经验总结
一 窗口和消息 1. 前缀: 2 WPARAM和LPARAM的意义在Windows是一种16位系统时,WndProc的第三个参数被定义为WORD,是一个16位的无符号整数,而第四个参数被定义为一个LO ...
- VC++ 多线程编程,win32,MFC 例子(转)
一.问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX ...
随机推荐
- oracle中判断"非"
在oracle中判断为"非"最常见的两种情况,一个是"不等于",一个的"非空". 通过查找资料得知,oracle中判断不等于的方法有好多种: ...
- mybaits入门学习
学习了简单的mybatis的配置 Bean层: 这个都会很简单 一个完整的Bean 需要getter和setter方法还需要一个空的构造方法和一个满的构造方法. Dao层: 创建一个接口就ok了 pa ...
- gcc/g++以c++11的方式编译
方法一: 在程序头加上预定义编译器命令 #pragma GCC diagnostic error "-std=c++11" 通过#pragma 指示 GCC编译器处理错误的方式以c ...
- cf 261B.Maxim and Restaurant
什么什么期望的,不会! (题解http://blog.sina.com.cn/s/blog_140e100580102wj4e.html(看不懂)) #include<bits/stdc++.h ...
- 一天一个设计模式——Prototype 原型模式
一.模式说明 看了比较多的资料,对原型模式写的比较复杂,个人的理解就是模型复制,根据现有的类来直接创建新的类,而不是调用类的构造函数. 那为什么不直接调用new方法来创建类的实例呢,主要一个原因是如果 ...
- JavaEE--JNDI(下,实现)
参考:https://blog.csdn.net/ouyida3/article/details/46699023 https://www.landui.com/help/show-6158.htm ...
- Spring的配置文件说明
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- tensorflow之最近邻算法实现
最近邻算法,最直接的理解就是,输入数据的特征与已有数据的特征一一进行比对,最靠近哪一个就将输入数据划分为那一个所属的类,当然,以此来统计k个最靠近特征中所属类别最多的类,那就变成了k近邻算法.本博客同 ...
- Adobe PhotoShop CS6中文破解版下载
在网上找了好多个PhotoShop破解版,但安装过程中都出现一些问题,用不了.现在找到一个比较小的PhotoShop CS6安装包,大小200M左右,下载解压,点击安装就可以使用了,安装过程十分简单. ...
- Bugku 社工
1.密码 姓名:张三 生日:19970315 猜想KEY是:zs19970315. 结果就是如此.