
    
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, 
Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
//定义类型要与原函数一样
function 
GetUserDefaultUILanguage():Integer;external ‘Kernel32.DLL‘;
type
  TForm1 = 
class(TForm)
    Button1: 
TButton;
    Button2: 
TButton;
    procedure Button1Click(Sender: 
TObject);
    procedure Button2Click(Sender: 
TObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  end;
var
  Form1: 
TForm1;
implementation
{$R 
*.dfm}
procedure 
TForm1.Button1Click(Sender: TObject);
begin
    if GetUserDefaultUILanguage() = $0804 then
    begin
      Caption:=‘简体中文‘;
    end
    else
    begin
      Caption:=‘英文‘;
    end;
end;
    
//方法2 使用LoadLibrary
procedure 
TForm1.Button2Click(Sender: TObject);
var
   h:THandle;
   pFunc:function():Integer;stdcall;
begin
   h:=LoadLibrary(PChar(‘Kernel32.DLL‘));
   if h=0 then 
Exit;
   pFunc:= 
GetProcAddress(h,PChar(‘GetUserDefaultUILanguage‘));
   if Assigned(pFunc) then
    if pFunc() = $0804 then
    begin
      Caption:=‘简体中文‘;
    end
    else
    begin
      Caption:=‘英文‘;
    end;
   FreeLibrary(h);
end;
 
 
procedure TForm1.Button3Click(Sender: 
TObject);
var
   h:THandle;
   pFunc:function():Integer;stdcall;
begin
   h:=LoadLibrary(‘Kernel32.DLL‘);
   if h=0 then 
Exit;
   @pFunc:= GetProcAddress(h,‘GetUserDefaultUILanguage‘);
   if Assigned(pFunc) then
    if pFunc() = $0804 then
    begin
      Caption:=‘CHS‘;
    end
    else
    begin
      Caption:=‘ENGLISH‘;
    end;
   FreeLibrary(h);
end;
end.
Delphi调用Dll的的2种写法,布布扣,bubuko.com
原文:http://www.cnblogs.com/xe2011/p/3876098.html