카테고리 없음

[윈도우즈 API] 윈도우즈의 기본 폴더들의 실제 디렉토리

쇼핑스크래퍼3 2023. 9. 16. 07:42
// 아래 소스는 모든 윈도우즈 기본 폰더들의 실제 디렉토리를 읽어오는
// 예제이지만 SHGetSpecialFolderLocation() 를 사용하시면 개별적으로
// 읽어올 수 있습니다

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Registry, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  reg: TRegistry;
  ts: TStrings;
  i: integer;
begin
  Memo1.Clear;
  reg := TRegistry.Create;
  try
    reg.RootKey := HKEY_CURRENT_USER;
    reg.LazyWrite := False;
    reg.OpenKey('SoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders', False);
    ts := TStringList.Create;
    try
      reg.GetValueNames(ts);
      for i := 0 to ts.Count -1 do
        Memo1.Lines.Add(ts.Strings[i] + ' = ' + reg.ReadString(ts.Strings[i]));
    finally
      ts.Free;
    end;
    reg.CloseKey;
  finally
    reg.Free;
  end;
end;

end.