| 
| 
 | Вопрос # 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) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |