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

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


Category

  ±è¿µ´ë(2004-07-24 22:37:47, Hit : 4489, Vote : 1143
 http://www.howto.pe.kr
 Á¦¾îÆÇÀÇ ¸ðµç applet Á¤º¸ ±¸Çϱâ

unit Unit1;

interface

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

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

type
   TCPlAppletFunc =
     function(
       hwndCPl: HWnd; // handle to Control Panel window
       uMsg: DWord; // message
       lParam1: Longint; // first message parameter
       lParam2: Longint // second message parameter
     ): Longint; stdcall;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function LoadStringFromModule(Module: HInst; ID: Integer): string;
const
  MaxLen = 2000;
var
  Len: Integer;
begin
  SetLength(Result, MaxLen);
  Len := LoadString(Module, ID, PChar(Result), MaxLen);
  if Len > 0 then
    SetLength(Result, Len)
  else
    Result := '';
end;

procedure ShowCPLNameAndDescription(FileName: string; Memo1: TMemo);
var
   H: HInst;
   CPlApplet: TCPlAppletFunc;
   NumberOfApplets: Integer;
   AppletInfo: TCPLInfo;
   I: Integer;
   Name, Desc: string;
begin
   // Load CPL
   H:= LoadLibrary(PChar(FileName));
   if H <> 0 then
   try
     // Get CPlApplet Function from Module
     CPlApplet:= GetProcAddress(H, 'CPlApplet');
     if Assigned(CPlApplet) then
     begin
       // Get Number of Applets contained
       NumberOfApplets:= CPlApplet(Application.Handle,
         CPL_GetCount, 0, 0);
       Memo1.Lines.Add((Format('There are %d Applets in file: ' + FileName,
         [NumberOfApplets])));
       Memo1.Lines.Add('    -------------------');
       // For each Applet in the file
       for I:= 0 to NumberOfApplets - 1 do
       begin
         // Get Name and Desription
         CPlApplet(Application.Handle, CPL_INQUIRE, I,
           Longint(@AppletInfo));
         Name:= LoadStringFromModule(H, AppletInfo.idName);
         Desc:= LoadStringFromModule(H, AppletInfo.idInfo);

         // And display them
         Memo1.Lines.Add(Format('Applet No %d: %s / %s',
           [I, Name, Desc]));
       end;
     end;
   finally
     // Unload CPL
     FreeLibrary(H);
   end;
end;

procedure GetFileList( FileList: TStringList; inDir, Extension : String );
  procedure processSearchRec( aSearchRec : TSearchRec );
  begin
    if ( aSearchRec.Attr and faDirectory ) <> 0 then
    begin
      if ( aSearchRec.Name <> '.' ) and
         ( aSearchRec.Name <> '..' ) then
      begin
        FileList.Add( aSearchRec.Name );
        GetFileList( FileList, Extension, InDir + '\' + aSearchRec.Name );
      end;
    end
    else
      FileList.Add( aSearchRec.Name );
  end;

var CurDir : String;
  aSearchRec : TSearchRec;
begin
  CurDir := inDir + '\*.' + Extension;
  if FindFirst( CurDir, faAnyFile, aSearchRec ) = 0 then
  begin
    ProcessSearchRec( aSearchRec );
    while FindNext( aSearchRec ) = 0 do
      ProcessSearchRec( aSearchRec );
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  FL: TStringList;
  i : Integer;
begin
  Memo1.Lines.Clear;
  FL := TStringList.Create;
  try
    GetFileList( FL, 'c:\winnt\system32', 'cpl' );
    for i := 0 to Pred(FL.Count) do
      ShowCPLNameAndDescription(fl.Strings[i], Memo1);
  finally
    FL.Free;
  end;
end;

end.





211   [À©µµ¿ìÁî API] ÄÞÆ÷³ÍÆ®ÀÇ Hint ¿¡ ±×¸²(Bitmap) ³Ö±â  ±è¿µ´ë 2003/04/11 5266 1364
210   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Űº¸µåÀÇ Shift+Tab ÀÌ ´­¸°°Íó·³ ó¸®ÇÏ±â  ±è¿µ´ë 2003/04/14 4813 1317
209   [À©µµ¿ìÁî API] ÆûÀÌ Minimized µÇ¾úÀ»¶§ ±ô¹ÚÀÌ°Ô Çϱâ 2  ±è¿µ´ë 2003/04/14 6075 1327
208   [COM/OLE] ±×¸®µå ÀÚ·á ¿¢¼¿·Î Á»´õ ºü¸£°Ô º¸³»±â  °ø¼ºÈ¯ 2003/04/16 5624 983
207   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] C¿¡¼­ ÇѱÛÀÚ¸£±â  °ø¼ºÈ¯ 2003/04/16 4927 982
206   [COM/OLE] ±âÁ¸ Excel ¹®¼­ ºÒ·¯¿Í¼­ ÆíÁýÈÄ ÀúÀåÇÏ±â  ±è¿µ´ë 2003/04/18 5564 1296
205   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] thread-safe Queue ±¸Çö  ±è¿µ´ë 2003/08/18 6327 1372
204   [¾Ë°í¸®Áò] ¼ýÀÚ¸¦ KB, MB, GB ´ÜÀ§·Î ȯ»êÇÏ±â  ±è¿µ´ë 2003/11/13 5131 1174
203   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] StrToFloatDef  ±è¿µ´ë 2003/11/13 5038 1261
202   [¾Ë°í¸®Áò] ±¸ºÐÀÚ(delimiter)¸¦ »ç¿ëÇÑ ¹®ÀÚ¿­ ÆÄ½Ì(parsing)  ±è¿µ´ë 2003/11/13 5239 1154
201   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] thread-safe Queue¸¦ ÀÌ¿ëÇÑ TLogThread  ±è¿µ´ë 2003/11/18 4904 1150
200   [³×Æ®¿÷/ÀÎÅͳÝ] IOCP(I/O Completion Port) class  ±è¿µ´ë 2003/11/18 11114 888
199   [³×Æ®¿÷/ÀÎÅͳÝ] Winsock WriteFile and Overlapped IO  ±è¿µ´ë 2003/11/18 5488 1237
198   [½Ã½ºÅÛ] À©µµ¿ìÁî ¼­ºñ½º ¸ñ·Ï ±¸ÇÏ±â  ±è¿µ´ë 2004/07/22 4677 1244
197   [½Ã½ºÅÛ] À©µµ¿ìÁî ¼­ºñ½º »óÅ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/22 5085 1286
196   [½Ã½ºÅÛ] À©µµ¿ìÁî ¼­ºñ½º ½ÃÀÛ/ÁßÁö ÇÏ±â  ±è¿µ´ë 2004/07/22 6259 1557
195   [½Ã½ºÅÛ] À©µµ¿ìÁî ½Ã½ºÅÛÀÇ ½ºÅ©·Ñ¹Ù µÎ²² ¹Ù²Ù±â  ±è¿µ´ë 2004/07/24 5705 1407
194   [½Ã½ºÅÛ] ¸¶¿ì½º ¾Æ·¡ÀÇ À©µµ¿ì ÇÚµé ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 11872 4092
193   [½Ã½ºÅÛ] ³» ÇÁ·Î±×·¥ÀÇ ½ÇÇà ¿ì¼±¼øÀÇ ¹Ù²Ù±â  ±è¿µ´ë 2004/07/24 5172 1399
192   [À©µµ¿ìÁî API] ³» ÇÁ·Î±×·¥ÀÇ È­¸éÀ» °¡¸®´Â ÇÁ·Î±×·¥ ¸®½ºÆ®  ±è¿µ´ë 2004/07/24 4638 1212
191   [À©µµ¿ìÁî API] Taskbar ÀÇ Æ¯Á¤ À§Ä¡¿¡ popup ¸Þ´º ¶ç¿ì±â  ±è¿µ´ë 2004/07/24 4670 1214
190   [À©µµ¿ìÁî API] Taskbar ÀÇ À§Ä¡ ÃßÀûÇÏ±â  ±è¿µ´ë 2004/07/24 4184 1076
189   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] À©µµ¿ìÁî"½ÃÀÛ" ¹öưÀ§¿¡ ±Û¾¾ ¾²±â  ±è¿µ´ë 2004/07/24 4228 1158
  [½Ã½ºÅÛ] Á¦¾îÆÇÀÇ ¸ðµç applet Á¤º¸ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 4489 1143
