求助:调用外部程序遇到问题! 有个外部程序不能被调用的问题是:调用外部程序时本身的程序进程被结束,然后调用的外部程序进程也结束了。使用了winexec和shellexecute调用结果一样,以前没碰到过。请求帮助,是否在参数上需要调整?请附上源码,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我相信被调用的程序一定不是你写的。我估计是这样的,那个被你调用的程序,由于加了一些代码来反调试,那个程序启动时如果发现它的父进程不是Explorer.exe(还有其他几个)之类的,就直接结束父进程,这样你用你的程序调用时,当然就被Over了。首先试试把你的程序改成Explorer.exe试试,如果还是不行,估计得把那个被调程序修改修改了。 kiboisme说得没错:)谢谢了,但是除了改名称外还有其他办法吗?先送一半分:) 除了改名称剩下的办法不多了,1:用OD,SoftICE调试那个程序,下断BP TerminateProcess,如果发现是结束不该结束的程序直接把Call TerminateProcess改成NOP2:HOOK那个程序的TerminateProcess,不让它结束你的程序(也有可能调用的SendMessage(WM_CLose)来结束你的程序,:(不过HOOK API不好弄,必须用调试方式打开那个程序才能在程序一开始运行时进行HOOK,否则就只能作全局HOOK了。个人推荐用第一个方法 关于在delphi 内 判断sql2000中是否存‘a’临时表 C# 中的namespace 相当于 DELPHI中的什么呢 dephi对象的生存期 请教,待回复,在线等,急切想知道为什么,HOO 求一个算法 一个字符串(有字母,汉字,数字。标点符号,空格)等能够区别出来,只要是数字(一个)在这个数字前加A后面加B,汉字是前面 怎樣讓TADOQuery.locate 支持按F3的連續查找呢? rave 求和 sql问题,高手请入!! 一篇好文章 蔡鸟问题 IntraWeb怎么实现打印啊 如何将fastreport3报表生成html文件?
我估计是这样的,那个被你调用的程序,由于加了一些代码来反调试,那个程序启动时如果发现它的父进程不是Explorer.exe(还有其他几个)之类的,就直接结束父进程,这样你用你的程序调用时,当然就被Over了。
首先试试把你的程序改成Explorer.exe试试,如果还是不行,估计得把那个被调程序修改修改了。
1:用OD,SoftICE调试那个程序,下断BP TerminateProcess,如果发现是结束不该结束的程序直接把Call TerminateProcess改成NOP
2:HOOK那个程序的TerminateProcess,不让它结束你的程序(也有可能调用的SendMessage(WM_CLose)来结束你的程序,:(
不过HOOK API不好弄,必须用调试方式打开那个程序才能在程序一开始运行时进行HOOK,否则就只能作全局HOOK了。个人推荐用第一个方法