我一直在玩Homeworld 1,要运行它,你需要运行Windows NT 4兼容模式。
由于某种原因,Windows 8没有这个,这非常烦人。
使用Microsoft应用程序兼容性工具包我发现Homeworld进行API调用以获取Windows的版本,它似乎停止工作,除非它认为它在Windows NT上运行(使用调试器我可以看到它调用GetVersion和GetVersionEx)。
http://technet.microsoft.com/en-us/library/cc749574(v=ws.10).aspx
使用上面的Microsoft Applocation Compat Toolkit修复了这个错误,但是我在很多不同的计算机上玩这个游戏,有些不能使用上面的方法。
有没有办法让我制作某种截取API调用的包装器,并使用上面的链接结构返回它们,以便程序认为它在NT上运行?我已经看到你放在一个文件夹中的很多DLL,它可以拦截某些调用,虽然我不确定它们是如何工作的,我认为它们是用C,C ++编写的。
我真正了解的唯一语言是C#,我认为它不能做我想要的,所以如果有人能够指出我正确的方向,帮助,给我提示或者指向我我可以得到更多的帮助,这将是伟大的!
谢谢你的时间!