|
Вопрос # 746/ вопрос решён / |
|
Здравствуйте, господа эксперты! Еще один вопрос: как узнать, на каком разделе установлена операционная система?
 |
Вопрос задал: alone (статус: Посетитель)
Вопрос отправлен: 17 июля 2007, 00:13
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Николай Рубан
Здравствуйте, Гадлевский Олег Вячеславович!
Воспользуйтесь несложной процедурой которая выдает значения переменных окружения ОС (см. приложение).
В переменную VarName записываете название соответсвующей переменной, для вашего случая это \'SystemDrive\', если хотите узнать каталог в котором установлена ОС, то достаточно изменить на \'SystemRoot\'.
Если Вы не знаете как называется та или иная переменная кружения, то Вам достаточно в командной строке windows воспользоваться командой set, после чего на экран выведется список переменных
Good Luck!!!
Приложение: Переключить в обычный режим- procedure TForm1.Button13Click(Sender: TObject);
- var i: integer;
- VarName,Result:string;
- begin
- VarName:='systemdrive';
- Result := '';
- try
- i := GetEnvironmentVariable(PChar(VarName), nil, 0);
- if i > 0 then
- begin
- SetLength(Result, i);
- GetEnvironmentVariable(Pchar(VarName), PChar(Result), i);
- end;
- except
- Result := '';
- end;
- ShowMessage(Result);
- end;
 |
Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 17 июля 2007, 00:50
Оценка за ответ: 5
Комментарий к оценке: Спасибо, Николай!
|
Ответ #2. Отвечает эксперт: min@y™
Есть ещё способ: функция GetWindowsDirectory(), возвращающая путь установленной ОС, например C:\Windows. Вытащить оттуда 1-й символ (букву раздела) труда не составит.
var
Buffer: array[0..255] of Char;
SysDrive: Char;
begin
GetWindowsDirectory(Buffer, SizeOf(Buffer));
SysDrive:= Buffer[0];
end;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 17 июля 2007, 08:18
Оценка за ответ: 5
Комментарий к оценке: Спасибо!
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 17 июля 2007, 08:22; участников в обсуждении: 2.
|
Николай Рубан (статус: 10-ый класс), 17 июля 2007, 00:51 [#1]:
Обращаю Ваше внимание на запись вида: \\' (backslash и кавычка) - должна быть ОДНА обычная кавычка.
|
|
Ерёмин А.А. (статус: *Администратор), 17 июля 2007, 08:22 [#2]:
В дополнение к сообщению Н.Рубана: ошибка с кавычками и слешами имела место быть. В данный момент она устранена.
|
31 января 2011, 19:29: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|