VB.net 怎么把窗体 与另一个程序的建立父子关系

dieska 2019-04-21 02:37:10
我目前在开发一个插件,采用vb.net的开发,我用vb创建了一个窗体,我在宿主程序里可以正常启动,但是每次启动都会实例化一个窗体,我想让他只显示一个窗体,然后可以随宿主的最小化最最小化,就跟父子窗体关系一样,己放弃SetParent方法,这个方法会把宿主当容器,窗体拖不出这个容器,不想要容器的方法,要类似悬浮工具条的那种效果!己知宿主程序句柄,窗体有WPF和Winform两种。
...全文
480 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2019-05-06
  • 打赏
  • 举报
回复
SetParent API函数,还有SetWindowLong
tengwei6328 2019-05-06
  • 打赏
  • 举报
回复
SendMessage 了解一下
清晨曦月 元老 2019-04-23
  • 打赏
  • 举报
回复
既然走句柄,下个钩子钩一下对方的最大最小化消息就可以了。如果自身作为一个DLL被调用,对方也是.NET程序,那可以去学一下emit,自己给对方窗体注册一个窗体事件处理函数,挂这个钩子也不难。当然还可以定时器,不断的检查句柄对应的窗体的状态,然后跟着做……


不想每次都启动一个新窗体,如果你作为一个独立程序被运行那只需要勾选一下单个实例;也可以创建文件、写注册表这都不太保险,可以命名管道映射文件共享内存互斥体方法多多,随便捻一个就行了,System.Threading.Mutex就不错,代码简单易行可靠性高。
it_gz_xi 2019-04-22
  • 打赏
  • 举报
回复
你好,有了解过MDIParent Form吗?你直接添加这么一个Form应该就可以满足你的需求了
dieska 2019-04-22
  • 打赏
  • 举报
回复
我是要从别的软件,调用这个vb制作的窗体,然后这个窗体一从在那个窗体前,可以随宿主程序缩小化!
dieska 2019-04-22
  • 打赏
  • 举报
回复
没那么简单,这是插件,不是一个独立运行的程序呢!

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