Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Совместные проекты/поиск партнёров > Функция для опредлеления пути ALL USERS


Автор: tFeniks 27.3.2008, 08:07
Иногй раз требуется программно определить путь к тому или иному какталогу. Моя функция позволяет определить путь к папку ALL USERS
 
Type TProfileListPath=(AllUsersProfile,ActiveUserProfile);

/////////////////////////////////////////////////////////////////////////////
Функция для определения пути ALL USERS      /////////////////
//Автор функции Гаврилин Сергей Николаевич  - tFeniks //
//20 марта 2008 год. г. Похвистнево, Самарская обл. ///////
////////////////////////////////////////////////////////////////////////////
Function GetALLUsersPath(ProfileListPath:TProfileListPath):string;
begin
  with TRegistry.Create do
  begin
   if (ProfileListPath=ActiveUserProfile) then
   begin
    try
      RootKey := HKEY_CURRENT_USER;
      OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', True);
      Result:=ReadString('Programs');
    finally
      CloseKey;
      free;
    end;
   end;
   //All Users
   if (ProfileListPath=AllUsersProfile) then
   begin
    try
      RootKey := HKEY_LOCAL_MACHINE;
      OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', True);
      Result:=ReadString('Common Programs');
    finally
      CloseKey;
      free;
    end;
   end;


  end;

if (result<>'') and (result[length(result)]<>'\') then result:=result+'\';
end;
///////////////////////////////////////////////////////////////////////////


Автор: DominiK 3.5.2008, 12:20
SHGetFolderPath

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)