海康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 所

具备的功能

相关推荐
蔡俊锋2 分钟前
把1500个业务的大迁移,做成了可复用流水线用 Skill+Agent+Rule,省下 60 人年的实战复盘
人工智能·skill+agent
ZGi.ai3 分钟前
AI中台和AI工具的区别:为什么说前者是基础设施而后者是应用
人工智能·chatgpt·ai工具·ai基础设施
飘落的数码折腾日记9 分钟前
OpenClaw 是什么?让 AI 真正 “动手“ 帮你干活的秘密武器
人工智能
张健115640964811 分钟前
临界区和同一线程上锁
java·开发语言·jvm
fthux14 分钟前
用了 GitZip 这么多年,我动手做了一个「Pro」版
人工智能·开源·github
Zik----16 分钟前
DAEFR (ICLR 2024)— 盲脸超分模型解读
人工智能·python·高光谱图像·光谱恢复
TheRouter19 分钟前
Agent Harness系列(三):记忆层的3种持久化架构——从SQLite到向量库
人工智能·架构·sqlite·llm·ai-native
一切皆是因缘际会27 分钟前
从概率生成到内生心智:2026大模型瓶颈与下一代AI演进方向
人工智能·安全·ai·架构
头发够用的程序员30 分钟前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
X54先生(人文科技)30 分钟前
《元创力》纪实录·心田记釉下新声:当《纪·念》成为可聆听的星轨
人工智能·开源·ai写作·开源协议