ÇóÒ»¶Îdelphi´úÂëתC#´úÂ룬¼±Ó㬿ÉÈËÃñ±ÒÖ§¸¶£¬Ð»Ð»
¼±Óá£ÁªÏµQQ£º8775262£¬Ð»Ð»¡£
ÐèÒª½øÐÐDllImportµÄµØ·½Ö±½ÓдDLLImport.·½·¨Ãû¡£
È磺DLLImport.GlobalAddAtom(¡¡);
Îļþ£ºUShare.pas
Delphi(Pascal) code:
unit UShare;
interface
uses Windows, Messages;
const
cMapFileName = 'HookSG_SharedData';
const
CM_MSGWNDCREATED = WM_USER + 1000;
CM_QUERYROW = WM_USER + 1001;
CM_QUERYCOL = WM_USER + 1002;
CM_HOOKCELL = WM_USER + 1003;
type
PShareData = ^TShareData;
TShareData = record
hkMsg: HHook;
HostPID: DWORD;
HostWnd: HWND;
DestWnd: HWND;
MsgWnd: HWND;
Text: array[0..1024] of Char;
end;
var
hMapFile: THandle;
P: PShareData;
implementation
end.
Îļþ£ºUHook.pas:
Delphi(Pascal) code:
unit UHook;
interface
uses Windows, Messages, SysUtils, Controls, Grids;
procedure InstallHook(MainWnd, DestWnd: HWND); stdcall;
procedure UninstallHook; stdcall;
function GetHookedCell: PChar; stdcall;
implementation
uses UShare;
var
ControlAtom: TAtom;
ControlAtomString: string;
RM_GetObjectInstance: DWORD; // registered window message
function FindControl(Handle: HWnd): TWinControl;
var
OwningProcess: DWORD;
begin
Ïà¹ØÎÊ´ð£º
ÇëÎÊDelphiÓÐÊ÷ÐοؼþÂð£¿
ÔõÑùʹÓã¿
Ttreeview
treeview.items.addchild(nil(Éϼ¶½Úµã),'°¸·¢Ê±·¢'(text));
raize ¿Ø¼þ°üÀïÃæÓУ¬csdnÓÐÏÂÔØµÄ
²é°ïÖúTTreeViewºÍTNodeÁ½¸öÀà
TTreeView ......
VC ¿ØÖÆÌ¨³ÌÐò:
#include <iostream>
using namespace std;
int main()
{
const int def_buffer = 1024 * 4;
DWORD t;
BYTE b[def_buffer];
memset(b, 0, sizeof(b));
PBYTE p;
t = GetTickC ......
txt ºÍXML ¸ñʽÏàÓ¦
²»½èÖúDataSet
µ¼Èë¶ÁÈ¡TXTÎļþ
È»ºóÖ±½ÓдÈëXML(ͬһÎļþ,²»Í¬Êý¾Ý,µÝÔöÔÊý¾ÝûÓб»¸²¸ÇÇé¿öÏÂÔö¼ÓÊý¾Ý.)
½Ì¸öÒªµã»ò×îºÃÊÇÓиö´úÂëÌáʾµÄ
¹ý·ºÃºº °ï¸öæÈö^^
²»»á£¬°ïÂ¥Ö÷ ......
¸÷λ¸ßÊָϿì°ï°ïæ¡£
ÏÖÔÚÓÐÒ»¸ödelphiдµÄdll£¬º¯ÊýÖÐÓÐPIntegerµÄ·µ»Ø²ÎÊý£¬ÔÚdelphiÖпÉÒÔÕý³£µ÷Ó㬵«ÊÇÎÒÔÚvbÀïдµÄʱºò¾Í²»ÖªµÀ¸ÃÔõôÀ´µ÷ÓÃÁË¡£
Çë¿´´úÂë
ÒÔÏÂÊÇdelphiÖеĺ¯Êý¶¨ÒåºÍµ÷ÓôúÂ룬ÄÜÕý³£ÔËÐ ......