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

Вниз

Имя дисковода   Найти похожие ветки 

 
Cooller   (2003-05-07 14:27) [0]

Мастера, а как узнать букву дисковода?


 
Слесарь Матерящийся   (2003-05-07 14:57) [1]

GetLogicalDriveStrings() + GetDriveType()


 
Cooller   (2003-05-07 15:05) [2]

Он не знает
GetLogicalDriveStrings()
Нет в справке.


 
[lamer]Barmaglot   (2003-05-07 15:27) [3]

В справке есть...

The GetLogicalDriveStrings function fills a buffer with strings that specify valid drives in the system.

DWORD GetLogicalDriveStrings(

DWORD nBufferLength, // size of buffer
LPTSTR lpBuffer // address of buffer for drive strings
);


Parameters

nBufferLength

Specifies the maximum size, in characters, of the buffer pointed to by lpBuffer. This size does not include the terminating null character.

lpBuffer

Points to a buffer that receives a series of null-terminated strings, one for each valid drive in the system, that end with a second null character. The following example shows the buffer contents with <null> representing the terminating null character.

c:\<null>d:\<null><null>


Return Values

If the function succeeds, the return value is the length, in characters, of the strings copied to the buffer, not including the terminating null character. Note that an ANSI-ASCII null character uses one byte, but a Unicode null character uses two bytes.
If the buffer is not large enough, the return value is greater than nBufferLength. It is the size of the buffer required to hold the drive strings.
If the function fails, the return value is zero. To get extended error information, use the GetLastError function.

Remarks

Each string in the buffer may be used wherever a root directory is required, such as for the GetDriveType and GetDiskFreeSpace functions.

See Also

GetDriveType, GetDiskFreeSpace, GetLogicalDrives


 
Cooller   (2003-05-07 15:47) [4]

Да не знает он. Ввожу в поиске, скопировав в буфер.
А задача такая. Диск вставляется в CD. Запускается прога. Нужно определить букву того диска, куда вставлен в дисковод.


 
Ancara   (2003-05-07 16:06) [5]

Тебе че, надо определить с какого диска твоя прога запустилась?
Тогда ParamStr(0) самый простой способ, мне кажется...
Или надо определить, какой буквой обозначен привод CDROM?


 
Cooller   (2003-05-07 16:12) [6]

Да. Она запускается и надо узнать имя диска с которого она запустилать (Это должен быть только CD. Но как определить, что это CD, я знаю). А как определить букву?
ParamStr(0) - а как это использовать(я новичёк и много ещё не знаю)


 
MalkoLinge   (2003-05-07 17:03) [7]

Короче
Application.ExeName - имя исполняемого файла с путем к нему. Есно, что первая буква - искомый диск :)


 
Cooller   (2003-05-07 17:10) [8]

Да, но где гарантия, что на другом компе эти буквы совпадают или установлен тольно 1 дисковод.


 
jel   (2003-05-07 17:18) [9]


> но где гарантия, что на другом компе эти буквы совпадают
>

Никаких гарантий. Для этого и вызывается Application.Exename или ParamStr(0). А чтобы проверить действительно ли это CD-ROM используй GetDriveType.


if GetDriveType(Pchar(ExtractFileDrive(ParamStr(0)))) = DRIVE_CDROM then begin
... Запустили с CD
end else
... Запустили с чего-то еще;


 
jel   (2003-05-07 17:24) [10]

Упс :(

Надо подправить код так

GetDriveType(Pchar(ExtractFileDrive(ParamStr(0))+"\"));


 
Cooller   (2003-05-07 17:28) [11]

Спасибо большое всем:)


 
Alex44   (2003-05-08 10:40) [12]

Lyuboj malo mal"ski uvazhayushij sebya user sdelaet search na GetDriveType i zamenit proverku na obhod. I budet prav. Nu ne Vashe eto delo otkuda on chto zapuskaet!



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
3-55389
Sword
2003-06-22 17:29
2003.07.17
Связь двух таблиц


7-55874
Ruslan
2003-05-02 11:24
2003.07.17
Проблема при выключении компа


1-55567
Aleksandr
2003-07-04 15:13
2003.07.17
Почему при посылке сообщения окну закрывается моя программа?


14-55818
Юрий Федоров
2003-06-30 16:05
2003.07.17
ВОПРОС: Почему курицы перешли через дорогу?


3-55455
mikl2002
2003-06-25 07:17
2003.07.17
Не соединяеся с FireBird 1+Linux из winxp





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский