ÇóÒ»¶Î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
Ïà¹ØÎÊ´ð£º
ÎÒ°²×°µÄÊÇÆóÒµ°æ¡£¡£¡£
ÎÒÎÊÏ£¬ CTRL+×ó¼ü Äܲ鿴 windows.pas Âð£¿
¾ÍÊÇ ½Ó¿ÚÀïµÄwindows¡£
µ±È»¿ÉÒÔ,CTRL+×ó¼üµã»÷Interface²¿·ÖµÄWindows¾Í¿ÉÒÔÁË
ɶɶÆóÒµ°æ£¿È¥°²×°Ä¿Â¼¿´¿´libÎļþ¼ÐÏÂÓÐÃ»Ó ......
procedure RunFunction;
type
TFunc = function(A: Integer): Integer;stdcall;¡¡//ÕâÀï¸ù¾ÝDLLÀïÃæº¯ÊýµÄÉùÃ÷ÐÞ¸Ä
var
......
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 ......
DataSetµ¼³öxml Åú´¦Àí(Ñ»·)µÃÔõô´¦Àí
XMLÎļþ
<A>
<B>
<C>
</C>
&nb ......