说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB怎样在DELPHI中使用API函数

HTML文档下载 WORD文档下载 PDF文档下载
VB怎样在DELPHI中使用API函数

 
  实际上,在DELPHI中调用WIN32 API函数与在C或C++中调用WIN32 API函数没有大的区别。DELPHI中将C或C++中引用 的WINDOWS.H头文件改写为WINDOWS.PAS单元,使WINDOWS API函数的定义符合PASCAL语法。而其他的头文件在DELPHI中也都有相应的.PAS单元一一对应,所以在DELPHI中调用API函数时,只须将相应的API函数单元加入到USES语句的单元之中,便可直接调用相应的函数了。

  下面我们来看一个简单的例子,程序的作用是改变桌面墙纸:

  unit Unit1;
  interface
  {Windows.PAS是DELPHI提供的标准单元,我们要调用API函数,需要引用这个单元}
  uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
  type
    TForm1 = class(TForm);
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private { Private declarations }
    public { Public declarations }
  end;
  var Form1: TForm1;        
  implementation {$R *.DFM}
  procedure TForm1.Button1Click(Sender: TObject);
  var filename1:string;
  begin
    filename1:='c:\windows\mywallpaper.bmp';
    {调用API函数SystemParametersInfo来设置桌面墙纸的图片文件为'c:\windows\mywallpaper.bmp'}
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,pchar(filename1), SPIF_UPDATEINIFILE);
  end;
  end.

  其中SystemParametersInfo函数的参数的意义如下表:

参数: 意义
uAction Longint,指定要设置的参数。参考uAction常数表
uParam Longint,参考uAction常数表
lpvParam 不定,按引用调用的Integer、Longint和数据结构。
fuWinIni 参数规定了在设置系统参数的时候,是否应更新用户设置参数
常数SPIF_UPDATEINIFILE表示更新

  下面是本例的uAction常数,和使用它的方法:

参数 意义和使用方法
SPI_SETDESKWALLPAPER 设置桌面背景墙纸,用法为:
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, 图片路径, 1)

  好了在DELPHI中调用API函数就是这样简单,我们需要知道的只是API函数的意义和参数列表,然后把它用到程序中就可以了。需要提醒的是C的数据类型可能会与DELPHI的数据类型有些不同,而调用API函数时必须保证类型一致才行,这是我们必须注意的一点
