第7章 LabVIEW调用操作系统功能
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
立了一组规范,并提供了一组对数据库访问的标准API。
在应用程序开发中用到数据库时,需要手动配置ODBC数据源。一
旦相关的文件路径发生改变,则需要再次手动配置,这给最终用 户带来了极大的不便。
将与手动配置相似的注册表信息写到注册表中,实现ODBC数据源
的自动配置
Http://ccms.hust.edu.cn
25
7.4 读/写系统注册表
LabVIEW中实现为应用程序自动地配置ODBC数据源
Http://ccms.hust.edu.cn
26
7.5 输入设备控制
用来获取连接到计算机上的操纵杆、键盘和鼠
标的信息
输入设备控制VI位于“函数→互连接口→输入
设备控制”子选板
Http://ccms.hust.edu.cn
Http://ccms.hust.edu.cn
18
7.3 读/写配置文件
测试配置程序例程
读取配置信息
Http://ccms.hust.edu.cn
19
7.4 读/写系统注册表
所谓“注册表”,实际上是一个庞大的数据库,
它包含了应用程序和系统软硬件的全部配置信息 ,这里所指的注册表仅针对于Windows操作系统。
的程序模块,内部对共享的例程和资源进行了封装。
动态链接库文件的扩展名一般为*.dll,也可能是*.drv,*.sys或
者*.fon
Http://ccms.hust.edu.cn
31
7.6 调用动态链接库(DLL)
DLL和可执行文件
DLL和可执行文件(EXE)很相似,最大的区别在于DLL虽然包含了
Http://ccms.hust.edu.cn
34
7.6 调用动态链接库(DLL)
DLL使用注意
为了使应用程序正常地使用动态链接库,DLL文件必须存放在下列
任意一个子目录中:
Windows\system目录中; 应用程序所在的子目录;
配置文件中定义的自动搜索的子目录。
Http://ccms.hust.edu.cn
Http://ccms.hust.edu.cn
22
7.4 读/写系统注册表
注册表读操作
Http://ccms.hust.edu.cn
23
7.4 读/写系统注册表
注册表删除操作
Http://ccms.hust.edu.cn
24
7.4 读/写系统注册表
自动配置ODBC数据源
ODBC是微软开发的服务结构中有关数据库的一个组成部分,它建
Http://ccms.hust.edu.cn
33
7.6 调用动态链接库(DLL)
共享代码、资源和数据
DLL中封装了一些可以被共享的例程和资源,不仅包含可执行的 代码,还有数据和各种资源。
简化部署和安装
当DLL中的函数需要更新或修复时,部署和安装DLL不要求重新建 立程序与该DLL的链接。
Function,CLF)节点实现
节点位置“函数→互连接口→库与可执行程序”选板
Http://ccms.hust.edu.cn
38
7.6 调用动态链接库(DLL)
配置CLF节点
右键单击节点并选择“配置„”选项,或者直接双击节点
Http://ccms.hust.edu.cn
39
7.6 调用动态链接库(DLL)
13
7.3 读/写配置文件
配置文件写操作
Windows配置文件标准格式 生成名为“Configuration.ini”的配置文件
Http://ccms.hust.edu.cn
14
7.3 读/写配置文件
测试配置程序例程
程序框图
Http://ccms.hust.edu.cn
15
7.3 读/写配置文件
保存电子表格文件
Http://ccms.hust.edu.cn
6
7.1 读/写电子表格文件
电子表格文本文件和电子表格文件生产结果
Biblioteka Baidu
Http://ccms.hust.edu.cn
7
7.1 读/写电子表格文件
电子表格读操作
数据读取类型和格式
Http://ccms.hust.edu.cn
8
7.2 读/写XML文件
可扩展置标语言(XML)
可扩展置标语言(XML)是一种用标记描述数据的格式化标准。与
HTML标记不同,XML标记不是告诉浏览器如何按格式处理数据,而 是使浏览器能识别数据。
例如为每本书创建一个XML文件
<nonfiction> <Title>Touring Germany's Great Cathedrals</Title> <Author>Tony Walters</Author> <Publisher>Douglas Drive Publishing</Publisher> <PriceUS>$29.99</PriceUS>
3
7.1 读/写电子表格文件
LabVIEW文件操作基本步骤
读写、操作 打开 关闭
Http://ccms.hust.edu.cn
4
7.1 读/写电子表格文件
电子表格写操作
文件格式的要求 保存电子表格格式文本文件
Http://ccms.hust.edu.cn
5
7.1 读/写电子表格文件
Gdi32.dll:图形设备接口库,如显示和打印等;
User32.dll:用户接口库,如键盘、鼠标、声音、系统时间等
Http://ccms.hust.edu.cn
37
7.6 调用动态链接库(DLL)
调用DLL
LabVIEW中动态链接库的调用是通过调用库函数(Call Library
VOID GlobalMemoryStatus (LPMEMORYSTATUS lpBuffer);
typedef struct _MEMORYSTATUS {
DWORD dwLength; DWORD dwMemoryLoad; DWORD dwTotalPhys;
// mst
// sizeof(MEMORYSTATUS) // percent of memory in use // bytes of physical memory
测试配置程序例程
程序界面和生成文件
Http://ccms.hust.edu.cn
16
7.3 读/写配置文件
配置文件读操作
“读取键值”(Read Key.vi)函数 读取值数据类型设置
Http://ccms.hust.edu.cn
17
7.3 读/写配置文件
测试配置程序例程
初始化测试配置程序
Http://ccms.hust.edu.cn
本章内容
7.1 读/写电子表格文件
7.2 读/写XML文件 7.3 读/写配置文件 7.4 读/写系统注册表 7.5 输入设备控制 7.6 调用动态链接库(DLL) 7.7 ActiveX 7.8 执行系统命令
Http://ccms.hust.edu.cn
在.ini文件中,LabVIEW会将路径数据保存为独
立于平台的格式。
例如绝对路径/c/temp/data.dat解析为如下路径:
Windows c:\temp\data.dat; Mac OS c:temp:data.dat;
Linux /c/temp/data.dat。
Http://ccms.hust.edu.cn
Http://ccms.hust.edu.cn
36
7.6 调用动态链接库(DLL)
Windows中的API函数
Windows的API函数位于Windows系统目录下的多个DLL文件中,其
中最基本的三个组成模块如下:
Kernel32.dll:Windows系统核心32位API基础库,如内存和 文件管理;
可执行代码却不能单独执行,必须由Windows应用程序直接或间接 调用
Http://ccms.hust.edu.cn
32
7.6 调用动态链接库(DLL)
动态链接库特点
通用性
DLL的编写、生成与具体编译器无关。
使用较少的资源
当多个程序使用同一个函数库时,DLL可以减少在磁盘和物理内 存中加载的代码的重复量。
第7章 LabVIEW调用操作系统功能
Intelligent Electronics Institute Huazhong University of Science & Technology
引言
任何一个应用程序开发平台都有其自身的优势与 不足,LabVIEW也不例外。作为一个高级编程人员, 在开发一个大的复杂应用程序时必须能够综合应 用不同软件开发平台的功能,才能使项目更加完 善。一个好的软件开发环境,也必然具备与其他 应用程序的交互功能及必要的开发工具。 本章将要讲到的读/写电子表格文件、读/写XML文 件、读/写配置文件、读/写系统注册表、调用 ActiveX控件、调用系统链接库及调用命令行程序 等都是LabVIEW与其他应用程序的交互方式。
35
7.6 调用动态链接库(DLL)
DLL与API
应用程序编程接口(Application Programming Interface,API
)是能用来操作组件、应用程序或者操作系统的一组函数
一般情况下,API指的是Windows API,包括构成Windows操作系统
的各种DLL。每个Windows应用程序都直接或间接地与Windows API 互动
注册表写操作
创建注册表项
Http://ccms.hust.edu.cn
21
7.4 读/写系统注册表
程序运行结果
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\MyKey]
"My String"="LabVIEW" "My Binary"=hex:03,02,01,00 "My DWORD"=dword:00000100
27
7.5 输入设备控制
实时获取鼠标键盘信息例程
首先通过“查询输入设备”(Query Input Devices.vi)查询按键
和鼠标的信息
分别初始化键盘和鼠标 在While循环中获取键盘按键信息和鼠标位置及点击信息 关闭输入设备
Http://ccms.hust.edu.cn
28
……
</nonfiction>
Http://ccms.hust.edu.cn
9
7.2 读/写XML文件
XML文件写操作
“平化至XML”(Flatten To XML)函数 XML模版
Http://ccms.hust.edu.cn
10
7.2 读/写XML文件
XML文件读操作
“从XML还原”(Unflatten From XML)函数 XML格式转换成簇
注册表系统组成和注册表结构 本节首先以LabVIEW自带的三个例子,说明在
LabVIEW中读/写注册表的一般方法,然后讲解自 动配置ODBC(Open Database Connectivity,开 放数据互连)数据源的应用实例。
Http://ccms.hust.edu.cn
20
7.4 读/写系统注册表
Http://ccms.hust.edu.cn
11
7.2 读/写XML文件
从XML文件中读取数据
Http://ccms.hust.edu.cn
12
7.3 读/写配置文件
配置文件VI可读取和创建标准的Windows配置文
件,其标准扩展名为.ini,但只要内容格式正 确,配置文件VI也可操作以任何扩展名命名的 文件。
配置DLL的“函数”、“参数”、“回调”和“错误检查”具体步
骤
DLL “函数”页数据类型配置注意
Http://ccms.hust.edu.cn
40
7.6 调用动态链接库(DLL)
调用Windows API
API函数位于DLL文件中,所以在LabVIEW中调用API函数和调用DLL
的方法基本一样
在函数配置时,需要把调用规范设置为stdcall(WINAPI)
Http://ccms.hust.edu.cn
41
7.6 调用动态链接库(DLL)
查询当前可用的物理内存和虚拟内存信息实例
利用系统目录下的User32.DLL库中的API函数GlobalMemoryStatus() 来获得,函数声明如下:
7.5 输入设备控制
程序框图
Http://ccms.hust.edu.cn
29
7.5 输入设备控制
程序界面
Http://ccms.hust.edu.cn
30
7.6 调用动态链接库(DLL)
动态链接库
动态链接库(Dynamic Link Library,DLL)是一个可以多方共享