Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диск с системными папками 
V
    Опции темы
Михалыч
Дата 14.6.2009, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Подскажите как узнать букву диска на который установлена ОС,например мне надо узнать полный путь до system32\notepad.exe


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
Данкинг
Дата 14.6.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
kami
Дата 14.6.2009, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Михалыч @  14.6.2009,  18:18 Найти цитируемый пост)
как узнать букву диска на который установлена ОС

Цитата(Михалыч @  14.6.2009,  18:18 Найти цитируемый пост)
мне надо узнать полный путь до system32\notepad.exe

Несколько разные задачи, не кажется?
Система может быть установлена не в папку Windows, а к примеру в mySuperWinXP.
По второму вопросу:
SHGetFolderPath с CSIDL=CSIDL_SYSTEM
PM MAIL WWW   Вверх
Данкинг
Дата 14.6.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(kami @  14.6.2009,  19:29 Найти цитируемый пост)
Система может быть установлена не в папку Windows

А где написано, что Михалыч хочет найти именно папку Windows? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
kami
Дата 14.6.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



он хочет узнать 
Цитата(Михалыч @  14.6.2009,  18:18 Найти цитируемый пост)
полный путь до system32\notepad.exe
.
Если покажете пример, где system32 (официальная, само собой. обозвать любую папку этим именем может любой) находится не в папке, в которую установлена система - обещаю что-нибудь с собой сделать  smile.
PM MAIL WWW   Вверх
Данкинг
Дата 14.6.2009, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



kami, всё правильно, только снова не понял, при чём тут название папки, в которую установлена система. smile Ну вот в реестре мы и прочитали инфу о том, куда она установлена...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
kami
Дата 14.6.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Данкинг @  14.6.2009,  18:55 Найти цитируемый пост)
 Ну вот в реестре мы и прочитали инфу о том, куда она установлена...

Дык, когда я писал ответ, Вашего не видел (тема была еще в Общих вопросах).
Я не против - пускай читает из реестра, по большому счету это без разницы.

p.s. на сайте Delphimaster как-то был холивар (вроде по этой же теме, или близко к ней) по поводу того, чем правильнее пользоваться - функциями API или реестром. К окончательному решению (afair) не пришли smile

Добавлено через 3 минуты и 16 секунд
А начал я за это говорить потому, что телепатор мне сообщил о том, что Михалыч скорее всего считает, что узнав 
Цитата(Михалыч @  14.6.2009,  18:18 Найти цитируемый пост)
букву диска на который установлена ОС
 и добавив к ней "стандартные" Windows\System32 можно решить все проблемы.

PM MAIL WWW   Вверх
Keeper89
Дата 14.6.2009, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(kami @  14.6.2009,  20:13 Найти цитируемый пост)
А начал я за это говорить потому, что телепатор мне сообщил о том, что Михалыч скорее всего считает, что узнав 
Цитата(Михалыч @  14.6.2009,  18:18 Найти цитируемый пост)
букву диска на который установлена ОС
 и добавив к ней "стандартные" Windows\System32 можно решить все проблемы.

Я тоже так подумал smile Иначе зачем задавать 2 разных по сути вопроса...

Продолжая холиварную  smile тему, скажу, что я бы воспользовался API, нежели реестром. Далее все ИМХО:
  • Плюс функции - не надо думать по поводу прав пользователей. Так, программа при использовании реестра вылетит, если брать значения реестра не указав режим только для чтения для ограниченных пользователей в ОС Windows.
  • Плюс реестра - обращаться к реестру куда проще, чем к функции API. Нет ни выделения и освобождения памяти, ни специфических (для тесно не работающих с ОС) типов данных (тот же PChar).
Так что, каждый выбирает исходя из своих предпочтений. Может кто еще дополнит мое мнение или опровергнет  smile 

Это сообщение отредактировал(а) Keeper89 - 14.6.2009, 19:31


--------------------
PM MAIL WWW   Вверх
Данкинг
Дата 14.6.2009, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(kami @  14.6.2009,  20:13 Найти цитируемый пост)
А начал я за это говорить потому, что телепатор мне сообщил о том,

А, вот теперь понял. smile В общем, ждём, что ответит топикстартер.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Михалыч
Дата 14.6.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Сделал так ,если некорректно так узнать путь ,то подскажите
Код

function GetSysDir(): String;
var
  buffer: String;
  len: UINT;
begin
  SetLength(buffer, MAX_PATH + 1);
  len := GetSystemDirectory(PAnsiChar(buffer), MAX_PATH);
  SetLength(buffer, len);
  GetSysDir := buffer;
end;


Код

procedure TForm1.Button2Click(Sender: TObject);
begin
form1.Edit2.Text := GetSysDir()+'\'+'notepad.exe';
end;



--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
kami
Дата 14.6.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Михалыч @  14.6.2009,  19:33 Найти цитируемый пост)
если некорректно 

Цитата(Михалыч @  14.6.2009,  19:33 Найти цитируемый пост)
GetSystemDirectory

Ха!
Слона то мы и не приметили...
Правильно, почему нет.
Есть пара мелких рекомендаций по коду, но к сути вопроса и получаемому результату не относящихся.

PM MAIL WWW   Вверх
Данкинг
Дата 14.6.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Вопрос решён, как я понимаю. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Михалыч
Дата 14.6.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 472
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Да,всем спасибо!


--------------------
За частый поиск был забанен во всех известных поисковых системах.
Обиженных  комодераторов: 1 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.