Does the VB6 VisualBasic6 API work on Windows 8?

Are only the main VB6 applications on WIN8 used? Are any APIs used different, such as GDI +, Keyhooks, FileSystem or RtlMoveMemory Apis.

VB6 - x86, Win8 - x64.

I already read: VB6 Works in Windows 8?

+4
source share
3 answers

Windows 8 does not change the basic APIs for Windows desktop applications. (except, of course, for Windows RT)

Future versions of Windows will also not; any changes to these APIs will interfere with compatibility with all existing applications.

+6
source

We just started testing our VB6 application on Windows 8 x64. The application is huge and complicated. Things usually work, even older third-party OCX controls, etc. ADO / MDAC works great with various versions of SQL Server. There are many Win32 API calls that seem to work just fine too. We were also able to install the VB6 IDE on Windows 8 x64 for testing and debugging.

The very first problem, however, was a common mistake 50003 and the message that it could not create the main form of the application or something like that. Further research showed that for some reason Windows 8 did not like some of the icons built into the forms (they are stored in the form that accompanies the .frx file and built into .exe at compile time). It looks like this might be due to the icons with a transparent background.

The app has approx. 100 forms that are affected. Once the problem is fixed, the application works fine. But this one thing violates our distribution executable, which works fine in Windows 7 (both Vista and XP, and all versions of the server, and older versions work on 2000, Win98 and Win95). It can be easily fixed, but we hoped that you had nothing to do. Sigh.

I would be interested if anyone else saw this or have any tips or suggestions.

PS @Hans Passant, ADO issue for Windows 7 SP1 fixed with KB2640696.

+4
source

Saving older VB6 programs is definitely getting complicated. On Windows 7 Service Pack 1 (SP1), an on-delay update for ADO was installed that will stop older dbase VB6 applications from working. There were two important security fixes for MSCOMCTL.OCX this year, one of which changed pointers.

While you can keep old machines running the old VB6 application by simply skipping these updates, Windows 8 will have them in place and you won’t be able to return. You will have to rebuild your application on the computer with these updates so that it uses the new type libraries. If this is not an option, then a virtual machine is a way to save it. However, I do not see support for Virtual XP mode yet.

+3
source

Source: https://habr.com/ru/post/1447955/


All Articles