最近做项目,经常遇到玩家机器上的某些系统DLL版本和我编译环境不一样的情况。
比如dgbhelp.dll,这个2000系统下的就和我XP的不一样,
我的问题项目程序都是通过我另外个程序里的CreateProcess方法来启动的,在上面的这种情况下,
CreateProcess函数不会返回错误,但是程序进程却不在进程管理器里(也就是实际上已经失败了)。
很是奇怪,请问有人知道这种错误怎么在程序里直接捕捉到么?
比如dgbhelp.dll,这个2000系统下的就和我XP的不一样,
我的问题项目程序都是通过我另外个程序里的CreateProcess方法来启动的,在上面的这种情况下,
CreateProcess函数不会返回错误,但是程序进程却不在进程管理器里(也就是实际上已经失败了)。
很是奇怪,请问有人知道这种错误怎么在程序里直接捕捉到么?
1):函数名不一样了(dll 名也可能不一样吧)2):函数体变化了是哪个我不确定哦
前者只有不同的os版本,执行不同的dll加载ba后者就直接对 导出函数 返回值进行判断吧