快速注册/注销动态链接库或控件-VB资料 理解面向对象编程 -VB资料 VB利用GetCursorPos 读取滑鼠的座标 利用Visual Basic 关闭Windows9X或者Windows NT VB利用代码启动/关闭中文输入法 模拟一次鼠标事件 -VB资料 目前执行的是哪一国语言的 Windows -VB资料 VB判断剪贴板的所有可用格式 VB判断驱动器类型 VB判断是否已经建立 Dial Up 连接 VB判断一个年份是否为闰年 VB判断一个驱动器的类型 屏蔽文本框默认的右键菜单——浅谈如何控制Windows消息 -VB资料 奇数和偶数校验-VB资料 启动控制面板命令大全 -VB资料 VB取得 DOS 环境变量 VB取得并设置双击间隔时间 VB取得磁盘序列号、卷标和文件系统类型 VB取得短文件名 VB取得和设置计算机名 VB取得和设置系统颜色 VB取得计算机名 VB取得目前所有的输入法 VB取得应用所在的目录 趣味撞球——VB应用程序一例 缺省值和可选参数 -VB资料 确定当前 WIN95 的启动状态-VB资料 让TextBox的输入具备overwrite(覆盖)的功能 -VB资料 让密码轻松显示 -VB资料 让文本框输入完后,直接跳入下一行 -VB资料 VB如何编制带有不定个数参数的过程。 报表统计问 DELPHI高手们?没人能破解Cell吗? win2000下如何访问cmos数据 请问怎样在2000下访问cmos数据 win2k中所略图问题,大家帮忙!! 请问:自动化这个专业怎么学 C++高手们,谁能讲一下extern的用法? 请高手们谈谈,如何在客户本地硬盘里获取其敏感信息???? MSHFlexGrid的分层记录集问题 关于NMHTTP的问题,急急急!!! 请问哪里有支持 ASP 的服务器下载?(空) 为什么我的硬盘找不到了呢? 如何在sqlserver7中实现ID字段自动递增?(SOS) 为什么98下可以到2000下不行了.关于openfilename???????????????????????????? (困惑请教 )关于内存释放的一些问题! 数据库操作出错该如何避免???? 我是第一次来到CSDN,大家多关照! YYSUN关于大富翁论坛的解释(从水母看到的) vb 访问SYBASE的问题 支持北京伸奥的朋友,进来签个名吧! 怎样截获一个应用程序的消息? 数据结构得答案 大连的软件人员工作环境怎么样? 不好意思,小弟又来麻烦大家了! 上次的文章到那儿去了? enmity,进来,我给你结帐 enmity,进来,我给你结帐!! 各位侠客帮忙啊,重新装系统出了问题! 将10进制转换成16进制的函数是什么啊? VC高手,怎样以编程的方法实现磁带机的Backup 和 Restore. enmity,进来,我给你结帐.共200分 支援白菜300分,支持白菜个人网站建设:))) CMM 的缩写是什么? 想和大家讨论一下怎样系统的编制软件 如何实现和Word、CorelDRAW同样效果缩放位图 请问各位大哥大爷大妈大。。。。。。。。。。。。。哪里有支持 ASP 的服务器软件下载 我该如何控制IP地址??高手请进。。。 弱弱地问:关于SQL server中的中括号。 各位侠客帮忙啊,重新装系统出了问题!! 一点点小问题????? 请问在 WINDOWS98 下面,除了IIS,还有没有支持 PHP 的服务器软件呢? 在ADO中如何获取表名 关于ASN树的问题(snmp中的MIB的拓扑树) 你是高手你进来!!!!! 各位的顶级域名都在哪申请?价格/速度如何?大家都来说说! DirectX8的MultiFileReader过滤器怎么找不到? 关于用VB显示ado数据库中的图像字段问题 大家来谈谈Msdn如何有效利用 请各位帮忙查看我这段程序错在哪里 , 我是照书上做的 , 可就是无法保存. SQL plus 为何无法登录?? 谁要下载msdn? 5x乘以x减去3的差等于x减去3的差乘以x加1的和求神回复 谷歌地球地图更新的吗?一些最新的事件比如卫星相撞的残骸,都在那上面搜索了,那是不是他们常用卫星拍摄来更新呢?要不然一些最新的建筑看不到啊 谷歌地球出现这个是什么意思啊为什么我持续放大那个叉就会没了而且还可以看到地下的东西? 20分之X等于16分之0.4 谷歌地球和谷歌地图哪个看到更清楚 有谁知道怎么用? 若( X+1)的平方=16,则X的值等于 怎样看谷歌地球 谷歌地球上比例尺寸是什么意思 20分之1比3分之1等于x比9分之16 怎样更新谷歌地球中的图像?怎么设置? 谷歌地球的这个图是什么意思 若3的x方等于27,2的y方等于16,求x+y的值. 最新地图的卫星地图哪里有啊?googleearth地图怎么一直都没有更新,都是老地图啊? 谷歌地球是什么意思啊? 什么是欧盟的RoHS指令? 5x-百分之10x等于9.8 24-百分之10x等于6解方程有两题 谷歌地球右上角控制看地图工具不见了.就是右上角控制远近,方向,角度,不见了,在那里调出来? ROHS主要是检测哪些有害物质的?ROHS为什么是能量色散型的呢?中国仪器超市提供的能量色散型X射线荧光分析仪? 当x等于什么时,代数式10x-2.5x-4.5x的值等于-9 有不有比谷歌地球更强的卫星地图 我想要 能看到中国各大城市的摄像 很清晰的 怎样检查rohs有害物质 10x-8.9=5x+1.6.x等于多少 我搞不懂,霍金说黑洞不存在,可是天鹅座又是有黑洞的.灰道他又怎么证的呢?又有什么美国女科学家算出宇宙爆炸论是假的.还有,质量足够大,是不是引力也大?那一个物体质量达到一定程度不 ROHS环保检测仪能测哪些有害物质? 求个最新版本的Google Earth(谷歌地球)中文版不是最新的请勿发来~~ 详细介绍一下天鹅座X-1 工作中哪些材料含有ROHS有害物质! 我在GOOGLEEARTH上的发现东经14度08分,北纬40度50分,这里有很多直径几百米到2公里多的环形山,有的里面还有房子和体育场.那是什么?陨石坑?怎么会这么多这么密集?当地是城市怎么人们没发现? 白鸟座和天鹅座是同一星座吗?在百度里搜索白鸟座居然介绍的是天鹅座!请问这是同一星座吗? ROHS测试的六大有害物质含量标准是多少? 谷歌地球不清晰如图:上面全部模糊,下面白色部分非常清晰,建筑物的部件都看得见.很多地方都这样求:解决办法弄成下面那样非常清晰,最好全部地图都可调整成非常清晰状态.如图 天鹅座X-2星距我们有多少光年?意思是说就算是光速也要走8000年从地球,才能到达天鹅座么?以光速能到达离地球最近的可居住行星么? 那家检测机构能做ROHS、REACH及其它有害物质检测 谷歌地球的清晰问题如图.怎么有的比较清楚.有的又很模糊呢明明一个地区的。一边清楚点,一边就模糊不清 天鹅座X-1是黑洞吗? A 是 B不是 C可能是(请在自己所选的选项后面说明理由) 1,2,4,8,16等.请问按此规律,第n个数是几?第十个数是几? 清晰的谷歌地球等你来回答 天鹅座是不是黑洞 (3+1)(3^2+1)(3^4+1)(3^8+1)(3^16+1) 清晰的谷歌地球最新版哪里有? 一队双星向撞可以产生黑洞吗? 假如1=4,2=8,3=16,4=? 用谷歌地球怎么看高清照片怎么我看到人家用谷歌看的都这么清楚的···我用的时候 在几十公里高就看不清楚了 如果,黑洞与另一个黑洞在比较相近的地点上,会发生什么事?黑洞会移动吗? 找规律:3,6,7,14,15,30,,. 谷歌地球看不到为什么我的谷歌地球 放大区域后什么都看不到 关于银河系中心的黑洞?我们的银河系中心 据说是一个 超大黑洞.而且 我们的太阳系 围绕银河系中心 旋转,我们知道 黑洞是不断 吞噬 物质的,而且 吞噬的越多 其 体积就越大,体积越大 引力 找规律填空:-1,6,25,62,123,() 如何从谷歌地球上得到太阳与卫星的高度角与方向角? 银河系最中间是黑洞吗 找规律 3,2,1,7,6,5,4,10,9,8,14,13,12,11()()()()()()() 谷歌地球怎么看不到乡村? 宇宙中有比银河系大的黑洞有没有可能银河系被比它大的黑洞吞噬了? 找规律填数:3/20,5/34,8/55,12/83找规律填数:3/20,5/34,8/55,12/83 ,( / )我希望答案不是118/17!鄙视复制.我看出,每项的商都是0.15 为什么我的谷歌地球看不到建筑物?我下的谷歌地球是5.0版的,但是只能看见很模糊的地形,这是怎么一回事?难道要下谷歌浏览器吗? 关于银河系黑洞问题?银河系中心是个黑洞,我们太阳系位于银河系边缘,如果位置在黑洞旁边,我们会怎样呢? 5x乘以X等于多少 GOOGLEEARTH怎么看不清楚啊?好多都看不清楚不是说可以看到街道的吗?好模糊怎么弄得更进去点啊 银河系的中心是黑洞吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn