Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/37: Рейтинг темы: голосов - 37, средняя оценка - 4.57
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
1

Правильный путь к Program Files

14.06.2012, 22:31. Показов 7080. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, как правильно указать относительный путь к program files?
и '%Program Files%' и '%Programm Files%' и '%ProgramFiles%' и '%ProgrammFiles%' пробовал - не работает
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2012, 22:31
Ответы с готовыми решениями:

[Fatal Error] File not found: 'c:\program files\borland\delphi7\Rave5\Lib\dxExEdtr.pas'
Здравствуйте, помогите пожалуйста. Необходимо запустить проект, автоматизация работы автовокзала с...

Как получить пути к папкам Program files и Program files x86?
По msdn код должен быть таким. (У меня разрядность системы x64, если что) string...

Как получить путь до program files?
Подскажите, возможно ли, получить путь до системной папки используя PHP? Апач и ПХП стоит на этом...

Изменить путь к файлу, находящемуся в Program Files
Имеется бат файл, который пишет логи (файл OUTPUT). Как изменить путь к файлу OUTPUT, чтобы файлы...

3
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
14.06.2012, 22:47 2
Nikitko_Cent, Для начала его нужно получить.
Из реестра например:

Delphi
1
2
const
WinVers = 'Software\Microsoft\Windows\CurrentVersion';
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function WinInfo(Root_Key: HKEY; Key_Open, Key_Read: string): string;
 var
 registry: TRegistry;
 begin
 //если Windows NT, открываем другой ключ
 if ((GetVersion and $80000000)=0) and (Key_Open=WinVers) then
 Key_Open:='SOFTWARE\Microsoft\Windows NT\CurrentVersion';
 Registry := TRegistry.Create;
 try
 Registry.RootKey := Root_Key;
 Registry.OpenKey(Key_Open, False);
 Result := Registry.ReadString(Key_Read);
 finally
 Registry.Free;
 end;
 //если ничего не найдено, выводим "невозможно определить"
 if Result<>EmptyStr then Result:=Key_read+': '+Result else Result:=Key_read+': невозможно определить';
 end;
И использование соответственно
Delphi
1
WinInfo(HKEY_LOCAL_MACHINE,WinVers,'ProgramFilesDir')
Как-то так.

Есть еще 1 путь, легче:

Delphi
1
Uses  Registry;
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
function GetProgramFilesDir: string;
 var
   reg: TRegistry;
 begin
   reg := TRegistry.Create;
   try
     reg.RootKey := HKEY_LOCAL_MACHINE;
     reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion', False);
     Result := reg.ReadString('ProgramFilesDir');
   finally
     reg.Free;
   end;
 end;

Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
 begin
  ShowMessage(GetProgramFilesDir); // Показываем путь.
 end;
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
14.06.2012, 23:19 3
Зачем лазить в реестр, если есть SHGetSpecialFolderPath, специально предназначенная для этих целей?

Delphi
1
2
3
4
5
6
7
uses ShlObj;
function ProgramFilesPath: string;
begin
   SetLength(Result, MAX_PATH);
   SHGetSpecialFolderPath(0, PChar(Result), CSIDL_PROGRAM_FILES , True);
   SetLength(Result, StrLen(PChar(Result)));
end;
2
898 / 345 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
14.06.2012, 23:22 4
UI, разница?

Результат один и тот же.
0
14.06.2012, 23:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2012, 23:22
Помогаю со студенческими работами здесь

как программно определить путь C:\Program Files
Здравствуйте! напишите пожалуйста, как программно определить путь C:\Program Files ? Мне нужно...

папки в Винде 7 Program files и Program files х86
Добрый вечер, ребята, у меня вот такой вопрос. в инете копался, но ответа не нашел в W7 созданы...

Копирование файла в зависимости от разрядности системы в "Program Files" или в "Program Files (x86)"
Добрый День, уважаемые форумчане! Появилась необходимость написать скрипт по копированию...

Program Files и Program Files (x86)
Program Files и Program Files (x86) в чем отличие? Куда лучше устанавливать программы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru