Как проверить, есть ли дискета в дисководе

BOOL IsDiskInDrive ( LPTSTR lpszDrive )
{
UINT errmode;
TCHAR szVolName[256];
DWORD dwMaxComSize;
DWORD dwFlags;
TCHAR szFS[256];
BOOL bRes;

errmode = SetErrorMode ( SEM_FAILCRITICALERRORS );
//если не сделать SetErrorMode - выскочит стандартное окошко "Drive Not Ready"

bRes = GetVolumeInformation ( lpszDrive,
szVolName,
sizeof(szVolName),
NULL, &dwMaxComSize,
&dwFlags,
szFS, sizeof(szFS) );
SetErrorMode ( errmode );
return bRes;
}

Эта технология также работает с CDROM и другими сменными устройствами.

 
« Предыдущая статья   Следующая статья »