初学者的问题!恳请帮忙!
我在看DDG5, 第二章讲到调用windows API时说,如果API在windows.pas中没有声明,可以入下自行声明:
function SendMessage(hwnd : Longword; MSG : Longword;
wParam : Longint; lParam : longint ) : longint;
stdcall; external 'user32.dll' name 'SendMessageA';
其中的各个字段都是什么意思啊??还有那个SendMessageA是个什么东西啊?
谢了!
问题点数:20、回复次数:2Top
1 楼zswangII(伴水清清)(一贴不灌,何以灌天下?)回复于 2004-08-01 09:11:08 得分 10
LRESULT SendMessage(
HWND hWnd, // handle of destination window //目标窗体的句柄
UINT Msg, // message to send //发送的消息类型
WPARAM wParam, // first message parameter //第一个消息参数
LPARAM lParam // second message parameter //第二个消息参数
);
external '来自什么DLL文件' name '来自这个DLL中的什么函数';
SendMessageA就是在'user32.dll'中的原名、另外有一个是SendMessageW~~
只要你高兴,引用的函数名叫什么都可以~~
function ABC(hwnd : Longword; MSG : Longword;
wParam : Longint; lParam : longint ) : longint;
stdcall; external 'user32.dll' name 'SendMessageA';Top
2 楼zqw0117(峪飞鹰)回复于 2004-08-01 09:28:14 得分 10
声明的意思是引用外部dll的函数,这类函数声明和普通函数声明一样,首先是function 或者procedure开头,然后是函数名,参数(如果是function的话,参数后面是返回值)。除此之外,还必须紧跟一个调用方法,就是你上面看到的stdcall;,由于delphi的默认调用方法是pascall;,和C++以及其它程序的dll调用方法不同,所以这里必须写上stdcall;以兼容dll中的函数调用规则。最后用external表明函数是外部的,后面跟dll文件名,以及name指定dll里面该函数的名称。Top




