vb api函数用法_VB调用apdl

vb api函数用法_VB调用apdl1、API函数    API的英文全称(ApplicationProgrammingInterface),WIN32API也就是MicrosoftWindows32位平台的应用程序编程接口,在window操作系统盛行的期间,程序员主要是利用API函数来开发Windows平台下的应用程序当时程序员必须熟记很多API函数。随着软件技术的不断发展,在Windows平台上出现了很所可视化编程

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、API函数

      API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows32位平台的应用程序编程接口,在window操作系统盛行的期间,程序员主要是利用API函数来开发Windows平台下的应用程序当时程序员必须熟记很多API函数。随着软件技术的不断发展,在Windows平台上出现了很所可视化编程环境(例如:VB,C,c++等)在这些编程环境中出现很多类和控件,他们代替了API的功能,实际上这些类和控件是封装了API函数集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。 这也是API函数使用的场合,所以我们对待API函数不必刻意研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。API不用去刻意学,只要用到的时候查看API帮助即可。


2、API函数在VB中的查看

      开始→所有程序→Microsoft Visual Basic 6.0 中文版→API文本浏览器

vb api函数用法_VB调用apdl                                        

出现API文本浏览器对话框,然后点击文件→加载文本文件→WIN32API→选择你所需要的内容

vb api函数用法_VB调用apdl


3、API函数解析

<strong><span style="font-size:18px;"></span></strong><pre name="code" class="cpp"><strong><span style="font-size:18px;">Public Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long</span></strong>

Jetbrains全家桶1年46,售后保障稳定



Declare 语句:用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。对此,你只要记住任何API函数声明都必须写这个语句就可以了。


Iib: 指明包含所声明过程或函数的动态链接库或代码资源。也就是说,它说明的是,函数或过程从何而来的问题。

如在上例中,SetParent Lib “user32″说明 函数 SetParent 来自 user32.dll文件。主要的dll动态连接库文件有∶

(1)user32.dll Windows管理。生成和管理应用程序的用户接口。

(2)GDI32.dll 图形设备接口。产生Windows设备的图形输出
(3)Kernel32.dll 系统服务。访问操作系统的计算机资源。


注意,当DLL文件不在Windows或System文件夹中的时候,必须在函数中说明其出处(路径)。如,SetFocus Lib “c:\Mydll\user32″函数声明中的Alias 是可选的。表示将被调用的过程在动态链接库 (DLL) 中还有另外的名称(别名)。如,Alias “SetFocus” ,说明SetFocus函数在User32.dll中的另外一个名称是,SetFocus。怎么两个名都一样呢?当然,也可以是不同的。在很多情况下,Alias说明的函数名,即别名最后一个字符经常是字符A,如SetWindowsText函数的另一个名称是SetWindowsTextA,表示为Alias “SetWindowsTextA”。这个A只不过是设计家们的习惯的命名约定,表示函数属于ANSI版本。

别名的用途:从理论上讲,别名提供了用另一个名字调用API的函数方法。如果你指明了别名,那么 尽管我们按Declare语句后面的函数来调用该函数,但在函数的实际调用上是以别名作为首要选择的。如,以下两个函数(Function,ABCD)声明都是有效的,他们调用的是同一个 SetFocus函数∶

Declare Function SetFocus Lib “user32” “SetFocus” (ByVal hwnd As Long) As Long
Declare ABCD SetFocus Lib “user32” Alias “SetFocus” (ByVal hwnd As Long) As Long

需要注意的是,选用Alias的时候,应注意别名的大小写;如果不选用Alias 时的时候,函数名必须注意大小写,而且不能改动。当然,在很多情况下,由于函数声明是直接从API文本游览器中拷贝过来的,所以这种错误的发生机会是很少的,但您有必要知道这一点。

byval的作用:这跟VB的参数传递方式有关,在默认情况下VB是通过地址传递方式传递函数的参数、而有些API函数要求必须采用传值方式来传递函数参数(这两种参数传递方式是不同的,前者传递的是一个指针,而后者要求是参数真实的值)。这样就会发生错误,解决的办法是在API函数参数声明的前面加上ByVal关键字,这样VB就采用传值方式传递参数了。


最后提醒一句,API声明(包括结构、常数)必须放在窗体或模块的”通用(General Declarations)段。



      

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/231317.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 手把手教你学DSP:基于TMS320C55x[通俗易懂]

    手把手教你学DSP:基于TMS320C55x[通俗易懂]书名:手把手教你学DSP:基于TMS320C55x作者:陈泰红副书名:出版日期:2011年8月1日出版社:北京航空航天大学出版社页数:348    《手把手教你学DSP:基于TMS320C55x》是以TMS320C55x系列高性能低功耗DSP为主,主要介绍了以数字信号处理器(DSP)为核心的实时数字信号

  • 标准一致性检验Kappa值_kappa检验与配对卡方检验

    标准一致性检验Kappa值_kappa检验与配对卡方检验kappa系数一致性检验和配对卡方检验SPSS详细操作:一、问题与数据有两种方法可用于诊断某种癌症,A方法简单易行,成本低,患者更容易接受,B方法结果可靠,但操作繁琐,患者配合困难。某研究选择了53例待诊断的门诊患者,每个患者分别用A和B两种方法进行诊断(表1),判断两种方法诊断癌症有无差别,A方法是否可以代替B方法。表1进口药和国产药治疗效果二、对数据结构的分析之前介绍过成组设计的列联表,它的…

    2022年10月20日
  • SqlBulkCopy – The given value of type String from the data source cannot be converted to type

    SqlBulkCopy – The given value of type String from the data source cannot be converted to typeSqlBulkCopy-ThegivenvalueoftypeStringfromthedatasourcecannotbeconvertedtotypeofthespecifiedtargetcolumn针对使用C#SqlBulkCopy对象遇到的问题总结1.批量插入excel数据遇到的类型转换问题2.去除非数据行以下是对应的解决办法及代码1….

  • 【kubernetes集群系列(一)】Master安装(使用kubeadm)

    【kubernetes集群系列(一)】Master安装(使用kubeadm)

  • 2020-03-28

    2020-03-28电赛准备电赛的每个题目均有硬件设计与软件设计(1)电路特性测试仪输出1kHz正弦波信号,自动测量并显示该放大器的输入电阻。输入电阻测量范围1k0-50k2,相对误差的绝对值不超过10%。硬件要求:电源题、通信高频题(2)电路特性测试仪输出IkHz正弦波信号,自动测量并显示该放大器的输出电阻。输出电阻测量范围500SkQ,相对误差的绝对值不超过软件要求:仪表题、控制题10%。(3)…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号