Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как найти системные папки Windows?

Delphi , ОС и Железо , Windows

Code:
Type TSystemPath=(Desktop,StartMenu,Programs,Startup,Personal, winroot, winsys);
...
Function GetSystemPath(SystemPath:TSystemPath):string;
var p:pchar;
begin
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', True);
case SystemPath of
Desktop: Result:=ReadString('Desktop');
StartMenu:Result:=ReadString('Start Menu');
Programs:Result:=ReadString('Programs');
Startup:Result:=ReadString('Startup');
Personal:Result:=ReadString('Personal');
Winroot:begin
GetMem(p,255);
GetWindowsDirectory(p,254);
result:=Strpas(p);
Freemem(p);
end;
WinSys:begin
GetMem(p,255);
GetSystemDirectory(p,254);
result:=Strpas(p);
Freemem(p);
end;
end;
finally
CloseKey;
free;
end;
if (result<>'') and (result[length(result)]<>'\') then result:=result+'\';
end;
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Взято с Vingrad.ru http://forum.vingrad.ru

Приведенный код на Delphi используется для извлечения системных путей в Windows.

Для поиска системных папок в Windows можно использовать следующие регистровые ключи:

  1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Этот ключ содержит подключки для каждого shell-каталога.
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Этот ключ содержит системно-общие shell-каталоги.

Приведенный код использует первый регистровой ключ для извлечения путей следующих системных папок:

  • Desktop
  • Start Menu
  • Programs
  • Startup
  • Personal

Кроме того, он извлекает путь к директории Windows с помощью GetWindowsDirectory и директорию System с помощью GetSystemDirectory.

Вот как использовать этот код:

  1. Создайте новый проект Delphi.
  2. Добавьте следующие единицы в ваше заявление использования:
    • Registry
    • ShlObj
  3. Скопируйте предоставленный код в ваш проект.
  4. Позвоните функцию GetSystemPath, передавая один из констант системного пути как аргумент:

Пример:

var
  Path: string;
begin
  Path := GetSystemPath(Desktop);
  ShowMessage(Path); // Отображает путь к папке Desktop.
end;

Помните, что вам нужно обрабатывать любые потенциальные ошибки, которые могут возникнуть при чтении из или записи в регистр.

Замечание: Приведенный код использует регистровой ключ HKEY_CURRENT_USER, что означает, что он будет извлекать пути, специфические для текущего пользователя. Если вы хотите получить системно-общие shell-каталоги, используйте HKEY_LOCAL_MACHINE вместо.

В статье описывается способ найти системные папки Windows, используя функцию GetSystemPath из Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Windows ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 01:10:13/0.0029609203338623/0