怎样能在启动别人的程序时程序,启动我的程序? 我公司有一内部使用的程序,在使用时要改变一下系统设置才能正常运行。为此我写一个改变和还原系统设置的程序。由于开发此程序的人离开时将源代码全带走了,所以我想能不能象一些病毒一样,将我的这个程序嵌入那个程序中,在它启动时启动,在它关闭时也关闭。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以这样做,先启动你的程序,然后通过设置完系统后,再用shell或shellexecute启动那个程序,然后捕获那个程序的句柄,在它关闭的时候你的程序在还原系统设置,然后退出. 作个全局hook 监视你要监视的程序句柄,得到句柄后在启动你的程序 回复好快啊!to:goodname008(卢培培,想学好VB) 我的信箱是:[email protected] 谢谢。to:all 我原来的做法是先启动我的程序,改变系统设置,然后再启动那个程序,然后用OpenProcess和Shell的返回值打开那个进程,然后用WaitForSingleObject等待,发现进程结束,再还原系统设置,结束我的程序。但后来发现这样占用系统资源很厉害。现在的做法是启动完后每隔5秒用FindWindow 来判断那个程序是否关闭,但这样觉得不可靠,而且很笨。希望大家再帮我想想别的办法。谢谢!!! 可以在你的程序启动以后用shell调用他的程序啊 用WaitForSingleObject可以无限期等待呀, 将你的还原系统设置的代码写在WaitForSingleObject语句之后,如:ExitEvent = WaitForSingleObject(hProcess, INFINITE) '你的还原系统设置的代码不用进行什么判定,ExitEvent = WaitForSingleObject(hProcess, INFINITE) 这句的作用就是使你的程序无限期等待,直到关闭调用的程序,你的程序才会继续执行。 to:goodname008(卢培培,想学好VB) 谢谢你,不过你的那个程序对我的用处不大,因为在第一程序结束时,不能结束第二个程序。不过仍然感谢你的帮助。to:rainstormmaster(rainstormmaster) 我用过WaitForSingleObject,但对系统资源占用太大了。不知道还有什么更好的办法没有。 to:lnhsgj(黑鹰) ,of123() 我试了一下,用批处理文件不行。下面是我写的一个批处理文件:@echo offwinminefreecellsolecho on三个程序还是一起出来。另个有个DOS窗口也不好看啊。 好主意!!DOS的SHELL学的好呀! 批处理应该这样写:@echo offStart/w winmineStart/w freecellStart/w solecho on 然后:Private Sub Command1_Click()Shell "c:\mc\test.bat", vbHideEnd Sub这样dos窗口就不会出来了 急,一个辣手问题啊!头疼死了 复制按钮 请问Teechart怎么样把三条曲线放在一个图上啊? 如何将16进制数写入二进制打开的文件? 如何得到sheet的名字? 怎样使工具拦上的某一个按钮处于不能点击的状态 怎样实现 自动打开默认邮件编辑程序的链接 下载文件的问题! vb调用matlab中的fslove函数解非线性方程组 *****一个关于返回记录集中记录总数的小问题*************快来拿分!!!!!!!!!!! [:( 我有<汽车管理信息系统><考勤>等源代码...(程序模块很强状) 为什么我打印mshflexgrid里的内容后,窗体上mshflexgrid控件就没有了?
我的信箱是:[email protected] 谢谢。to:all
我原来的做法是先启动我的程序,改变系统设置,然后再启动那个程序,然后用OpenProcess和Shell的返回值打开那个进程,然后用WaitForSingleObject等待,发现进程结束,再还原系统设置,结束我的程序。但后来发现这样占用系统资源很厉害。现在的做法是启动完后每隔5秒用FindWindow 来判断那个程序是否关闭,但这样觉得不可靠,而且很笨。希望大家再帮我想想别的办法。谢谢!!!
ExitEvent = WaitForSingleObject(hProcess, INFINITE)
'你的还原系统设置的代码
不用进行什么判定,ExitEvent = WaitForSingleObject(hProcess, INFINITE) 这句的作用就是
使你的程序无限期等待,直到关闭调用的程序,你的程序才会继续执行。
谢谢你,不过你的那个程序对我的用处不大,因为在第一程序结束时,不能结束第二个程序。
不过仍然感谢你的帮助。to:rainstormmaster(rainstormmaster)
我用过WaitForSingleObject,但对系统资源占用太大了。不知道还有什么更好的办法没有。
我试了一下,用批处理文件不行。
下面是我写的一个批处理文件:
@echo off
winmine
freecell
sol
echo on三个程序还是一起出来。另个有个DOS窗口也不好看啊。
@echo off
Start/w winmine
Start/w freecell
Start/w sol
echo on
Private Sub Command1_Click()
Shell "c:\mc\test.bat", vbHide
End Sub这样dos窗口就不会出来了