Необходимо получить количество свободного места на дискете.
Код | #include <windows.h> #include <iostream>
int main() { ULARGE_INTEGER space ; if ( GetDiskFreeSpaceEx( TEXT("A:\\"), &space, NULL, NULL ) == 0 ) { LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL ); MessageBox( NULL, (LPCTSTR)lpMsgBuf, TEXT(""), MB_OK ); LocalFree( lpMsgBuf ) ; }
system("pause") ; return 0 ; }
|
Если на компьютере физически нет floppy-дисковода (но его иконка присутствует, например, в Windows Explorer), то после входа в GetDiskFreeSpace приложение завиает на несколько секунд, после чего система выдает окно "Устройство не готово (отмена/повторить/продолжить)", и уже после нажатия "отмена" или "продолжить" формируется свой MessageBox (в нем тоже написано "устройство не готово)". Есть ли способ подавить вывод первого окна? |