::: µ¨ÆÄÀÌ Tip&Trick :::

µ¨ÆÄÀÌ Tip&Trick ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±¤°í,ºñ¹æ,Áú¹®ÀÇ ±ÛÀº Áï½Ã »èÁ¦Çϸç
³»¿ëÀ» º¹»çÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹Ýµå½Ã À̰÷(http://www.howto.pe.kr)À» Ãâó·Î ¸í½ÃÇÏ¿© ÁÖ¼¼¿ä


Category

  ±è¿µ´ë(2003-03-07 09:14:09, Hit : 4219, Vote : 1141
 ·¹Áö½ºÆ®¸® Àüü °Ë»öÇϱâ

// RadioGroup ÀÇ Items ¿¡ ¾Æ·¡ 5°³ÀÇ °ªÀ¸·Î
//    HKEY_CURRENT_USER
//    HKEY_LOCAL_MACHINE
//    HKEY_CLASSES_ROOT
//    HKEY_CURRENT_CONFIG
//    HKEY_USERS
// Ç׸ñÀ» Ãß°¡Çϼ¼¿ä

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    Label1: TLabel;
    RadioGroup1: TRadioGroup;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
  private
    { Private declarations }
    FRootKey: HKEY;
    procedure GetSubKeys(ARegistry: TRegistry; AKey: string;
                         ALevel: integer; AStrings: TStrings);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.DFM}

const
  CBaseKey = '';

procedure TForm1.GetSubKeys(ARegistry: TRegistry; AKey: string;
                            ALevel: integer; AStrings: TStrings);
var
  fill:    string;
  i:       integer;
  j:       integer;
  thisKey: string;
  tmpKeys: TStringList;
begin
  if ARegistry.OpenKey(AKey, false) then
  begin
    Label1.Caption := AKey;
    Application.ProcessMessages;
    try
      ARegistry.GetKeyNames(AStrings);

      if AStrings.Count > 0 then
      begin
        for i := AStrings.Count - 1 downto 0 do
        begin
          tmpKeys := TStringList.Create;
          try
            thisKey := AKey + '' + AStrings[i];
            Label1.Caption := thisKey;
            Application.ProcessMessages;
            GetSubKeys(ARegistry, thisKey, ALevel, tmpKeys);
            Inc(ALevel);
            try
              SetLength(fill, ALevel * 2);
              FillChar(fill[1], Length(fill), ' ');

              for j := tmpKeys.Count - 1 downto 0 do
                AStrings.Insert(i + 1, fill + tmpKeys[j]);
            finally
              Dec(ALevel);
            end;
          finally
            tmpKeys.Free;
          end;
        end;
      end;
    finally
      ARegistry.CloseKey;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  level: integer = 0;
var
  fill:        string;
  i:           integer;
  j:           integer;
  theKeys:     TStringList;
  theRegistry: TRegistry;
  tmpKeys:     TStringList;
begin
  ListBox1.Clear;

  theRegistry := TRegistry.Create;
  try
    with theRegistry do
    begin
      RootKey := FRootKey;
      OpenKey(CBaseKey, False);
      theKeys := TStringList.Create;
      try
        GetKeyNames(theKeys);

        if theKeys.Count > 0 then
        begin
          for i := theKeys.Count - 1 downto 0 do
          begin
            tmpKeys := TStringList.Create;
            try
              GetSubKeys(theRegistry, CBaseKey + theKeys[i], level, tmpKeys);
              Inc(level);
              try
                SetLength(fill, level * 2);
                FillChar(fill[1], Length(fill), ' ');

                for j := tmpKeys.Count - 1 downto 0 do
                  theKeys.Insert(i + 1, fill + tmpKeys[j]);
              finally
                Dec(level);
              end;
            finally
              tmpKeys.Free;
            end;
          end;
        end;

        ListBox1.Items.Assign(theKeys);
        ListBox1.Items.SaveToFile('C:Temp'
                                  + RadioGroup1.Items[RadioGroup1.ItemIndex]
                                  + '.Txt');
        Label1.Caption := IntToStr(ListBox1.Items.Count);
      finally
        theKeys.Free;
      end;
    end;
  finally
    theRegistry.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  RadioGroup1.ItemIndex := 0;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
    0: FRootKey := HKEY_CURRENT_USER;
    1: FRootKey := HKEY_LOCAL_MACHINE;
    2: FRootKey := HKEY_CLASSES_ROOT;
    3: FRootKey := HKEY_CURRENT_CONFIG;
    4: FRootKey := HKEY_USERS;
  end;
end;

end.





411   [À©µµ¿ìÁî API] ¸ð¼­¸®°¡ µÕ±Ù(rounded ends) TEdit ¸¸µé±â  ±è¿µ´ë 2003/03/07 4958 1288
410   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TOpenDialog ÀÇ '¼±ÅÃ','Ãë¼Ò' ¹öư À̸§ ¹Ù²Ù±â  ±è¿µ´ë 2003/03/07 4375 1334
  [À©µµ¿ìÁî API] ·¹Áö½ºÆ®¸® Àüü °Ë»öÇÏ±â  ±è¿µ´ë 2003/03/07 4219 1141
408   [À©µµ¿ìÁî API] ALT_F4 hot key °¡·Îä±â  ±è¿µ´ë 2003/03/07 5655 1618
407   [µ¥ÀÌÅͺ£À̽º] µ¿ÀûÀ¸·Î SELECTÀÇ GROUP BY ¹® ¸¸µé±â  ±è¿µ´ë 2003/03/07 4201 946
406   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListView ÀÇ item À» °­Á¦·Î ÆíÁý»óÅ·Π¸¸µé±â  ±è¿µ´ë 2003/03/07 4665 1217
405   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] MessageDlg()ÀÇ ÆùÆ®¸¦ ¹Ù²Ù¾î¼­ ¶ç¿ì±â  ±è¿µ´ë 2003/03/07 3890 1070
404   [À©µµ¿ìÁî API] À©µµ¿ìÁî Ž»ö±âÀÇ ÆÄÀÏ, ÄÄÇ»ÅÍ Ã£±â È­¸é ¶ç¿ì±â  ±è¿µ´ë 2003/03/07 6186 1630
403   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] WideString À» String À¸·Î ¹Ù²Ù±â  ±è¿µ´ë 2003/03/07 4519 1129
402   [À©µµ¿ìÁî API] ´Ù¸¥ ApplicationÀÇ È­¸é¿¡ ±ÛÀÚ,±×¸²À» Ãâ·ÂÇÏ±â  ±è¿µ´ë 2003/03/07 3399 868
401   [À©µµ¿ìÁî API] À©µµ¿ìÁî '½ÃÀÛ' ¸Þ´º Refresh ½ÃŰ±â  ±è¿µ´ë 2003/03/07 4625 1419
400   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] StringGrid ¿¡¼­ ÇÁ·Î±×·¥À¸·Î MultiSelect ½ÃŰ±â  ±è¿µ´ë 2003/03/06 5472 1192
399   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] StringGrid ÀÇ ¼±Åÿµ¿ª¸¸ Ŭ¸³º¸µå·Î º¹»çÇÏ±â  ±è¿µ´ë 2003/03/06 4903 1088
398   [À©µµ¿ìÁî API] RichEdit¿¡ ÀÔ·ÂÇÑ ¹®ÀåÀÇ ½ÇÁ¦ ³ôÀÌ ±¸ÇÏ±â  ±è¿µ´ë 2003/03/06 5073 1430
397   [À©µµ¿ìÁî API] DDE ¾²Áö ¾Ê°í IEÀÇ ÇöÀç URL °¡Á®¿À±â  ±è¿µ´ë 2003/03/06 6002 1680
396   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] MemoÀÇ ÇàÀÇ ¹®ÀÚ¼ö¸¦ Á¦ÇÑÇϰí WordWrap½ÃŰ±â  ±è¿µ´ë 2003/03/06 5264 1315
395   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] OEM conversion  ±è¿µ´ë 2003/03/06 4340 1265
394   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ASCII printing  ±è¿µ´ë 2003/03/06 5329 1220
393   [COM/OLE] DelphiÀÇ OCX¸¦ InstallShield·Î ¹èÆ÷ÇÏ´Â ¹æ¹ý  ±è¿µ´ë 2003/03/06 8386 5644
392   [µ¥ÀÌÅͺ£À̽º] Save DBGrid To Excel  ±è¿µ´ë 2003/03/06 7087 1939
391   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] StringGrid ÀÇ ³»¿ëÀ» Ŭ¸³º¸µå·Î º¹»çÇÏ±â  ±è¿µ´ë 2003/03/06 4489 1061
390   [À©µµ¿ìÁî API] ·¹Áö½ºÆ®¸®ÀÇ º¯°æ¿©ºÎ ¾Ë¸®´Â 2°¡Áö ¹æ¹ý  ±è¿µ´ë 2003/03/06 4786 1286
389   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] desktop ¹è°æÈ­¸éÀ» ÆûÀÇ ¹è°æÈ­¸éÀ¸·Î ±×¸®±â  ±è¿µ´ë 2003/03/06 3713 1037
388   [¸ÖƼ¹Ìµð¾î] JPEG, WAVE ¸¦ resource ÆÄÀÏ¿¡ ³Ö°í Àоî¿À±â  ±è¿µ´ë 2003/03/06 5351 1226
387   [½Ã½ºÅÛ] ¸¶ÀÌÅ© º¼·ý Á¶ÀýÇÏ±â  ±è¿µ´ë 2003/03/06 4679 1289
386   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] À©µµ¿ìÁî "³¯Â¥/½Ã°£" ¼³Á¤È­¸é ¶ç¿ì±â  ±è¿µ´ë 2003/03/06 6226 1825
385   [½Ã½ºÅÛ] ¿Àµð¿À CDÀÇ º¼·ý Á¶ÀýÇÏ±â  ±è¿µ´ë 2003/03/06 3650 1026
384   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¹®ÀÚ¿­ ¼ö½Ä¹®Àå(expression)ÀÇ °á°ú ±¸ÇÏ±â  ±è¿µ´ë 2003/03/06 3421 891
383   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ƯÁ¤ ColorÀÇ Invert Color ±¸ÇÏ±â  ±è¿µ´ë 2003/03/06 4329 1319
382   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µÎ°³ÀÇ RichEdit »çÀÌ¿¡ ³»¿ë º¹»çÇÏ±â  ±è¿µ´ë 2003/03/06 5897 1369
381   [½Ã½ºÅÛ] Redirecting DOS Application Output  ±è¿µ´ë 2003/03/06 4723 1220
380   [½Ã½ºÅÛ] How do I use SetWindowsHookEx ?  ±è¿µ´ë 2003/03/06 6917 960
379   [À©µµ¿ìÁî API] KeyDownÀÇ BeepÀ½À» ¾ø¾ÖÀÚ...  ±è¿µ´ë 2003/03/06 4671 1214
378   [µ¥ÀÌÅͺ£À̽º] ƯÁ¤ ÆûÀÇ ÇöÀç ÆíÁýÁßÀÎ DB Field ±¸ÇÏ±â  ±è¿µ´ë 2003/03/06 4105 1115
377   [À©µµ¿ìÁî API] ÇÁ·Î±×·¥À¸·Î Screensaver µî·ÏÇÏ´Â µÎ°¡Áö ¹æ¹ý  ±è¿µ´ë 2003/03/06 4521 1270
376   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TObjectÀÇ ÇÁ·ÎÆÛƼ¸¦ ¹®ÀÚ¿­·Î ÂüÁ¶ÇÏ±â  ±è¿µ´ë 2003/03/06 5237 1596
375   [À©µµ¿ìÁî API] ¿ÜºÎ ÇÁ·Î±×·¥À» ÃÖ»óÀ§·Î ¼³Á¤ÇÏ±â  ±è¿µ´ë 2003/03/06 5257 1236
374   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] À̹ÌÁö¸¦ ¸¶¿ì½º·Î drag ÇØ¼­ zoom ÇÏ±â  ±è¿µ´ë 2003/03/06 3628 1027
373   [À©µµ¿ìÁî API] Æú´õ³ª ÆÄÀÏÀÇ À©µµ¿ìÁî µî·ÏÁ¤º¸ dialog ¶ç¿ì±â  ±è¿µ´ë 2003/03/06 5115 1478
372   [³×Æ®¿÷/ÀÎÅͳÝ] How to bring a network down - "Win Nuke"  ±è¿µ´ë 2003/03/06 7343 1998

[ÀÌÀü 10°³] [1]..[11][12][13][14] 15 [16][17][18][19][20]..[25] [´ÙÀ½ 10°³]
 

Copyright 1999-2023 Zeroboard / skin by zero