VB中如何在退出主程序时同时退出子程序
刚学vb我用vb做了一个程序为a.exe其代码现在无法贴上(手机上网中)a.exe打开就是一个窗口,没有托盘图标,窗口里是一个网页(比如百度),我想点击窗口右上角叉叉关闭...
刚学vb
我用vb做了一个程序为a.exe
其代码现在无法贴上(手机上网中)
a.exe打开就是一个窗口,没有托盘图标,窗口里是一个网页(比如百度),
我想点击窗口右上角叉叉关闭a.exe时同结束进程里的b.EXE(不用判断有没有这个进程,因为在a.exe启动时就开了b.exe),另a与b没有多大的内在联系,并a.exe我无法改造
还请高手指教
先谢过了
哦,不好意思啊,各位,是B。EXE不能改啊
上午在火车上打错了
==========================
是两个程序啊,A只有一个窗口,B没有的, 展开
我用vb做了一个程序为a.exe
其代码现在无法贴上(手机上网中)
a.exe打开就是一个窗口,没有托盘图标,窗口里是一个网页(比如百度),
我想点击窗口右上角叉叉关闭a.exe时同结束进程里的b.EXE(不用判断有没有这个进程,因为在a.exe启动时就开了b.exe),另a与b没有多大的内在联系,并a.exe我无法改造
还请高手指教
先谢过了
哦,不好意思啊,各位,是B。EXE不能改啊
上午在火车上打错了
==========================
是两个程序啊,A只有一个窗口,B没有的, 展开
4个回答
展开全部
首先是个逻辑问题,既然A你无法改造,就算有方法你又如何从A结束B呢???
看说明我乱了,我直接按标题的理解说吧。
对于程序,在操作系统里面是一样的,无所谓主次,除非你将另一个程序加载为你的子线程。
进程之间的通信有几种,DDE,共享内存,socket(笨办法),其他WindowsAPI
主动方法:(在A的源码可以修改的情况下)
A的Unload事件(最好是QueryUnload事件),用DDE发消息给B进程,B做出响应,关于DDE参考百度。
共享内存主要使用DLL,需要有C/C++开发知识,这里只是说说,如果你正好是个C/C++程序员,那应该有所启发
socket可以直接使用Winsock控件,连接本地IP用网络通信,没有网线都没问题,不过是个笨办法(网卡驱动不正常就不能运作)
API方法,A在结束时使用TerminateThread把B干掉,这个方法有点点风险,不过对VB相对安全。
被动办法:(只有B的源码可以修改的情况下)
B用记时器,一定时间间隔判断A是否在运行,不在运行则结束自己(效率低下)
具体的代码再hi我吧
看说明我乱了,我直接按标题的理解说吧。
对于程序,在操作系统里面是一样的,无所谓主次,除非你将另一个程序加载为你的子线程。
进程之间的通信有几种,DDE,共享内存,socket(笨办法),其他WindowsAPI
主动方法:(在A的源码可以修改的情况下)
A的Unload事件(最好是QueryUnload事件),用DDE发消息给B进程,B做出响应,关于DDE参考百度。
共享内存主要使用DLL,需要有C/C++开发知识,这里只是说说,如果你正好是个C/C++程序员,那应该有所启发
socket可以直接使用Winsock控件,连接本地IP用网络通信,没有网线都没问题,不过是个笨办法(网卡驱动不正常就不能运作)
API方法,A在结束时使用TerminateThread把B干掉,这个方法有点点风险,不过对VB相对安全。
被动办法:(只有B的源码可以修改的情况下)
B用记时器,一定时间间隔判断A是否在运行,不在运行则结束自己(效率低下)
具体的代码再hi我吧
追问
谢谢啊,写错了一个,
是B程序不能修改
我在网上查找了多次,其中好像有关于API方法的,只是不太会用
我其实有个想法,就是在我叉掉A程序的窗口时,能不能启动一个VBS,用此来结束B程序
不知能不能实现
展开全部
a是怎么运行b的?用shell命令?
追问
===========
回xjnzhidao
在A里我的确是用shell来运行B的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主程序退出了,子程序不退出吗
追问
就是你这个意思,主程序是我做的,子程序不是我做的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在退出a窗口的代码中插入一句
Unload b '这是退退出B窗口
end '这是退出a窗口
Unload b '这是退退出B窗口
end '这是退出a窗口
追问
B没有窗口的,A窗口退出好像也没写代码啊,点右上角的叉叉就关了
追答
A窗口关闭,B子窗口也应该关闭的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询