![]() |
Узнать главный диск [Delphi]
Нужно узнать главный локальный диск на котором лежит винда. Например у меня лежит винда в C:
|
GETSYSTEMDRIVE
посмотри что-то в этом роде щас на память не скажу точнее |
Смотри тему "[Delphi]/[Pascal] Задай вопрос, получи ответ", последние 2-3странички. Вопрос уже задавался ..
|
Код:
function GetSysCD: string; |
{var path: array[0..max_path]of char;}
GetWindowsDirectory(path,max_path); ShowMessage(copy(path,0,2)); По моему самый простой способ. |
Можешь сделать еще легче.
Я делфи не знаю, но принцип думаю один и тот же: GetFileList("%WINDIR%"); Таким образом я получил список каталогов в папке Windows. %WINDIR% в данном случае является переменной среды. т.е. глобальная системная переменная. Таких переменных существует много. Зная их, чаще всего не требуется знать диск с ос. К примеру так: ReadFile(@"%WINDIR%\explorer.exe"); |
2 eLWAux Result:=copy(S,0,1); можно заменить на result:=S[0]; :)
|
А вообще самый быстрый способ - это юзая PEB, найти полные пути до имен загруженных библиотек. Первые либы - это ntdll и kernel32, а они всегда находятся в папке с виндой. И вот просто взять первую букву этого пути, вот и получится буква системного диска. Пример:
Код:
function SysDisk:char;assembler; |
| Время: 09:55 |