发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名

[经验] LabVIEW嵌入第三方软件界面(类似子面板)

2019-2-13 12:48:34  4207 labview
分享
7
3333.gif

去年的时候,做了某个项目,从单片机到PC端控制和显示一整套,都是自己一个人瞎折腾搞的,最后很不容易的完成了领导的任务。

项目比较简单,就是单片机接收GPS信息,然后通过单片机解析后,通过无线数传发送给PC端,PC端在地图上显示实时轨迹,并回传控制。其实这就类似无人机系统很类似。但是无人机那套太复杂,用不了太多功能,加上项目比较急用,所以后面自己DIY简化一下。

为了方便,又因为额外可能需要现场临时增加很多功能,所以就用labview做了主要工作。电子地图那块,本身网上百度了下,有调用Gmap.net的,无奈在有的电脑上使用LabVIEW调用那个.NET没问题,换其他电脑有的却有问题(大概是电脑端.NET的版本,不过已经过去了就不再讨论第三方调用的事了)。因此,电子地图那块,自己用C#写的。利用虚拟串口,将LabVIEW解析的经纬度坐标传递给C#, C#里面效果就是本章开始的动态图。

GPS是通过串口发数据发给单片机,单片机通过串口发数据给无线数传模块发送端,无线数传接收端通过串口发送给LabVIEW,LabVIEW通过串口发给C#写的电子地图。总而言之,对我而言,就是LabVIEW的串口通信。后来又将C#的界面嵌入到LabVIEW中,看上去似乎就完美了。

我写这篇文章的重点,在于把第三方的软件界面,嵌入到LabVIEW,类似子面板形式

之前也看过群里一些人在问这个问题,以前不以为意。所以,刚好自己刚好做过,就终结一下。下面是一个示意图,地图是最开始的版本(后面的和这个不一样),比较丑,如果隐去多余控件,嵌入到LabVIEW就很完美。

GIF.gif

用到的,当然是调用dll,函数FindWindow SetParent之类,相关的程序框图比较简单,如下图所示。下图的Monitor System那个软件就是我自己用C#写的软件的标题。

QQ截图20190213124743.jpg

当然,内嵌入记事本也是可以的。大家在自己电脑上打开一个记事本,注意看它的标题栏名称,像我默认打开的就是  无标题 - 记事本。 那么就是下面的界面。

QQ截图20190213124733.jpg

估计有小伙伴看到代码截图很感到很熟悉,没错,如果对VC比较熟悉,会知道这个是使用子窗口和父窗口的API,但是,那些都是子窗口,不是像子面板一样嵌在软件界面中

虽然贴了截图,最后还是传下代码,版本2013,亲测可用。

链接https://share.weiyun.com/5vwxfvB 密码:4b4gts

论坛下载地址:

子面板.vi (11.05 KB, 下载次数: 93)

另外,关于前面提到的电子地图,网上资料很多,有调用百度地图的,有调用谷歌地图的,地图还有火星地图转化坐标的,网上资料一大堆,都不是今天的重点。




注意,需要先运行第三方软件,然后再将第三方软件标题写入到程序中才可以看到效果。
happyarrow 2019-2-13 19:26:52
更多资料,请关注微信公众号  小草手把手LabVIEW
3 回复

举报

wyq95361977 2019-2-13 21:31:15
草神新年第一帖
1 回复

举报

jltnt 2019-2-13 22:10:45
调用 百度AIP多好啊
1 1回复

举报

  • happyarrow 2019-2-13 22:19

    百度的卫星地图没有谷歌好。另外这个文章讲的不是电子地图的事,我标题是嵌入子面板,末尾也说了地图调用方式很多种。重点是嵌入界面。

jltnt 2019-2-13 22:14:17
就是这样的 你看看
百度地图Api.jpg
2 1回复

举报

今晚下山打老虎 2019-2-14 08:46:37
厉害,试了一下很神奇,谢谢草神
回复

举报

CIG 2019-2-14 11:10:02
厉害啊,真是高手~~~~
回复

举报

shuochiu 2019-2-18 09:18:09
可以,学习了。。。
回复

举报

pdc27149 2019-2-18 13:46:46
似曾相识,查找程序的窗口,就是我的是繁体系统,没怎么深入研究
回复

举报

小小北风 2019-2-18 13:55:04
学习了,66666666666666666666666666666
回复

举报

yk8356993 2019-2-19 08:34:43
6666666666666666666666666666666666666
回复

举报

豆腐撞墙4 2019-2-21 15:51:29
学习学习            
回复

举报

bazhao 2019-2-24 22:50:23
感谢大神发布。。学习
回复

举报

lyitcqcjb 2019-4-19 21:47:48
感谢大神发布。。学习
回复

举报

moschino 2019-4-21 10:42:10
请问为什么我看findwindow参数是String类型,实际必须要用数值类型啊
回复

举报

wta12 2019-4-27 03:09:50
学习一下…………

举报

weizuqiang 2019-5-5 07:54:08

感谢大神发布。。学习
回复

举报

zhn_hit 2019-7-31 08:18:17
资料相当给力!
回复

举报

sdfweds 2019-10-13 15:30:24
您好 我想问一下 可以限制嵌入的子窗体进制拖放吗? 找了好几天没找到方法
1回复

举报

aalllppaa 2019-12-6 14:19:54
资料相当给力!
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
关闭

站长推荐 上一条 /5 下一条

快速回复 返回顶部 返回列表