欢迎来到天天文库
浏览记录
ID:37201059
大小:280.00 KB
页数:7页
时间:2019-05-19
《LabVIEW中如何调用Windows》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中国仿真科技论坛电子期刊第1期LabVIEW中如何调用WindowsAPILancker(原Simwe虚拟仪器技术版管理员,创建人之一)「LabVIEW没有提供这样的功能,必须呼叫WindowsAPI」,有时候笔者常看到有些朋友会问许多问题,实在是因为LabVIEW本身不提供这些功能,或者实现很困难,所以才会这样回答。虽然这样回答有点偷懒,或者说不负责任,但这的确是事实,LabVIEW所提供的模块,虽然也不在少数,但是主要用于测控软件开发,要想变点花样,通常是行不通的,这是笔者决定开始撰写本文的主要原因。 感觉上LabVIEW程式要呼叫WindowsAPI是一件比较困难
2、的事情,或者说比较麻烦的事情,但别忘了WindowsAPI是大家的,凡是在Windows工作环境底下执行的应用程式,都有权利呼叫WindowsAPI。其实LabVIEW和VisualC++/VisualBasic/Delphi等开发软件一样,可以呼叫API,而且实现比较方便,与调用其他动态连接库文件(.DLL)几乎一样。(笔者个人认为要做到将API函数灵活调用到LV,最好有VC/VB编程基础。我觉得如果花一两个月学习VB,对与LV的提高会起到意想不到的效果。VB和LabVIEW都是电子工程师喜欢用于开发测试软件的工具,其中有许多相似之处。它们具有入门简单,方便地调用/移
3、植其他代码。VB调用API的参考资料很多,但介绍如何在LV中调用API的资料却为数不多。本人写这篇文章,虽然错误难免,但还是希望对大家有所帮助。)1、WindowsAPI简介: 1.1简介:Windows作为多线程系统除了协调应用程式的执行、分配记忆体、管理系统资源…之外,她同时也是一个很大的服务中心,呼叫这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application),所以便称之为ApplicationProgrammingInterface,简称API函数。 1.
4、2但WindowsAPI与C语言最亲近 虽然说呼叫WindowsAPI(以下简称API或API函数)是每一个应用程式的权利,但不可否认的API却与C语言最亲近,因为API函数在参数的传递上就是以C语言为标准。但这并不表示LV程式不能呼叫含有参数的API函数,如果传递的参数是单纯的资料型别,例如「整数」,则LV与C语言还是相通的,如果是特殊的资料型别(包含「字串」),则必须遵循一定的规范,否则不是无法得到正确的结果,就是因为违反规定而被踢出系统。2、使用WindowsAPI的难处 当我们要开始使用API时,必须知道叁件事情:(1)要呼叫哪一个API函数;(2)如何在LV中
5、调用API函数;(3)如何传递参数。 2.1要呼叫哪一个API函数注:任何转载或摘抄请注明文章出处(中国仿真互动http://www.Simwe.com/)-7-中国仿真科技论坛电子期刊第1期这是以上叁件事情当中最困难的一件,主要的原因是Windows的API实在太多了,大约有1500个,这还不包含OLE、ODBC…等特殊的API,此外,如果我们把API按不同性质加以分类,则使用每一类API函数所应具备的背景知识亦各有不同,以系统注册区相关的API函数为例,就必须先了解Windows如何安排系统注册区,以及存取系统注册区的方式。 不过也不必被1500++个函数给打退堂鼓
6、了,因为不是所有的程式设计都要仰赖API,当我们面对一个问题时,首先还是寻求LV的解决方案,如果LV实在无法解决,才考虑使用API,例如LV6.0以前对注册表操作需要调用API,但现在新的版本有专门的模块(但实质上与调用API一样,只是操作起来方便了)。要想了解哪些是常用API,它们的功能,所属的动态连接库,可以查看一些手册,也可以查看一些VB中应用的例子(笔者就是从VB的代码中熟悉了一些API,然后知道如何在LV中调用它们)。2.2如何在LV中调用API函数。 在LV中设置API其实与调用其他.DLL相同.选择模板中的Functions->Advanced->Call
7、LibraryFunctionNode,然后点击右键,从快捷菜单中选择Configure.出现一对话框如下:使用Browse到Windows(或WinNT)下面的system32中先选择API的库函数,如User32.dll,然后在FuncName的下拉式菜单中选择你需要的函数,在CallingConvention中选择”stdcall(WINAPI).下面的工作是设置传递参数.2.3如何传递参数LV的参数类型中提供了几种在LV中常用的类型:注:任何转载或摘抄请注明文章出处(中国仿真互动http://www.Simwe.com/)-7-中
此文档下载收益归作者所有