Posted on 2008-06-06 20:11
AntialiasingMan 阅读(1628)
评论(3) 编辑 收藏 引用 所属分类:
未分类
原文作者:AntialiasingMan
原文写于:2008年06月06日
作者联系:AntialiasingMan@gmail.com本文附件:VB6奥运优化版 +
dx8vb.dll +
dx7vb.dll内容摘要:
1. 探索
2. 动手构建
3. 结束语
1. 探索
早就听说微软的 Vista 系统了,不过由于网友评价不怎么好一直没有尝试,前段时间 SP1 也发布了,程序兼容性也有所提升,俗话说眼见为实,耳听为虚,不如乘着现在还有时间的时候来试试看到底怎样,安装过程一切顺利没出现什么问题,经过一些简短的设置后,下意识的运行了一下自己先前在XP系统下用 VB6+DirectX 写的小程序,结果没能运行起来,提示缺少 dx8vb.dll ,不过这也在我意料之中,Vista系统和XP系统不同,不自带 dx8vb.dll 这个文件,那就到网上去下载吧,搜索了一番找到了,将此文件放到小程序的当前目录再次运行——结果提示运行时自动化错误,难道是dll 文件没有注册的缘故吗?又用了命令 regsvr32 dx8vb.dll 注册一下 dll 文件,不过结果非常令人失望,提示此 dll 文件已经被加载,但注册时找不到什么入口点?我终于晕了……
2.动手构建
想必诸位看到这里可能已经有些不耐烦了吧,那我也就不说上面这4个多小时的探索过程了,下面就将自己探索的成果简略写下:
1. 首先,下载 VB6 奥运优化版。为什么不用原版?因为我发现安装原版的时候会提示程序有兼容性问题,而且我用 VB6 仅仅是写一些 DirectX8 的程序,既然如此,此精简版就够用了(其实精简版的功能还是挺强大的),安装的时候会有 UAC 权限提升提示,一定用以管理员的身份运行安装程序。
2. 然后,不要急于运行安装好后的 VB6.EXE 程序,如果这样做的话会提示 VB6tmpl.tlb 文件没有注册或者丢失,导致无法进入开发环境,正确的解决方法是右键单击 VB6.EXE ,以管理员权限运行,下次再运行的时候双击即可,但要注意:如果不以管理员权限运行,打开某些项目时会有权限不足的提示,然后自动关闭 vb 开发环境,解决方法仍然是让 VB6.EXE 程序以管理员权限运行。
3. 目前为止,VB6 精简开发环境就已经构建出来了,可以正常的开发一般 VB6 应用程序并且可以通过编译与运行,但以现在的环境开发 DirectX7/8 程序还是不行的,“工程”->“引用”里面是找不到 DirectX 7/8 for Visual Basic Type Library 项目的,因为 Vista 系统默认不自带 dx7vb.dll、dx8vb.dll 这两个文件,所以上面的本文附件里列出了它们,请用上述地址下载它们,之后将dx7vb.dll、dx8vb.dll 这两个文件复制到 C:\Windows\System32 下(假设 C 盘为你安装系统的盘),这时同样会有 UAC 权限提升提示,按继续即可。
4. 最后,右击“开始菜单” -> “程序” -> “附件” -> “命令提示符”,将“命令提示符(Command Prompt)”程序以管理员身份运行,可以看到,当前路径刚好在 C:\Windows\System32 下,输入 regsvr32 dx8vb.dll 按回车注册 dx8vb.dll 文件;再输入 regsvr32 dx7vb.dll 按回车注册一下dx7vb.dll 文件,现在用 VB6 + DirectX7/8 写的程序就可以在Vista SP1下运行了,而且在“工程”->“引用”里面也找到了 DirectX 7/8 for Visual Basic Type Library 项目,至此,在 VistaSP1 下构建简易VB6 + DirectX7/8 编程环境的工作全部结束。
3. 结束语
上面的内容假设你没有禁用 Vista 的 UAC 功能,当然禁用了设置会更“方便”的,不过这个方便是带双引号的,一方面来说操作的确是简单多了,少了很多烦人的 UAC 提示框;另一方面,可以方便那些恶意软件兴风作浪——让所有恶意软件都运行在最高权限下。本人建议还是不要关闭 UAC ,毕竟在系统安装完,并配置好相应参数后弹出对话框的频率还是比较少的(除某些特殊程序运行时总是需要提升权限外)。