187   [À©µµ¿ìÁî API] ¹Ù·Î Á÷Àü¿¡ active µÇ¾ú´ø À©µµ¿ì¿Í ÄÜÆ®·Ñ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 4701 1181
186   [À©µµ¿ìÁî API] Áö¿øÇϴ Űº¸µå ÀÔ·Â ¾ð¾î ±¸ÇÏ°í º¯°æÇÏ±â  ±è¿µ´ë 2004/07/24 4788 1276
185   [À©µµ¿ìÁî API] ÇöÀç Űº¸µå ÀÔ·Â ¾ð¾î ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 5059 1368
184   [COM/OLE] À©µµ¿ìÁî "ÀÛ¾÷ Ç¥½ÃÁÙ ¹× ½ÃÀÛ ¸Þ´º µî·Ï Á¤º¸" È­¸é  ±è¿µ´ë 2004/07/25 6134 1642
183   [COM/OLE] À©µµ¿ìÁî "ÀÎÅÍ³Ý µî·Ï Á¤º¸" È­¸é  ±è¿µ´ë 2004/07/25 4305 1333
182   [COM/OLE] À©µµ¿ìÁî "³¯Â¥/½Ã°£ µî·Ï Á¤º¸" È­¸é  ±è¿µ´ë 2004/07/25 6448 1655
181   [COM/OLE] À©µµ¿ìÁî "°Ë»ö: ÆÄÀÏ ¶Ç´Â Æú´õ" È­¸é  ±è¿µ´ë 2004/07/25 5026 1402
180   [COM/OLE] À©µµ¿ìÁî "½Ã½ºÅÛ Á¾·á" È­¸é  ±è¿µ´ë 2004/07/25 4638 1313
179   [COM/OLE] À©µµ¿ìÁî "¸ðµç âÀ» ÃÖ¼ÒÈ­"  ±è¿µ´ë 2004/07/25 6292 1719
178   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TList ¸¦ ÀÌ¿ëÇÑ stack ±¸Á¶ ±¸Çö  ±è¿µ´ë 2004/07/25 4443 1154
177   [À©µµ¿ìÁî API] Æû¿¡ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú ÁÖ±â  ±è¿µ´ë 2004/07/25 4727 1242
176   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸ð¼­¸®°¡ µÕ±Ù(rounded ends) TMemo ¸¸µé±â  ±è¿µ´ë 2004/07/25 4726 1192
175   [½Ã½ºÅÛ] ·ÎÄà °¡»ó µå¶óÀ̹ö(substitution device) ¸¸µé°í Á¦°ÅÇÏ±â  ±è¿µ´ë 2004/07/25 7475 1352
174   [³×Æ®¿÷/ÀÎÅͳÝ] ³×Æ®¿öÅ© µå¶óÀÌºê ¿¬°á È­¸é ¶ç¿ì±â  ±è¿µ´ë 2004/07/26 6009 1613
173   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TProgressbar ÀÇ »ö»ó ¹Ù²Ù±â  ±è¿µ´ë 2004/07/26 4674 1244
172   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TTrewView, TListView ¸¦ À̹ÌÁö·Î ÀúÀåÇÏ±â  ±è¿µ´ë 2004/07/26 4416 967

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

Copyright 1999-2023 Zeroboard / skin by zero