Как проверить, есть ли дискета в дисководе
|
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 и другими сменными устройствами. |