请问哪位知道MessageBox所对应的API函数的原形???谢谢!!(100分)

  • 主题发起人 主题发起人 mygz
  • 开始时间 开始时间
M

mygz

Unregistered / Unconfirmed
GUEST, unregistred user!
function MessageBox; external user32 name 'MessageBoxA';请问MessageBoxA的原形是什么呢??
delphi里是这样定义的,为什么它不用反回类型和参数呀??而我定义一个象这样没有反回类型和参数的,就会出错。
 
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);

var
i:integer;
begin
i:=MessageBox(self.Handle,'Text','Caption',MB_OK);
end;
 
这里不是MessageBox的原形, 而是实现
 
delphi中的API声明分为二部分的,一般在“接口”中声明原形,在“实现”在指定DLL与对应的函数名
你看到的这个只是“实现”中的部分。上面还有原形的。
 
它不用反回类型和参数呀??
似乎是有返回值的吧??
而且delphi中声明动态库中的函数可以这样的,
unit Xxxxxx;
interface
uses
Windows,;
function XXXXX(dwPort: DWORD): LongInt stdcall;
implementation
function XXXXX; far;external 'Xxxxx.DLL'name 'XXXXX';
end;
另外你看这里不是它的参数声明吗??
{$EXTERNALSYM MessageBox 22124行}
function MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
 
是的,它先在接口部分声明为:
function MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
 
在MessageBox字段上按ctrl点鼠标看看。
 
后退
顶部