×

2020最好用的delphi版本 delphi

现在delphi 哪个版本好似?delphi怎么HOOK指定API函数

admin admin 发表于2022-07-11 09:42:31 浏览119 评论0

抢沙发发表评论

现在delphi 哪个版本好似


delphi7 最经典,控件也最多,不过对windows 7 或8 的支持有点小问题,..特别当你在windows xp下运行编译时,...毕竟delphi 7出来的年头太多了....
delphi xe2 则解决了这个问题,但相应的,不是很兼容 原有的delphi 7 的控件...
delphi xe5 支持android,不过目前来说,只能编译一些简单的普通的程序,目前还存在着编译后文件过大,最小5M 载入时间长等问题,不过也可以用了...
另外,delphi xe5的控件可能相对 来说要少些,毕竟很多厂商还没有开发...

前面不是说了嘛,如果你的软件不需要控件,当然是delphi xe5,如果需要控件,可以考虑XE3或4,现在的DELPHI XE系列真的不错,很稳定..BUG相当少...现在不建议你用DELPHI7 ..因为对windows 7以后支持有点问题!

delphi怎么HOOK指定API函数


使用 delphi 语言来 Hook 指定的 API 函数,比较简便的方法如下:

1、下载 CnPack 小组的免费开源组件包 CnVCL,将之安装到 delphi 系统中:

2、在 CnVCL 组件包中,提供了 CnInProcessAPIHook 单元,该单元文件提供了 TCnInProcessAPIHook 组件,及其他相关的函数,提供了“进程内实现 APIHook ”功能:-2020最好用的delphi版本

其主要定义如下:

3、编写代码实现 HOOK 指定 API 函数的示例:

(1)先要引入单元文件:

uses CnInProcessAPIHook;

(2)建立 TCnInProcessAPIHook 实例,并指定需要 HOOK 的 API :

procedure TForm1.FormCreate(Sender: TObject);
begin
  FCnAPIHook := TCnInProcessAPIHook.Create(Self);
  FCnAPIHook.DllFunction := ’MessageBoxA’;//需要 HOOK 的 API 
  FCnAPIHook.DllName := ’User32.dll’;//API所属动态库名称
  FCnAPIHook.ParamCount := 4;
  FCnAPIHook.Mutex := True;
  FCnAPIHook.RestoreWhenOnHook := True;
  FCnAPIHook.OnAPIHookProc := CnHookAPI1APIHookProc;//指定响应事件
end;

(3)开始 HOOK 代码:

procedure TForm1.Button2Click(Sender: TObject);
begin
 FCnAPIHook.Active := True;
end;

终止 HOOK 代码:

procedure TForm1.Button3Click(Sender: TObject);
begin
 FCnAPIHook.Active := False;
end;

新手学DELPHI什么书好


如果是自学,我建议你学习《战胜Delphi必做练习50题》和零点工作室编的《Delphi7基础教程》。一个是习题一个是教程,比较适合初学者自学。