Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Delphi¿ç½ø³Ì·ÃÎÊDBGRID

´ËÎÄÊǸù¾Ý°éË®ÀÏ´óµÄʵÀý×öµÄСÐ޸ģ¡
ÒÔÏÂÊǸöÈ˼û½â£¬ÈçÓдíÎóÇëÖ¸Õý:)
      ÒªÏë¿ç½ø³Ì·ÃÎÊDBGRID£¬Ã²ËÆÖ»ÄÜÓÃHOOK£¬Ð´Ò»¸öDLLÏë°ì·¨×¢È뵽Ŀ±ê½ø³Ì¡£×¢Èë³É¹¦ºó£¬Ê¹DLLÓëÄ¿±ê½ø³ÌÔÚͬһ½ø³Ì¿Õ¼äÖÐ(ÆäÄÚÓÐһЩϸ½ÚÎÊÌ⣬Çë²Î¼û´úÂë)£¬Õâʱ¿ÉÒÔ·ÃÎÊÄ¿±ê½ø³ÌµÄVCL×é¼þ¡£²¢°ÑVCL×é¼þµÄÊý¾Ýͨ¹ý½ø³ÌͨÐŵķ½Ê½·¢¸øSniffer½ø³Ì¡£
ÈçºÎ½øÐÐ×¢È룿
     ¿ÉÒÔ°²×°Ò»¸öWH_CALLWNDPROC¹³×Ó£¬ÕâÑùµ±ÓÐÏûÏ¢ÔÚ´°¿Úº¯ÊýÖÐʱ£¬ÏµÍ³¾Í»á×°ÔØHOOK£¬¼´Ö´ÐÐDLL²¿·Ö¡£
ÈçºÎ·¢ÏûÏ¢£¿
    ¿ÉÒÔÔÚDLLÖÐÉèÖÃÒ»¸ö×Ô¶¨ÒåÏûÏ¢£¬ÔÚ°²×°Íê¹³×Ӻ󣬷¢ËÍÒ»¸ö×Ô¶¨ÒåÏûÏ¢ÖÁÄ¿±ê½ø³ÌµÄ´°¿Úº¯Êý¡£
