博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
调用外部 DLL 中的函数(2. 晚绑定)
阅读量:5745 次
发布时间:2019-06-18

本文共 1062 字,大约阅读时间需要 3 分钟。

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
 
//晚绑定,也就是动态调用外部函数主要用以下三个命令:
 
//LoadLibrary:获取 DLL
 
//GetProcAddress:获取函数
 
//FreeLibrary:释放
 
//定义一个过程类型,参数要和需要的函数一致
  TMB =
function(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer;
stdcall;
  TForm1 =
class(TForm)
    Button1: TButton;
   
procedure Button1Click(Sender: TObject);
   
procedure FormCreate(Sender: TObject);
   
procedure FormDestroy(Sender: TObject);
 
private
    MB: TMB; 
{声明函数 MB}
    inst: LongWord; 
{声明一个变量来记录要使用的 DLL 句柄}
 
public
   
{ Public declarations }
 
end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
  inst := LoadLibrary(
'user32.dll');
 
if inst <>
0
then
    MB := GetProcAddress(inst,
'MessageBoxW');
//    MB := GetProcAddress(inst, 'MessageBoxA'); {Delphi 2009 之前的版本用这句}
end;
//调用测试:
procedure TForm1.Button1Click(Sender: TObject);
var
  t,b: PChar;
begin
  t :=
'标题';
  b :=
'内容';
  MB(
0, b, t,
0);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeLibrary(inst); 
{记得释放}
end;
end.

转载地址:http://ctnzx.baihongyu.com/

你可能感兴趣的文章
ASP.NET获取客户端IP地址
查看>>
Web服务器Nginx多方位优化策略
查看>>
在windows 7中设置指定帐户可以登入系统的时间,实现家长控制
查看>>
数据触动了电商最敏感的神经
查看>>
PHP运算符
查看>>
Android中SdCard的数据读写
查看>>
修电脑!!!
查看>>
Android--UI之ListView
查看>>
[引用]Win_pe内核
查看>>
文件与目录管理
查看>>
Android Handler
查看>>
我的友情链接
查看>>
puppet server升级,puppet 常见错误解决
查看>>
perl简洁编程,《Perl语言入门(第五版)》读书笔记
查看>>
关于网关的一篇经典文章
查看>>
我的友情链接
查看>>
linux 入门
查看>>
wifi信号弱爆了 教你增强wifi的方法
查看>>
MongoDB schema-free vs MySQL DDL
查看>>
Oracle SGA详解
查看>>