Visual Basic 6程序是否可以在64位计算机上运行?

时间:2022-09-01 10:05:56

I have a program built with VB6 and using some 32-bit DLL's. Will this program run on a 64-bit machine? This page suggests that it should run fine on the Windows on Windows layer, but what about the DLL's?

我有一个用VB6构建的程序并使用一些32位DLL。这个程序会在64位机器上运行吗?这个页面表明它应该在Windows上的Windows上正常运行,但是DLL的呢?

3 个解决方案

#1


11  

Yes, both the VB 6 program and the DLLs will work just fine on a 64-bit version of Windows.

是的,VB 6程序和DLL都可以在64位版本的Windows上正常工作。

Since both are 32-bit, they will run under the Windows-on-Windows 64 (WoW64) subsystem, which effectively emulates a 32-bit operating system on the 64-bit versions of Windows.

由于它们都是32位,因此它们将在Windows-on-Windows 64(WoW64)子系统下运行,该子系统有效地模拟64位版本Windows上的32位操作系统。

I've run many such programs myself with nary a hitch.

我自己运行了很多这样的程序,没有任何障碍。

Beyond Explorer extensions and kernel mode drivers (neither of which you've written in VB 6), any compatibility problems that you might experience are almost certainly the result of bugs in your own code, which are easily fixed upon detection. Ask more questions about that when you find them.

除了Explorer扩展和内核模式驱动程序(两者都不是用VB 6编写的)之外,您可能遇到的任何兼容性问题几乎肯定是您自己的代码中的错误导致的,这些错误在检测时很容易修复。当您找到它们时,请询问更多相关问题。

#2


5  

Are the DLLs built with VB6 as well? Or are they native?

DLL也是用VB6构建的吗?或者他们是原生的吗?

If you are dealing with 100% VB6, then in my experience, yes they tend to run with minimal problems (I maintained a number of plug-ins for another program that were mostly implemented as VB6 COM components, around the time that Windows 7 came out).

如果您正在处理100%VB6,那么根据我的经验,是的,他们倾向于以最小的问题运行(我为另一个程序维护了许多插件,这些程序主要是作为VB6 COM组件实现的,大约是Windows 7来的时候出)。

It will all of course depend on what libraries your code is using, whether or not you are accessing locations such as %PROGRAMFILES% etc, calling code in native libraries. These things can cause small problems but it is possible to work around them.

它当然取决于您的代码使用的库,无论您是否访问%PROGRAMFILES%等位置,在本机库中调用代码。这些东西可能会导致小问题,但可以解决它们。

#3


3  

Microsoft are still supporting the VB6 runtime on 64-bit windows

Microsoft仍在64位窗口上支持VB6运行时

Yes, it works, and if you have any problems they will help you.

是的,它有效,如果你有任何问题,他们会帮助你。

#1


11  

Yes, both the VB 6 program and the DLLs will work just fine on a 64-bit version of Windows.

是的,VB 6程序和DLL都可以在64位版本的Windows上正常工作。

Since both are 32-bit, they will run under the Windows-on-Windows 64 (WoW64) subsystem, which effectively emulates a 32-bit operating system on the 64-bit versions of Windows.

由于它们都是32位,因此它们将在Windows-on-Windows 64(WoW64)子系统下运行,该子系统有效地模拟64位版本Windows上的32位操作系统。

I've run many such programs myself with nary a hitch.

我自己运行了很多这样的程序,没有任何障碍。

Beyond Explorer extensions and kernel mode drivers (neither of which you've written in VB 6), any compatibility problems that you might experience are almost certainly the result of bugs in your own code, which are easily fixed upon detection. Ask more questions about that when you find them.

除了Explorer扩展和内核模式驱动程序(两者都不是用VB 6编写的)之外,您可能遇到的任何兼容性问题几乎肯定是您自己的代码中的错误导致的,这些错误在检测时很容易修复。当您找到它们时,请询问更多相关问题。

#2


5  

Are the DLLs built with VB6 as well? Or are they native?

DLL也是用VB6构建的吗?或者他们是原生的吗?

If you are dealing with 100% VB6, then in my experience, yes they tend to run with minimal problems (I maintained a number of plug-ins for another program that were mostly implemented as VB6 COM components, around the time that Windows 7 came out).

如果您正在处理100%VB6,那么根据我的经验,是的,他们倾向于以最小的问题运行(我为另一个程序维护了许多插件,这些程序主要是作为VB6 COM组件实现的,大约是Windows 7来的时候出)。

It will all of course depend on what libraries your code is using, whether or not you are accessing locations such as %PROGRAMFILES% etc, calling code in native libraries. These things can cause small problems but it is possible to work around them.

它当然取决于您的代码使用的库,无论您是否访问%PROGRAMFILES%等位置,在本机库中调用代码。这些东西可能会导致小问题,但可以解决它们。

#3


3  

Microsoft are still supporting the VB6 runtime on 64-bit windows

Microsoft仍在64位窗口上支持VB6运行时

Yes, it works, and if you have any problems they will help you.

是的,它有效,如果你有任何问题,他们会帮助你。