- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LabVIEW中如何调用WindowsAPI-LabVIEW360.doc
LabVIEW中如何调用Windows API
Lancker(原虚拟仪器技术版管理员,创建人之一)实在是因为本身不提供些功能
感觉上 LabVIEW 程式要呼叫 Windows API是一件比较困难的事情,或者说比较麻烦的事情,但别忘了 Windows API是大家的,凡是在 Windows工作环境底下执行的应用程式,都有权利呼叫 Windows API。其实LabVIEW和Visual C++/Visual Basic/Delphi等开发软件一样,可以呼叫API,而且实现比较方便,与调用其他动态连接库文件(.DLL)几乎一样。
(笔者个人认为要做到将API函数灵活调用到LV,最好有VC/VB编程基础。我觉得如果花一两个月学习VB,对与LV的提高会起到意想不到的效果。VB和LabVIEW都是电子工程师喜欢用于开发测试软件的工具,其中有许多相似之处。它们具有入门简单,方便地调用/移植其他代码。VB调用API的参考资料很多,但介绍如何在LV中调用API的资料却为数不多。本人写这篇文章,虽然错误难免,但还是希望对大家有所帮助。)
1、Windows API简介:
1.1 简介:
Windows 作为多线程系统除了协调应用程式的执行、分配记忆体、管理系统资源…之外, 她同时也是一个很大的服务中心, 呼叫这个服务中心的各种服务(每一种服务就是一个函数), 可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的, 由於这些函数服务的对象是应用程式(Application), 所以便称之为 Application Programming Interface, 简称 API 函数。
1.2 但 Windows API 与 C 语言最亲近
虽然说呼叫 Windows API(以下简称 API 或 API 函数) 是每一个应用程式的权利, 但不可否认的 API 却与 C 语言最亲近, 因为 API 函数在参数的传递上就是以 C 语言为标准。
但这并不表示 LV 程式不能呼叫含有参数的 API 函数, 如果传递的参数是单纯的资料型别, 例如「整数」, 则 LV 与 C 语言还是相通的, 如果是特殊的资料型别(包含「字串」), 则必须遵循一定的规范, 否则不是无法得到正确的结果, 就是因为违反规定而被踢出系统。
2、使用 Windows API 的难处
当我们要开始使用 API 时, 必须知道叁件事情:(1) 要呼叫哪一个 API 函数;(2) 如何在LV中调用 API 函数;(3) 如何传递参数。
2.1 要呼叫哪一个 API 函数
这是以上叁件事情当中最困难的一件, 主要的原因是 Windows 的 API 实在太多了, 大约有 1500 个, 这还不包含 OLE、ODBC…等特殊的 API, 此外, 如果我们把 API 按不同性质加以分类, 则使用每一类 API 函数所应具备的背景知识亦各有不同, 以系统注册区相关的 API 函数为例, 就必须先了解 Windows 如何安排系统注册区, 以及存取系统注册区的方式。
不过也不必被 1500++ 个函数给打退堂鼓了, 因为不是所有的程式设计都要仰赖 API, 当我们面对一个问题时, 首先还是寻求 LV 的解决方案, 如果 LV 实在无法解决,才考虑使用 API,例如LV6.0以前对注册表操作需要调用API,但现在新的版本有专门的模块(但实质上与调用API一样,只是操作起来方便了)。
要想了解哪些是常用API,它们的功能,所属的动态连接库,可以查看一些手册,也可以查看一些VB中应用的例子(笔者就是从VB的代码中熟悉了一些API,然后知道如何在LV中调用它们)。
2.2 如何在LV中调用 API 函数。
在LV中设置API其实与调用其他.DLL相同.选择模板中的Functions-Advanced-Call Library Function Node,然后点击右键, 从快捷菜单中选择Configure. 出现一对话框如下:
使用Browse到Windows(或WinNT)下面的system32中先选择API的库函数,如User32.dll,然后在FuncName的下拉式菜单中选择你需要的函数,在Calling Convention中选择”stdcall(WINAPI).下面的工作是设置传递参数.
2.3 如何传递参数
LV的参数类型中提供了几种在LV中常用的类型:
Numeric(数值):整数(8-,16-,and 32-bit signed and unsigned integers),单精度(Single-precision)和双精度(double-precision);
Array(数组):实现数组类型传递;
String(字符串): 实现字符串
您可能关注的文档
- GSFLOW在干旱区地表水与地下水耦合模拟中的应用-南京大学学报.PDF
- GV-POE1601-V216埠8023at智慧型速太网路供电交换器.PDF
- H83687群从H83687转至RL78G14的迁移指南中断(异常处理).PDF
- Hadoop分布式文件系统使用指南.PDF
- Hadoop分布式文件系统的模型分析-信息通信学术期刊网.PDF
- Hadoop命令的研究-ITbegin.doc
- Hadoop平台下基于截止时间限制的动态调度算法的研究-计算机应用研究.PDF
- Hadoop提供了一个稳定的共享存储和分析系统存储由HDFS实现.ppt
- HDSGen3快速入门指南.PDF
- HiSECURECC++API版本更新历程表-natgov.tw.doc
文档评论(0)