欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    LabVIEW中如何调用Windows API.docx

    • 资源ID:3160373       资源大小:39.86KB        全文页数:7页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    LabVIEW中如何调用Windows API.docx

    LabVIEW中如何调用Windows API中国仿真科技论坛电子期刊 第1期 LabVIEW中如何调用Windows API Lancker(原Simwe虚拟仪器技术版管理员,创建人之一) LabVIEW 没有提供这样的功能, 必须呼叫 Windows API, 有时候笔者常看到有些朋友会问许多问题,实在是因为LabVIEW本身不提供这些功能,或者实现很困难,所以才会这样回答。 虽然这样回答有点偷懒, 或者说不负责任, 但这的确是事实, LabVIEW 所提供的模块,虽然也不在少数, 但是主要用于测控软件开发,要想变点花样,通常是行不通的,这是笔者决定开始撰写本文的主要原因。 感觉上 LabVIEW 程式要呼叫 Windows API是一件比较困难的事情,或者说比较麻烦的事情,但别忘了 Windows API是大家的,凡是在 Windows工作环境底下执行的应用程式,都有权利呼叫 Windows API。其实LabVIEW和Visual C+/Visual Basic/Delphi等开发软件一样,可以呼叫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 函数;。 要想了解哪些是常用API,它们的功能,所属的动态连接库,可以查看一些手册,也可以查看一些VB中应用的例子。 22 如何在LV中调用 API 函数。 在LV中设置API其实与调用其他.DLL相同.选择模板中的Functions->Advanced->Call Library Function Node,然后点击右键, 从快捷菜单中选择Configure. 出现一对话框如下: 使用Browse到Windows(或WinNT)下面的system32中先选择API的库函数,如User32.dll,然后在FuncName的下拉式菜单中选择你需要的函数,在Calling Convention中选择”stdcall(WINAPI).下面的工作是设置传递参数. 23 如何传递参数 LV的参数类型中提供了几种在LV中常用的类型: 注:任何转载或摘抄请注明文章出处(中国仿真互动 http:/www.S ) - 2 - 中国仿真科技论坛电子期刊 第1期 Numeric(数值):整数,单精度和双精度; Array(数组):实现数组类型传递; String: 实现字符串数据传递; ActiveX: 处理ActiveX数据; Waveform/Digital Waveform/ Digital Table:主要为LV数据传递的类型,一般API涉及不多。 Adapt to Type:适合自定型参数。 由于 API 采用了 C 语言的参数传递方式, 而 C 语言的参数传递又与 LV有着不小的差异, 以致不少呼叫 API 所造成的错误都发生在参数传递时, 而本期我们并不想花太多的篇幅放在如何传递参数上面,以后有机会将放在如何调用dll方面的文章中作详细讲解。下面举些例子,来说明如何调用API,我想让大家明白在LV中调用API其实不难。希望对大家入门有帮助。 3 LV调用 API 示例: 31 LV获得硬盘的可用空间: API函数:GetCursorPos VC中定义:BOOL GetDiskFreeSpace( LPCTSTR lpRootPathName, / pointer to root path LPDWORD lpSectorsPerCluster, / pointer to sectors per cluster LPDWORD lpBytesPerSector, / pointer to bytes per sector LPDWORD lpNumberOfFreeClusters, / pointer to number of free clusters LPDWORD lpTotalNumberOfClusters / pointer to total number of clusters VB中宣告为:Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, 注:任何转载或摘抄请注明文章出处(中国仿真互动 http:/www.S ) - 3 - 中国仿真科技论坛电子期刊 第1期 LV中这样设置: 检测硬盘剩余空间程序和控制面板如下图: :DiskFreeSpace.vi ) 32 LV中获的鼠标的坐标: API函数:GetCursorPos 注:任何转载或摘抄请注明文章出处(中国仿真互动 http:/www.S ) - 4 - 中国仿真科技论坛电子期刊 第1期 VC中定义:BOOL GetCursorPos( LPPOINT lpPoint / address of structure for cursor position ); typedef struct tagPOINT LONG x; LONG y; POINT; VB中宣告为:Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Type POINTAPI ' POINTAPI 为一自定型别 x As Long y As Long LV中我们使用Adapt to Type 这样设置: 下面我们制作一个小程序,每隔100ms显示一下鼠标的坐标,Block Diagram和Front Panel如下:代码见附件:Get CursorPos.vi ) 注:任何转载或摘抄请注明文章出处(中国仿真互动 http:/www.S ) - 5 - LV中开关光驱功能 4 了解更多API 函数: 了解和查阅API 函数的功能和参数设置,主要途径有:a)查阅介绍Windows API的图书; b)查阅微软MSDN Library有VC定义的原型; c)一些编程网站的在线查询; d)通过学习VB中如何调用了解API 函数的例子。 附:如何在VB中宣告API 函数 了解API 函数的宣告并不困难, 因为我们可以请 VB 的API 检视员来帮忙, 以下是使用API 检视员的方法: 1. 首先选取 VB 功能表的增益集/增益功能管理员, 然後在增益功能管理员交谈窗中核取VB API Viewer, 按下确定钮後, VB 的增益集功能表栏底下就会出现API 检视员, 选取此一命令, 即可启动API 检视员。 2. 第一次执行 API 检视员时, 须利用功能表的档案/载入文字档载入 VB Winapi 目录底下的 Win32api.txt, 接着在可选项的项目底下即会列出所有的 API 函数, 若我们双按其中的函数, 则该函数的宣告即会出现在选取的项目底下, 此时再按下复制钮, 可将选取的函数宣告复制到剪注:任何转载或摘抄请注明文章出处(中国仿真互动 http:/www.S ) - 6 - 中国仿真科技论坛电子期刊 第1期 贴簿, 过程如图-2, 接着回到 VB 的程式视窗, 再选取功能表的编辑/复制, 即可将函数的宣告从剪贴簿中复制过来。 图中利用API 检视员将 API 的宣告复制到剪贴簿接下来请注意 API 宣告式复制到 VB 程式的位置, 此时您有两种选择:(1) 先利用 VB 功能表的专案/新增模组新增一个一般模组(.bas 档), 然後将 API 宣告式复制到此一模组的程式视窗中, (2) 将 API 宣告式复制到表单程式视窗的 "(一般)" 区块底下, 但复制过来之後, 必须在 Declare 前面加上 Private 保留字。 注:任何转载或摘抄请注明文章出处(中国仿真互动 http:/www.S ) - 7 -

    注意事项

    本文(LabVIEW中如何调用Windows API.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开