CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

初学者的问题!恳请帮忙!

楼主zhoufanking(风铃)2004-08-01 08:48:09 在 Delphi / VCL组件开发及应用 提问

我在看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

相关问题

  • 恳请指点
  • 恳请赐教
  • 恳请帮忙
  • 再次恳请大家!
  • 诚恳请教高手
  • 恳请各位大虾-Help!
  • 恳请各位大虾-Help!
  • 各位高手,小弟诚恳请教
  • 请教高手!恳请指点!
  • 小问题,恳请回答!谢谢了。

关键词

  • 函数
  • 消息
  • dll
  • 调用
  • longint
  • sendmessagea
  • longword
  • 参数
  • stdcall
  • wparam

得分解答快速导航

  • 帖主:zhoufanking
  • zswangII
  • zqw0117

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo