查看文章 |
Update: 下载地址已经更新,SkyDrive改版之后原地址失效,东西虽还在但换了新地址 注:加载器已经转移到此处下载,原网盘太麻烦了 Tag: ShellExecute, x64, FarmFrenzy3, MFC 前几天在hxgame.net下了疯狂农场的最新作疯狂农场3,一直没时间上手。今天想起来装下试试,可是到运行的时候Shability了:
试过了XP SP3和Vista SP2的兼容模式都不行,于是去原页面看了评论,有人反映同样的问题,但是好像没解决方案,然后搜到某贴吧里去,一人给答案:x64不能玩。于是又shability了…… 怀着好奇的心情重装了游戏,记得安装最后一步,点完成之前可以选上“立即运行XX游戏”这一项,选中之后点完成,成功运行。 于是在任务管理器里做一些观察,在64位Windows环境下,所有的32位程序运行时会加上"* 32"这样的后缀,以标识此程序当前运行在WOW64环境(注1)下。安装程序本身自然是32位的,然后运行32位的农场3执行文件,这种情况是正常的。直接执行农场3的执行文件,因为是同样是32位的,所以也有了"FarmFrenzy3.exe * 32"字样,但既然弹出上面那个对话框报错,于是怀疑:WOW64可能无法初始化FarmFrenzy3.exe的执行环境,然而之前的安装程序是可以正常初始化的,通过安装程序运行的子程序(FarmFrenzy3.exe),继承了一定的父进程(setup.exe)的设置,于是就能正常运行了。 至于为什么该游戏会与WOW64冲突这无从知晓,由于众所周知的原因,今天打开墙外网站都比较慢,所以游戏官方主页没能打开,如果有更新的话也许可以使用。现在只能自己动手了:通过正常运行的32位程序启动游戏能正常运行,既然安装程序不可能总启动,那就写一个农场的启动器呗:
用法很简单,选择Browse找到FarmFrenzy3.exe,点击Run执行,也可以直接在上面文本框输入完整路径后点击Run,程序在当前目录生成一个ExePath.txt的文件记录上次运行成功时的路径,下次启动时直接读取该路径,不必再重新选择。 本工具使用MFC静态链接,体积有点巨,但我还不会Win32加按钮,所以没办法了- -|| 注解: |



