美文网首页
初探win32

初探win32

作者: sofency | 来源:发表于2019-01-24 11:02 被阅读0次

    众所周知,Windows系统是不开源的。
    所谓的开源就是该系统的源代码对外开放,就比如我们用的Linux系统,它的源代码就包含在它的文件里面,可以打开文件(绝对路径:usr/src/linux)借鉴其中的源代码。
    不开源就是不对外开放自己的源代码,就比如现在大部分使用的Windows操作系统,它的源代码都是经过包装过的,我们学习windows时不需要知道它是怎么实现的,只需要知道怎么用就好了。

    win32操作环境 ---------------- Visual Studio 2017

    创建项目过程如下:
    文件 --->新建 ---> 项目 ---> visual C++ --->Windows桌面应用程序

    下面是一个创建的项目代码

        #include"stdafx.h" 
        #include<Windows.h> 
        int _stdcall WinMain(HINSTANCE hInstance,//实例句柄(指向一个实例的无类型指针) 
        HINSTANCE hPrevInstance,//父实例句柄 
        LPSTR lpCmdLine,//命令行 
        int nShowCmd) 
       { 
           if (MessageBoxA(0,//窗口句柄这个消息盒子的父窗口是谁 
           lpCmdLine, //盒子里面的文本  
         "提示",
           MB_YESNO | MB_ICONINFORMATION))//消息盒子的类型  
          { 
               MessageBox(0, 0, 0, 0);
           }
       }
    

    显示的结果如下

    1.png 2.png

    注:按第一个界面的任意一个按钮直接跳到第二个窗口
    没错 窗口打开后会返回值 ,所以可以用到if语句里面当做判断条件

    下面来详细讲解下这个项目的各个环节

    1.窗口的调用是用Windows系统调用的所以加上它的头文件#include<windows.h>
    2._stdcall 代表函数的参数是从右往左进栈的
    3.该程序的入口参数是WinMain(书写的大小写一定要规范)
    4.HINSTANCE 是void*的转定义形式,一般带H开头的叫句柄 (无类型指针)
    5.P ,LP开头的在win32里面代表指针(这些基本上都被微软重定义给掩盖了C语言的写法)
    6.windows的数据类型都是大写

    下面来写一个播放音乐的程序

    #include"stdafx.h"
    #include<Windows.h>
    #include<mmsystem.h>
    #pragma comment(lib,"Winmm.lib")
    int _stdcall WinMain(HINSTANCE hInstance,//实例句柄(指向一个实例的无类型指针)
        HINSTANCE hPrevInstance,//父实例句柄
        LPSTR lpCmdLine,//命令行
        int nShowCmd)
    {
       //wav格式的音乐
        //PlaySound(_T("Candy - Bila.mp3"),//一般用相对路径
        //  NULL,//应用程序实例句柄
        //  SND_ASYNC|SND_FILENAME|SND_LOOP);
         //mp3格式的音乐 
        mciSendString(_T("open 1.mp3 alias cnady"),
        NULL,//接受信息的缓冲区为NULL,不返回信息
        0,//缓冲区大小
        NULL);//回调函数的窗口句柄
        mciSendString(_T("play cnady"),NULL,0,NULL);
        MessageBox(0, 0, 0, 0);//是为了设置断点
    }
    

    注意:一定要在该路径下将音乐放进去
    C:\Users\sofency\source\repos\(文件名)

    3.png

    接下来就可以播放美妙的音乐了

    相关文章

      网友评论

          本文标题:初探win32

          本文链接:https://www.haomeiwen.com/subject/uwcyjqtx.html