首页
社区
课程
招聘
[救助(急)]怎么样检测软驱是否有软盘???
发表于: 2006-8-22 11:13 5587

[救助(急)]怎么样检测软驱是否有软盘???

2006-8-22 11:13
5587
恳请高手指导  

非常感谢,谢谢了。。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费
支持
分享
最新回复 (10)
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
方法很多,最简单的就是执行控制台命令dir A:\,如果成功表示软驱中有盘
2006-8-22 12:58
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我没有表叙清,我是指怎么在程序中实现。。

谢谢大家了,,,
2006-8-22 14:48
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
HANDLE handle = CreateFile(_T("A:\\"), GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

        if(handle == INVALID_HANDLE_VALUE)
        {
                TRACE(_T("软驱A:内无软盘...\n"));
                return;
        }

如果有的话,你就可以根据返回的句柄进行读写操作了
2006-8-22 15:00
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
最初由 archy 发布
我没有表叙清,我是指怎么在程序中实现。。


谢谢大家了,,,


楼上的已经回答了

另外在程序中直接执行命令也是有办法的
2006-8-22 18:14
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是可以检测了,但是运行时报这样的错,程序无法继续下去啊????

2006-8-23 08:43
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
上传的附件:
2006-8-23 08:46
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个怎么解决。恳请高手指导  急啊。。。。

谢谢了。。
2006-8-23 08:51
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我在win2000上试了一下,没弹出这个对话框.
楼主是调用了CreateFile之后就弹出的吗?
2006-8-23 09:03
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
是的,用CreateFile函数调用弹出的,现在不知道怎么办。。

用system("cmd.exe /c dir a:")没有,但我不能利用返回值知道有软盘还是没有软盘。。

还有没有其它的方法啊。。。
2006-8-23 09:23
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
//返回32位无符号整型值,从低到高分别代表A~Z盘
        DWORD DiskNum = GetLogicalDrives();

        if(!(DiskNum % 2))
        {
                TRACE(_T("找不到A盘\n"));
                return;
        }

        CString strDrive = _T("A:");

        //查看A盘类型是否为软驱
        if(GetDriveType(strDrive) == DRIVE_REMOVABLE)
        {
                ULARGE_INTEGER lpFree;  
                ULARGE_INTEGER lpTotalBytes;  
                ULARGE_INTEGER lpTotalFree;
               
                //查看磁盘空间
                if(!GetDiskFreeSpaceEx(strDrive, &lpFree, &lpTotalBytes, &lpTotalFree))
                {
                        TRACE(_T("A盘内无软盘.\n"));
                }
                else
                {
                        //可以查看磁盘空间大小.
                }
        }

你试试这么做
2006-8-23 10:30
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册
//