Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

Как узнать...   Найти похожие ветки 

 
Владимир   (2004-11-04 09:59) [0]

Как узнать что программа запущенна с CD?


 
begin...end ©   (2004-11-04 10:03) [1]

Copy(ParamStr(0), 1, 1) - буква диска; потом проверяем (GetDriveType).


 
Юрий Зотов ©   (2004-11-04 10:05) [2]

if GetDriveType(PChar(Copy(ParamStr(0), 1, 3))) = DRIVE_CDROM then ...


 
VMcL ©   (2004-11-04 10:12) [3]

>>begin...end ©  (04.11.04 10:03) [1]
>>Юрий Зотов ©  (04.11.04 10:05) [2]

... или эмулятора CD.


 
VMcL ©   (2004-11-04 10:12) [4]

>>begin...end ©  (04.11.04 10:03) [1]
>>Юрий Зотов ©  (04.11.04 10:05) [2]

... или эмулятора CD.


 
Владимир   (2004-11-04 10:16) [5]

Дело в том, что в программе я использую ini файл, а когда она записана на CD то запись параметров в ini файл невозможна.


 
Юрий Зотов ©   (2004-11-04 10:16) [6]

> VMcL ©   (04.11.04 10:12) [3]

1. Конференция по антихакингу находится не здесь.
2. И прежде, чем на нее идти, способ [1] и [2] надо уже знать.


 
КаПиБаРа ©   (2004-11-04 10:22) [7]

Владимир   (04.11.04 10:16) [5]

В таком случае унивирсальным способом будет попытка открыть файл на запись.


 
Владимир   (2004-11-04 10:23) [8]

Но тогда он сгинерирует ошибку.


 
begin...end ©   (2004-11-04 10:25) [9]


> [8] Владимир   (04.11.04 10:23)

Ну тогда, может быть, {$I-} / {$I+} поможет...


 
Владимир   (2004-11-04 10:27) [10]

Пробовал не помогает


 
VMcL ©   (2004-11-04 10:29) [11]

>>Юрий Зотов ©  (04.11.04 10:16) [6]

>1. Конференция по антихакингу находится не здесь.

Юрий, не выдумывайте. Я просто обратил внимание автора ветки, что таким способом не отличить реальный CD от эмулируемого, если ему это вдруг очень важно.


 
Юрий Зотов ©   (2004-11-04 10:29) [12]

> Владимир   (04.11.04 10:16) [5]
> Дело в том, что в программе я использую ini файл, а когда она
> записана на CD то запись параметров в ini файл невозможна.

Да, невозможна. И что дальше? В чем проблема-то?


 
Юрий Зотов ©   (2004-11-04 10:32) [13]

> VMcL ©   (04.11.04 10:29) [11]

А, тогда понятно. Хорошо, что Вы пояснили, а то я уж было выдумывать начал.


 
TUser ©   (2004-11-04 10:33) [14]

Если запустить прогу с переполненного диска или с защищенной дискеты - тоже не получится записывать в ini. Это я к тому, что делай [7] - и совершенно не важно, CD - не-CD ...


 
Владимир   (2004-11-04 10:34) [15]

Если на диск записан только exe файл то при сохранении настроек происходит создание ini файла, и возникает ошибка.
Сохранение настроек происходит автоматически при закрытии формы.


 
TUser ©   (2004-11-04 10:39) [16]


> возникает ошибка

try ... except


 
Юрий Зотов ©   (2004-11-04 12:54) [17]

> Владимир   (04.11.04 10:34) [15]

Извините, но проблема непонятна.

Разве не очевидно, что в том виде, как это сделано сейчас, программа, запущенная с CD, не сможет записать никаких ini-файлов?

Очевидно. И не поможет тут никакое определение, откуда именно она запущена. Ну, определите Вы (любым способом, неважно каким), что запуск проишел с CD - а дальше-то что? Работать-то ведь она все равно не сможет.

Значит, надо менять логику работы программы. Или не использовать ini-файл совсем, а использовать, например, реестр. Или писать ini-файл всегда на винт, а не на тот диск, откуда запустили программу. Или не писать его, если программа запущена с CD. Или выдать юзеру диалог, что настройки сохранены не будут и он должен запускать программу с винта. Или... еще кучу разных "или" можно придумать.

Поэтому и непонятно - в чем проблема-то? На CD программа записать ничего не сможет - значит, надо менять ее логику. И ничего другого тут не придумаешь, даже если мы тут все вместе будем обсуждать этот вопрос хоть три года.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.037 c
8-1093586584
Garmahis
2004-08-27 10:03
2004.11.21
Tif


1-1099423039
dolphin
2004-11-02 22:17
2004.11.21
Собития в динамически создаваемых формах


1-1099996199
Frozzen
2004-11-09 13:29
2004.11.21
Проведение гладкой линии по точкам


6-1094827738
redlord
2004-09-10 18:48
2004.11.21
перевод IP адреса в десятичную систему


14-1099130507
DelphiN!
2004-10-30 14:01
2004.11.21
Глюки Делфи 6





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский