Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Определение места нахождения программы


Автор: Учусь 14.5.2008, 08:33
Нужно программно определить, где находится программа у пользователя: на жестком диске или на CD-rom. Как это сделать?
Заранее благодарен!

Автор: Lazin 14.5.2008, 09:31
попробовать создать файл, если не получится - посмотреть код ошибки, если диск readonly - то вероятно cd-rom

Автор: RatHat 14.5.2008, 10:43
А какая именно программа?
Та, которая сейчас запущена?
Если та, которая запущена, то вот:
Код

    String s;
    s = ExtractFileDrive(Application->ExeName);
    switch(GetDriveType(s.c_str()))
    {
        case 0 : ShowMessage("The drive type cannot be determined");break;
        case 1 : ShowMessage("The root directory does not exist");break;
        case 2 : ShowMessage("DRIVE_REMOVABLE");break;
        case 3 : ShowMessage("DRIVE_FIXED");break;
        case 4 : ShowMessage("DRIVE_REMOTE");break;
        case 5 : ShowMessage("DRIVE_CDROM");break;
        case 6 : ShowMessage("DRIVE_RAMDISK");break;
    }

Автор: mrbrooks 14.5.2008, 11:49
Цитата(Lazin @ 14.5.2008,  09:31)
попробовать создать файл, если не получится - посмотреть код ошибки, если диск readonly - то вероятно cd-rom

 smile  smile 

Автор: Учусь 15.5.2008, 13:16
RatHat - спасибо, все оказалось очень просто.

Автор: RatHat 15.5.2008, 13:42
Учусь, да пожалуйста)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)