只有在WIN8上运行的基本VB6应用程序? 像GDI +,Keyhooks,FileSystem或RtlMoveMemory Apis一样,任何API的使用都是不同的。
VB6是x86,Win8是x64。
我已经阅读: VB6在Windows 8上运行?
“Microsoft.ACE.OLEDB.12.0”提供程序可能的解决scheme没有在本地机器上注册“?
如何重新绑定winforms中的comboBox?
如果我使用客户机上未安装的字体,会发生什么情况?
BC30451“VARIABLE”未被声明。 由于其保护级别,可能无法访问
性能ListView.click与Button.Click
如何释放占用的内存
我可以在TransactionScope块中使用sqlConnection.BeginTransaction
安装程序自定义操作无法读取所有registry值
MJPEGStream显示streamAforge.Video.dll
Windows 8不会更改Windows桌面应用程序的基本API。 (当然除了Windows RT)
Windows的未来版本也不会; 对这些API的任何更改都会破坏与所有现有应用程序的兼容性。
我们刚刚开始在Windows 8 x64上测试我们的VB6应用程序。 该应用程序是巨大而复杂的。 事情一般似乎工作,甚至更老的第三方OCX控件等ADO / mdac工作正常与各种版本的sql server。 有很多的Win32 API调用似乎也可以正常工作。 我们还能够在Windows 8 x64上安装VB6 IDE进行测试和调试。
然而,第一个问题是一个普通的50003错误和一个消息说它不能创建主要的应用程序表单或类似的东西。 进一步的调查显示,Windows 8出于某种原因不喜欢嵌入在窗体中的一些图标(它们存储在窗体的附带.frx文件中,并在编译时嵌入到.exe中)。 看起来它可能与具有透明背景的图标有关。
该应用程序大约。 100个受影响的表单。 一旦这个问题得到解决,应用程序似乎工作正常。 但是,这一件事打破了我们在Windows 7上运行良好的分发可执行文件(以及Vista,XP和所有服务器版本,以及在2000,Win98和Win95上运行的旧版本)。 它可以很容易地固定,但我们希望不必做任何事情。 叹。
如果有其他人看到这个或有任何提示或建议,我会感兴趣。
PS @Hans Passant,Windows 7 SP1 ADO问题已修复KB2640696。
保持旧的VB6程序运行肯定是越来越难。 Windows 7 SP1部署过期更新到ADO ,这将阻止旧的VB6 dbase应用程序工作。 今年MSCOMCTL.OCX有两个重要的安全补丁,其中一个修改了指导。
虽然您可以通过跳过这些更新来保持旧机器运行旧的VB6应用程序,但Windows 8将使它们就位并且无法恢复。 您必须在具有这些更新的计算机上重建您的应用程序,以便使用新的类型库。 如果这不是一个选项,那么虚拟机是保持它的方式。 但是我没有看到虚拟XP模式的支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。