[問題] 判斷磁碟是否存在
之前在網路上找判斷某碟是不是存在,找到二個方法。
不過第二個方法速度大勝第一個,而且找到的碟也比較多,像是一些網路磁碟也
找的到。猜想大概是第一個方法的權限設定,使得找到的比較少。
不知道一般找磁碟用的方法是?
===============方法1=============
#inclue<windows.h>
#iclude<atlstr.h>
CString s;
HANDLE hDrive;
for(DWORD dwDrive = L'B'; dwDrive<=L'Z'; dwDrive++)
{
s.Format(L"\\\\.\\%c:", dwDrive);
hDrive = CreateFile(s.GetBuffer(), FILE_ALL_ACCESS, FILE_SHARE_READ |
FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
NULL);
if(hDrive != INVALID_HANDLE_VALUE)
{
//此碟存在
}
CloseHandle(hDrive);
}
=================方法2============
#include <direct.h>
int nCurDrive = _getdrive();
for(int i=2 ; i < 26 ; i++)
{
if(!_chdrive(i))
{
//此碟存在
}
}
_chdrive(nCurDrive);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.67.31
※ 編輯: tsaiminghan 來自: 218.168.67.31 (03/14 00:50)
※ 編輯: tsaiminghan 來自: 218.168.67.31 (03/14 00:51)
推
03/14 03:08, , 1F
03/14 03:08, 1F
→
03/14 10:53, , 2F
03/14 10:53, 2F