Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на WinApi, C++Builder, Visual C++


Информационный Канал Subscribe.Ru


Выпуск № 51-2003 BCBDEV.RU

Здравствуйте уважаемые подписчики!

Перед вами очередной выпуск рассылки "Программирование на WinApi"
Переводы многих функций Win32API, которые часто используются в данной рассылке, вы можете получать, подписавшись на дружественную рассылку "WinAPI на русском".
Справочник по функциям Win32API вы можете посмотреть на сайте BcbDev.ru в разделе MSDN по-русски.

Как узнать путь к флоппи диску в стиле "A:\"и как определить есть ли в нем дискета?
Значится так. Будем считать, что у нас не может быть более 2х девайсов типа флопа в системе. И, основываясь на коде Сергея Андык, делаем некоторые дополнения. Собственно сам код:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
BOOL IsDiskInDrive ( LPTSTR lpszDrive )
{
  UINT errmode;
  TCHAR szVolName[256];
  DWORD dwMaxComSize;
  DWORD dwFlags;
  TCHAR szFS[256];
  BOOL bRes;

  errmode = SetErrorMode ( SEM_FAILCRITICALERRORS );

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

BOOL DriveExists(int nDrive)
{
    UINT uType;
    char DriveName[]="#:\\";
    DriveName[0]=(char)65+nDrive;
    ;
    uType = GetDriveType (DriveName);

    if (uType!=DRIVE_NO_ROOT_DIR)
        return TRUE;
    else
        return FALSE;
} 

int main()
{
    if(DriveExists(0))
    {
        if(IsDiskInDrive("A:\\"))
            printf("Drive A:\\ exists. Disk in drive\n");
        else
            printf("Drive A:\\ exists. Disk not in drive\n");
    }
    else
        printf("Drive A:\\ not exists\n");
    if(DriveExists(1))
    {
        if(IsDiskInDrive("B:\\"))
            printf("Drive B:\\ exists. Disk in drive\n");
        else
            printf("Drive B:\\ exists. Disk not in drive\n");
    }
    else
        printf("Drive B:\\ not exists\n");

    getch();
return 0;
}

Удачи Вам в Ваших делах Куковинец Андрей aka Juggernaut

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное