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

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


Category

  ±è¿µ´ë(2008-12-09 20:12:00, Hit : 6158, Vote : 1482
 http://www.howto.pe.kr
 ÀÛ¾÷ Ç¥½ÃÁÙ¿¡ º¸ÀÌ´Â ÇÁ·Î±×·¥ÀÇ ¾ÆÀÌÄÜ Á¤º¸

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    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
  vHandle: THandle;
  vCount: Integer;
  vProcessId: Longword;
  vProcess: THandle;
  vPointer: Pointer;
  vBuffer: array[0..255] of Char;
  vNumberOfBytesRead: Longword;
  I: Integer;
  vTBBUTTON: TTBButton;
  vWindow: THandle;
  BtnRect: TRect;
  R: Cardinal;
begin
  Memo1.Clear;
  
  vHandle := FindWindow('Shell_TrayWnd', nil);
  vHandle := FindWindowEx(vHandle, 0, 'ReBarWindow32', nil);
  vHandle := FindWindowEx(vHandle, 0, 'MSTaskSwWClass', nil);
  vHandle := FindWindowEx(vHandle, 0, 'ToolbarWindow32', nil);
  if vHandle = 0 then Exit;
  
  vCount := SendMessage(vHandle, TB_BUTTONCOUNT, 0, 0);
  GetWindowThreadProcessId(vHandle, vProcessId);
  vProcess := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE, False, vProcessId);
  vPointer := VirtualAllocEx(vProcess, nil, $1000, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE);
  try
    for i := 0 to vCount - 1 do
    begin
      SendMessage(vHandle, TB_GETBUTTON, i, Integer(vPointer));
      ReadProcessMemory(vProcess, vPointer, @vTBBUTTON, SizeOf(TTBButton), vNumberOfBytesRead);
      if vTBBUTTON.fsStyle = 170 then Continue; // ±×·ì
      if (vTBBUTTON.fsState and TBSTATE_HIDDEN) = TBSTATE_HIDDEN then Continue;
      
      ReadProcessMemory(vProcess, Pointer(vTBBUTTON.dwData), @vWindow, SizeOf(Integer), vNumberOfBytesRead);
      SendMessage(vHandle, TB_GETBUTTONTEXT, i, Integer(vPointer));
      ReadProcessMemory(vProcess, vPointer,@vBuffer[0], SizeOf(vBuffer), vNumberOfBytesRead);

      SendMessage(vHandle,TB_GETRECT, vTBBUTTON.idCommand, integer(integer(@vBuffer[0]) + SizeOf(vTBBUTTON)));
      ReadProcessMemory(vProcess, Pointer(integer(@vBuffer[0]) + SizeOf(vTBBUTTON)), @BtnRect, SizeOf(BtnRect), R);

      Memo1.Lines.Add(vBuffer+' - '+
                      '(hWnd='+inttostr(vWindow)+')'+
                      '(left='+inttostr(BtnRect.Left)+')'+
                      '(top='+inttostr(BtnRect.Top)+')'+
                      '(width='+inttostr(BtnRect.Right-BtnRect.Left)+')'+
                      '(height='+inttostr(BtnRect.Bottom-BtnRect.Top)+')');
    end;
  finally
    VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE);
    CloseHandle(vProcess);
  end;
end;

end.





  [À©µµ¿ìÁî API] ÀÛ¾÷ Ç¥½ÃÁÙ¿¡ º¸ÀÌ´Â ÇÁ·Î±×·¥ÀÇ ¾ÆÀÌÄÜ Á¤º¸  ±è¿µ´ë 2008/12/09 6158 1482
970   [À©µµ¿ìÁî API] ½ÇÇà ÆÄÀÏÀÇ ¾ÆÀÌÄÜ ¹Ù²Ù±â  ±è¿µ´ë 2008/11/27 7671 1432
969   [³×Æ®¿÷/ÀÎÅͳÝ] TClientSocket ¿¡ Local IP ¹ÙÀεùÇÏ±â  ±è¿µ´ë 2008/11/25 6482 1546
968   [¾Ë°í¸®Áò] Boyer-Moore-Horspool Text Searching  ±è¿µ´ë 2008/11/24 5142 1384
967   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Tab, Shift+Tab Ű À̺¥Æ® »ç¿ëÇÏ±â  ±è¿µ´ë 2008/11/21 5109 1423
966   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TStringList vs. THashedStringList  ±è¿µ´ë 2008/11/04 5346 1407
965   [½Ã½ºÅÛ] ÇÁ·Î¼¼½º°¡ ¿øµµ¿ìÁî ¿ø°Ý Å͹̳ο¡¼­ ½ÇÇàÁßÀÎÁö °Ë»ç  ±è¿µ´ë 2008/11/04 5340 1518
964   [½Ã½ºÅÛ] ¿øµµ¿ìÁî µµ¸ÞÀÎ À̸§ ±¸ÇÏ±â  ±è¿µ´ë 2008/11/04 12301 1390
963   [½Ã½ºÅÛ] »ç¿ëÁßÀÎ USB Æ÷Æ®ÀÇ ÀåÄ¡Á¤º¸ ±¸ÇÏ±â  ±è¿µ´ë 2008/11/04 12363 1503
962   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TreeviewÀÇ ¼öÆò ½ºÅ©·Ñ¹Ù °¨Ãß°í ½ºÅ©·Ñ ¸·±â  ±è¿µ´ë 2006/03/22 5568 1278
961   [À©µµ¿ìÁî API] ¹ÙÅÁÈ­¸éÀÇ ¸ðµç â ÃÖ¼ÒÈ­ÇÏ±â  ±è¿µ´ë 2006/02/28 5542 1333
960   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÀÏÁ¤½Ã°£ °æ°úÈÄ ¾ø¾îÁö´Â MessageBox  ±è¿µ´ë 2006/02/28 6604 1634
959   [½Ã½ºÅÛ] SystemÀÇ Idle »óŸ¦ ¾Ë¾Æ³»´Â API  ±è¿µ´ë 2006/02/28 6221 1477
958   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListBox¿¡ Edit ¿Ã·Á Ç׸ñ ÆíÁýÇÏ±â  ±è¿µ´ë 2006/02/28 4907 1244
957   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Æû Èçµé±â  ±è¿µ´ë 2006/02/28 5378 1230
956   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸¶¿ì½º·Î ProgressBarÀÇ Position ¹Ù²Ù±â  ±è¿µ´ë 2006/02/28 4947 1285
955   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListBox µå·¡±×ÇÏ¿© ¾ÆÀÌÅÛ À̵¿ÇÏ±â  ±è¿µ´ë 2006/02/28 4984 1211
954   [½Ã½ºÅÛ] ÆûÀÇ Move/Resize ½ÃÀÛ,Á¾·á À̺¥Æ® °¨ÁöÇÏ±â  ±è¿µ´ë 2006/02/28 5284 1389
953   [COM/OLE] IEÀÇ ¼Ó¼ºÀ» º¯°æÇÏ¿© ¶Ù¿ì±â  ±è¿µ´ë 2006/02/28 5394 1266
952   [À©µµ¿ìÁî API] ¼¼·Î ±Û²Ã Á¦°ÅÇÑ FontDialog  ±è¿µ´ë 2006/02/28 5268 1381
951   [½Ã½ºÅÛ] CPU À̸§ ±¸Çϱâ2  ±è¿µ´ë 2005/09/13 5767 1380
950   [³×Æ®¿÷/ÀÎÅͳÝ] IP Helper API ¸¦ ÀÌ¿ëÇÑ ³×Æ®¿öÅ© Ä«µå Enable/Disable ½ÃŰ±â  ±è¿µ´ë 2005/09/10 6190 1349
949   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Æû¿¡ ÀÚ¼®È¿°ú ÁÖ±â (Delphi 6 ÀÌÇÏ)  ±è¿µ´ë 2005/08/04 6197 1333
948   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] °´Ã¼ÀÇ valid°Ë»ç Assigned() ´ëü  ±è¿µ´ë 2005/07/29 4835 1276
947   [½Ã½ºÅÛ] ½Ã½ºÅÛ ´ë±â¸ðµå/È­¸é º¸È£±â/¸ð´ÏÅÍ ²ô±â À̺¥Æ® °¨ÁöÇÏ±â  ±è¿µ´ë 2005/07/21 7115 1538
946   [½Ã½ºÅÛ] À©µµ¿ìÁî GUI ±âº» ÆùÆ®Á¤º¸ ±¸ÇÏ±â  ±è¿µ´ë 2005/07/14 5584 1383
945   [½Ã½ºÅÛ] À©µµ¿ìÁî ÀԷµµ±¸¸ðÀ½ÀÇ ÇÑ/¿µ Åä±ÛÇÏ±â  ±è¿µ´ë 2005/06/24 5379 1415
944   [COM/OLE] ActiveFormÀÇ OnDestroy ´ë¿ë  ±è¿µ´ë 2005/04/21 5380 1264
943   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListViewÀÇ Å¸ÀÌÆ² ÆùÆ® ¹Ù²Ù±â  ±è¿µ´ë 2005/03/31 5309 1274
942   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÀÏÁ¤½Ã°£ °æ°úÈÄ ¾ø¾îÁö´Â MessageDlg/ShowMessage  ±è¿µ´ë 2005/03/26 5967 1301
941   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÇÁ·Î±×·¥ÀÇ bitmapÀ» MS ±×¸²ÆÇÀ¸·Î ÆíÁýÇÏ¿© ´Ù½Ã ºÒ·¯¿À±â  ±è¿µ´ë 2005/03/22 5316 1366
940   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] RichEdit 2.0 ÁÙ°£°Ý Á¶Á¤  ±è¿µ´ë 2005/02/11 7519 1312
939   [COM/OLE] Ž»ö±â¿¡¼­ ÆÄÀÏÀ» ¼±ÅÃÇÏ¿© ActiveX(ActiveFortm)¿¡ Drag&Drop ÇÏ±â  ±è¿µ´ë 2005/01/06 7685 1303
938   [À©µµ¿ìÁî API] TDownloadURL¸¦ »ç¿ëÇÑ ÆÄÀÏ ´Ù¿î¹Þ±â  ±è¿µ´ë 2004/12/26 6585 1300
937   [COM/OLE] TWebBrowser¿¡ Á÷Á¢ HTML ¼Ò½ºÄÚµå ³Ö±â  ±è¿µ´ë 2004/12/26 6229 1314
936   [À©µµ¿ìÁî API] À©µµ¿ìÁî ½Ã½ºÅÛ Àüü¿¡¼­ »ç¿ëÀÚÀÇ ¸¶¿ì½º¿Í Űº¸µå ÀÔ·ÂÀÌ ÀÖ´ÂÁö °Ë»çÇÏ±â  ±è¿µ´ë 2004/12/26 6203 1391
935   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ´ÙÀ̾ó·Î±× ¹Ú½º°¡ ÀÌ¹Ì ¶°ÀÖ´ÂÁö °Ë»çÇÏ¿© °­Á¦·Î ´Ý±â  ±è¿µ´ë 2004/12/22 5162 1247
934   [À©µµ¿ìÁî API] URLDownloadToFile()¸¦ »ç¿ëÇÑ ÆÄÀÏ ´Ù¿î¹Þ±â  ±è¿µ´ë 2004/12/15 7850 1431
933   [COM/OLE] ³» ÇÁ·Î±×·¥¿¡¼­ ¼±ÅÃÇÑ text¸¦ ´Ù¸¥ ÇÁ·Î±×·¥¿¡ Drag&DropÀ¸·Î ÁÖ±â  ±è¿µ´ë 2004/12/10 5492 1135
932   [COM/OLE] ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­ ¼±ÅÃÇÑ text¸¦ ³» ÇÁ·Î±×·¥¿¡¼­ Drag&DropÀ¸·Î ¹Þ±â  ±è¿µ´ë 2004/12/09 5679 1240

1 [2][3][4][5][6][7][8][9][10]..[25] [´ÙÀ½ 10°³]
 

Copyright 1999-2019 Zeroboard / skin by zero