ÒÔÏÂʵÀý¿É¶Á³öÁíÒ»½ø³ÌµÄEDIT¡¢LABEL¡¢DBGRIDµÈ¿Ø¼þµÄÖµ¡£
ÈçºÎÁ˽âÕâ¸öÔ­Àí£¬¿ç½ø³Ì¶ÁÈ¡StringGridµÈ¿Ø¼þÒ²²¢·ÇÄÑÊ£¡
//DLLµ¥Ôª1
(*//
±êÌ⣺´°ÌåÐá̽Æ÷
×÷ÕߣºÍõ¼¯ðÀ(Zswang)
²©¿Í£ºhttp://blog.csdn.net/zswang
ÈÕÆÚ£º2009Äê3ÔÂ14ÈÕ
.//*)
unit Sniffer;
interface
uses Windows,DBGrids,DB;
function ExeSniffer( // Ö´ÐÐÐá̽
AHandle: THandle; // ´°Ìå¾ä±ú
AParam: Integer // ¸½¼Ó²ÎÊý
): BOOL; stdcall;
implementation
// ×ðÖØ×÷Õߣ¬×ªÌùÇë×¢Ã÷³ö´¦ Íõ¼¯ðÀ(Zswang) 2009Äê3ÔÂ14ÈÕ
uses SysUtils, Classes, Controls, StdCtrls, Messages;
var
WM_SNIFFWINDOW: Longword;
type
TSnifferInfo = packed record
rHOOK: HHOOK;
rHandle: HWND;
rParam: Integer;
end;
PSnifferInfo = ^TSnifferInfo;
var
vMapFile: THandle;
vSnifferInfo: PSnifferInfo;
var
ControlAtom: TAtom;
ControlAtomString: string = '';
RM_GetObjectInstance: DWORD; // registered window message
function FindControl(Handle: HWnd): TWinControl;
var
OwningProcess: DWORD;
begin
Result := nil;
if (Handle <> 0) and (GetWindowThreadProcessID(Handle, OwningProcess) <> 0) and
(OwningProcess = GetCurrentProcessId) then
begin
if GlobalFindAtom(PChar(ControlAtomString)) = ControlAtom then
Result := Pointer(GetProp(Handle, MakeIntAtom(ControlAtom)))
else
Result := Pointer(SendMessage(Handle, RM_GetObjectInstance, 0, 0));
end;
end; { FindControl }
function


Ïà¹ØÎĵµ£º

DelphiÖС°Á÷¡±µÄÀûÓà EXE¼ÓÃÜ|µç×Ӻؿ¨


Ò»¡¢DelphiÖÐÁ÷µÄ»ù±¾¸ÅÄî¼°º¯ÊýÉùÃ÷   
ÔÚDelphiÖУ¬ËùÓÐÁ÷¶ÔÏóµÄ»ùÀàΪTStreamÀ࣬ÆäÖж¨ÒåÁËËùÓÐÁ÷µÄ¹²Í¬ÊôÐԺͷ½·¨¡£   
TStreamÀàÖж¨ÒåµÄÊôÐÔ½éÉÜÈçÏ£º   
1¡¢Size:´ËÊôÐÔÒÔ×Ö½Ú·µ»ØÁ÷ÖÐÊý¾Ý´óС¡£   
2¡¢Position:´ËÊôÐÔ¿ØÖÆÁ÷ÖдæÈ¡Ö¸ÕëµÄλÖà ......

delphiÔõÑùʵÏÖÔ¶³Ì¿ØÖÆ(ת)

½«Ô¶³Ì¿ØÖÆÓ¦ÓÃÓÚ½ÌѧÖУ¬ÒѳÉΪĿǰ¼ÆËã»ú»¯½ÌѧµÄÖØÒªÊֶΡ£Ò»¶¨ÓкܶàµÄÍø³æÏëÁ˽âÕâÖÖÍøÂç½Ìѧ·½Ê½µÄ±à³ÌÔ­Àí°É¡£ÔÚ´ËÎÒÃǾÍÒÔÒ»¸ö¼òµ¥µÄÔ¶³Ì¿ØÖƳÌÐò×÷ΪʾÀý£¬ËµÃ÷ÕâÖÖÍøÂç±à³ÌµÄ»ù±¾Ô­Àí¡£±¾³ÌÐòÒÔDelphi±à³ÌΪÀý¡£
¡¡¡¡Æäʵ¸Ã³ÌÐòµÄ¹¤×÷»úÖÆºÜ¼òµ¥£¬Êܿط½ÔËÐÐÒ»¸ö³ÌÐò£¬ÓÃÓÚÕìÌý¶Ë¿Ú²¢½ÓÊÕÊý¾Ý°ü£¬¶øÖ÷¿Ø·½Í¨¹ý¶ ......

delphi ±àдµÄcom ¶ÔÏó ÓÃdelphi µÄµ÷ÓÃʵÀý

delphi ±àдµÄcom ¶ÔÏó ÓÃdelphi µÄµ÷ÓÃʵÀý
COM ¶ÔÏóÓë ǰһƪÎÄÕ嵀 PHPµ÷ÓõÄCOMΪͬһ¸ö¶ÔÏ󣬹ʲ»Àý³öCOM.
procedure TForm1.Button4Click(Sender: TObject);
var
  myCounter, mReturn: variant;
begin
  myCounter := CreateOleObject('abc.myxml');
  mReturn := myCounter.xml;
 &nbs ......

¡¾×ª¡¿delphi¶ÁдtxtÎļþ

http://meidi152.blog.163.com/blog/static/5423302009610103610744/
 
1. memo¿Ø¼þ¶ÁÈ¡txt
memo1.Lines.LoadfromFile('E:\*\*.txt');
2.
Procedure NewTxt(FileName:String);
Var
F : Textfile;
Begin
if fileExists(FileName) then DeleteFile(FileName); {¿´ÎļþÊÇ·ñ´æÔÚ,ÔÚ¾Í刪³ý}
AssignFile(F, ......

Delphi in a Unicode World Part II

Delphi in a Unicode World Part II:  New RTL Features and
Classes to Support Unicode
By: Nick
Hodges
Ô­ÎÄÁ´½Ó:http://dn.codegear.com/article/38498
Abstract: This article will cover the new features of the Tiburon
Runtime Library that will help handle Unicode strings.
//
 & ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