您的位置:首页 > 编程语言 > C语言/C++

基于visual c++之windows核心编程代码分析(7)操作光驱

2016-12-08 21:47 465 查看
我们在进行Windows编程的时候经常需要进行操作光驱,请见代码实现与注释讲解。

 

 

[cpp] view
plain copy

/* 头文件 */  

#include <windows.h>  

#include <stdio.h>  

#include <tchar.h>  

/* 预定义 */  

#define BUFSIZE            512  

  

/* ************************************ 

 * int main( int argc, PCHAR argv[] ) 

 * 功能   应用程序主函数,根据输入的驱动器 

 *      根路径参数判断是否为光驱,是否放 

 *      入光盘。 

 * 参数   驱动器根路径,比如“D:\”。 

 **************************************/  

  

int main( int argc, PCHAR argv[] )  

{  

    //存储文件系统类别名  

    CHAR szFileSystemNameBuffer[BUFSIZE];  

    DWORD dwLastError;  

    DWORD dwFileSystemFlags;  

  

    //判断是否输入运行时参数  

    if( argc != 2 )   

    {  

        printf("请输入驱动器的根路径,比如: \"D:\\\"\n");  

        return( -1 );  

    }  

      

    //判断输入的驱动器是否为CD\DVD ROM  

    if(GetDriveType(argv[1])!=DRIVE_CDROM)  

    {  

        printf("驱动器 %s 不是 CD/DVD ROM。\n",argv[1]);  

        return( -1 );  

    }  

      

    //获取卷信息  

    if (!GetVolumeInformation(  

        argv[1], NULL, 0,  

        NULL,NULL,  

        &dwFileSystemFlags,  

        szFileSystemNameBuffer,  

        BUFSIZE  

        ))  

    {  

        dwLastError = GetLastError();  

        if(dwLastError == 21)  

        {  

            printf("设备未就绪,请放入光盘!\n");  

            return 0;  

        }  

        else  

        {  

            printf("GetVolumeInformation 错误 %d\n",dwLastError);  

            return 0;  

        }  

    }  

    printf ("光盘已经放入,文件系统类别 %s。\n",szFileSystemNameBuffer);  

    return 0;  

}  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