Меню
Категории
Как определить наличие дискеты или флешки на C++
4 марта, 2008 Программинг

Как определить наличие дискеты или флешки на C++.

Для того, чтобы определить есть ли в дисководе дискета, нам понадобится WinAPI функция IsDiskInDrive.
Функция проверки наличия носителя в дисководе, работает для всех типов сменных носителей (Floppy, USB, CD-ROM и т.д.)

#include <stdafx.h>
#include <windows.h>
#include <stdio.h>

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;
}
main()
{
if(IsDiskInDrive («a:\\»))
MessageBox(0,»Дискета на базе»,»Дискета на базе»,0);
else
MessageBox(0,»Сунь дискету»,»Сунь дискету»,0);
getchar();
return 0;
}

Добавить комментарий




*