海康visionmaster-VM 嵌入:嵌入用户软件界面的方法

描述

环境:VM4.0.0 + VS2015 及以上

现象:将 VM 整体嵌入到客户软件界面中?

解答

将 VM 软件整体嵌入到客户软件中,需要利用 Panel 控件,并且需要先启动 VM 软件,具

体代码如下:

C#

DllImport("User32.dll", EntryPoint = "SetParent")

public static extern int SetParent(IntPtr hWndChild, IntPtr hWndNew

Parent);

DllImport("user32.dll", CharSet = CharSet.Auto)

public static extern int MoveWindow(IntPtr hWnd, int x, int y, int n

Width, int nHeight, bool BRePaint);

// Start the process

p = System.Diagnostics.Process.Start

(@"D: \VisionMaster4.0.0\Applications\VisionMaster.exe");

// Wait for process to be created and enter idle condition

p.WaitForInputIdle();

// Get the main handle

appWin = p.MainWindowHandle;

//需要等待 p 启动,可自行判断,可加上 Thread.Sleep(10000);

SetParent(appWin, panel1.Handle);//this 在这里是 Panel 控件

MoveWindow(appWin, 0, 0, this.panel1.Width, this.panel1.Height, tru

e);

最终效果如下图所示,VM 就整体嵌入到客户软件的 Panel 空间中,并且可以保持 VM 所

具备的功能

相关推荐
软测进阶9 分钟前
【超详细图文教程】2025年最新Win10 系统安装 MySQL 教程
数据库·mysql
禁默11 分钟前
机器学习的发展与应用:从理论到现实
人工智能·机器学习
Anthony_23114 分钟前
MySQL的常用命令
运维·数据库·mysql·adb·docker
FOLLOW ME31119 分钟前
MySQL主从复制及进阶配置
数据库·mysql
博一波22 分钟前
MySQL 核心文件解析:从配置到存储的 “说明书 + 记录仪” 系统
数据库·mysql
JCBP_26 分钟前
QT(3)
开发语言·汇编·c++·qt·算法
TimberWill27 分钟前
idea、服务器、数据库环境时区不一致问题
服务器·数据库·intellij-idea
WeiJingYu.31 分钟前
O3.1 opencv高阶
人工智能·opencv·计算机视觉
秃顶老男孩.31 分钟前
web中的循环遍历
开发语言·前端·javascript
研梦非凡36 分钟前
ICCV 2025|基于曲线感知高斯溅射的3D参数曲线重建
人工智能·算法·3d