VB6 Shell() Function doesn't work in 64-bit Windows
Hi,
My firm has a number of legacy processes and applications, written in Visual Basic 6, that use the Shell() function to execute various external programs like BCP.EXE. We are currently in the process of migrating these programs from a Windows NT environment to a Windows 2003 x64 environment. I have found that the Shell() function no longer works in the 64-bit environment. I have also tried using the CreateProcessA API and this doesn't appear to work either. Does anyone know of a method of executing external 32-bit programs from a VB6 program running in a 64-bit environment? Also, does anyone know of any other potential pitfalls with migrating VB6 applications to a 64-bit operating system?
Any help that could be provided would be much appreciated!
JCB
Re: VB6 Shell() Function doesn't work in 64-bit Windows
does the program actually run on that operating system?
can you create a shortcut to it?
possibly you can shellexecute the shortcut
Re: VB6 Shell() Function doesn't work in 64-bit Windows
Yes, the program runs in the Windows 2003 x64 Standard Edition operating system. The program is a scheduled process that runs on the Win2k3 x64 machine and calls other 32-bit executables that also reside on that machine. Unfortunately, running it from another 32-bit machine is not an option.
Re: VB6 Shell() Function doesn't work in 64-bit Windows
Instead of Shell have you tried using the ShellExecute API?
What are the possibilities of rewriting these legacy apps in VB.NET?