2016-01-15 22:28:53 wzk456 Reading number: 2982
The strong vitality of Visual Basic 6.0 makes people reluctant to give up. When Win8 was first released, Microsoft announced that it would no longer support VB6, which caused a lot of dissatisfaction with VB6 fans. But later, I saw someone saying that VB6 can be used on Win8, which is of course a good thing for me. Today, because of debugging a software, VB6 needs to be used to verify some algorithms, so I installed VB6 on the April 8th update environment of Win8.1 64-bit Enterprise Edition. I chose VB6 Chinese Enterprise Edition as the installation source. It didn't go smoothly at the beginning. When running the Setup program, I used the administrator status and selected the XP SP3 compatible method. After the Setup program is started, all installation contents are selected. The process of copying files during the previous installation is relatively smooth, but when the system is updated later, the machine will freeze and stay there. I checked the installation process of other people on the Internet and found that at the beginning of the selection, the item of "Data Tools" could not be selected, otherwise there would be this problem. According to this method, re-installation, everything is completed smoothly. After restarting the system, installing the MSDN and SP6CN updates, they are all successfully completed. At this time, start the VB6 interface, enter the project menu, select components, use the early OCX controls, and select the controls to be used, such as the MScomm serial communication control. At this time, you will find a registry error. After inquiring, it was found that it was caused by the registry permission problem under Win8. These controls need to be re-registered before they can be used normally. For example, for the MSCOMM control, the corresponding OCX file is C:\Windows\sysWOW64\mscomm32.ocx. Therefore, you need to open a command line window as an administrator, and then use the command to process the control as follows: first unregister the currently registered OCX control from the system and use the following name: c:\Windows\sysWOW64\regsvr32.exe After the /u mscomm32.ocx command is successful, the following prompt appears, and then register the control again, the command is as follows: After the c:\Windows\sysWOW64\regsvr32.exe mscomm32.ocx command is successful, the following dialog box will appear. At this point, return to the VB6 project. In the parts list, select the control and confirm, you can add the control and use it normally. As shown in the figure below: In view of security issues, after 2009, there are problems with multiple controls of VB6, which are forbidden by Microsoft to use in the VBA environment. Therefore, the directly installed VB6 SP6 control will become inoperable when used in a VBA environment such as Excel. On April 9, 2012, Microsoft released the cumulative security update package KB2708437 for VB6SP6, which updates multiple controls used in the previous period. The updated control can be used normally in the VBA environment. However, there may be a problem that the newly installed control needs to be registered again after de-registering the original control under Win8. For ease of operation, copy these affected controls (including OCX and some DLLs), as well as the commonly used TeeChart V5.0 controls, VB6IDEMouseWheelAddin controls to a VB6OCX directory, and replace the updated OCX of KB2708437 with the original VB6SP6 and install directly After the OCX, a batch file of copying, de-registering, and re-registering was created. After packaging these contents, they are used to supplement the normal installation of VB6. The content of this batch file is as follows: @echo off echo This is a patch to VB6 installed in Win8 X64 system. Which echo using VB6 SP6 Chinese package and with security patch KB2708437 echo fixed the issue used in VBA inside Excel. echo echo You must run this batch file as ADMINISTRATOR. echo echo echo copy those DLLs and OCXs to system32 or SysWOW64, and then echo register them into system, your VB6 can run under Win8. copy .\*.dll %windir%\system32\ copy .\*.ocx %windir%\system32\ regsvr32 /s /u comcat.dll regsvr32 /s /u COMCT232.OCX regsvr32 /s /u comct332.ocx regsvr32 /s /u comctl32.ocx regsvr32 /s /u comdlg32.ocx regsvr32 /s /u dbadapt.dll regsvr32 /s /u dbgrid32.ocx regsvr32 /s /u dblist32.ocx regsvr32 /s /u Flash.ocx regsvr32 /s /u FM20.DLL regsvr32 /s /u grid32.ocx regsvr32 /s /u MCI32.OCX regsvr32 /s /u MSADODC.OCX regsvr32 / s / u MSBCODE9.OCX regsvr32 / s / u MSBind.dll regsvr32 / s / u MSCHRT20.OCX regsvr32 / s / u mscomct2.ocx regsvr32 / s / u MSCOMCTL.OCX regsvr32 / s / u MSCOMM32.OCX regsvr32 / s / u MSDATGRD.OCX regsvr32 / s / u MSDATLST.OCX regsvr32 / s / u MSDATREP.OCX regsvr32 / s / u MSDbRpt.dll regsvr32 / s / u MSDbRptr.dll regsvr32 / s / u Msflxgrd.ocx regsvr32 / s / u MSHFLXGD.OCX regsvr32 / s / u MSINET.OCX regsvr32 / s / u msmapi32.ocx regsvr32 / s / u msmask32.ocx regsvr32 / s / u MSRDC20.OCX regsvr32 / s / u msrdo20.dll regsvr32 / s / u msscript .ocx regsvr32 / s / u msstdfmt.dll regsvr32 / s / u msstkprp.dll regsvr32 / s / u mstscax.dll regsvr32 / s / u msvidctl.dll regsvr32 / s / u MSWINSCK.OCX regsvr32 / s / u PICCLP32.OCX regsvr32 / s / u richtx32.ocx regsvr32 / s / u shell32.dll regsvr32 / s / h sysinfo.ocx regsvr32 / s / u tabctl32.ocx regsvr32 / s / u TeeChart.ocx regsvr32 / s / u VB6IDEMouseWheelAddin.dll regsvr32 / s / u wbclsdsr.Ocx regsvr32 / s / u wiaaut.dll regsvr32 / s / you ZoomControl.ocx regsvr32 / s comcat.dll regsvr32 / s COMCT232.OCX regsvr32 / s comct332.ocx regsvr32 / s Comctl32.ocx regsvr32 / s comdlg32.ocx regsvr32 / s dbadapt.dll regsvr32 / s dbgrid32.ocx regsvr32 / s dblist32 .ocx regsvr32 / s Flash.ocx regsvr32 / s FM20.DLL regsvr32 / s grid32.ocx regsvr32 / s MCI32.OCX regsvr32 / s MSADODC.OCX regsvr32 / s MSBCODE9.OCX regsvr32 / s MSBind.dll regsvr32 / s MSCHRT20.OCX regsvr32 / s mscomct2.ocx regsvr32 / s MSCOMCTL.OCX regsvr32 / s MSCOMM32.OCX regsvr32 / s MSDATGRD.OCX regsvr32 / s MSDATLST.OCX regsvr32 / s MSDATREP.OCX regsvr32 / s MSDbRpt.dll regsvrp / s MSDbRpt.dll regsvrp / s .ocx regsvr32 / s MSHFLXGD.OCX regsvr32 / s MSINET.OCX regsvr32 / s msmapi32.ocx regsvr32 / s msmask32.ocx regsvr32 / s MSRDC20.OCX regsvr32 / s msrdo20.dll regsvr32 / s msscript.ocx regsvr32 / s msstdfmt.dll regsvr32 / s msstkprp.dll regsvr32 / s mstscax.dll regsvr32 / s msvidctl.dll regsvr32 / s MSWINSCK.OCX regsvr32 / s PICCLP32.OCX regsvr32 / s richtx32.ocx regsvr32 / s shell32.dll regsvr32 / s sysinfo.ocx regsvr32 / s tabctl32.ocx regsvr32 / s TeeChart.ocx regsvr32 / s VB6IDEMouseWheelAddin.dll regsvr32 / s wbclsdsr.Ocx regsvr32 / s wiaaut.dll echonvoc.32 . echo Press any key to continue ... echo on 附 : 文件 列表 : 2014/03/10 周一 11:11 466,680 BsSDK.dll 2009/07/14 周二 09:15 7,168 comcat.dll 2010/02/16 Tuesday 15:22 170,080 ComCt232.ocx 2010/02/16 Tuesday 15:22 415,552 ComCt332.ocx 2012/05/02 Wednesday 12:17 617,816 comctl32.Ocx 2010/02/16 Tuesday 15:22 155,984 ComDlg32 .OCX 2010/02/16 Tuesday 15:22 57,168 dbadapt.dll 2010/02/16 Tuesday 15:22 567,104 dbgrid32.ocx 2010/02/16 Tuesday 15:22 222,528 dblist32.Ocx 2014/04/01 Tuesday 05:23 12,351,992 Flash.ocx 2014/01/23 Thursday 15:54 1,239,208 FM20.DLL 2009/03/31 Tuesday 10:48 89,600 grid32.ocx 2010/02/16 Tuesday 15:22 215,880 mci32.Ocx 2010/02/16 Tuesday 15:22 134,976 MSAdoDc.ocx 2010/10/20 Wednesday 16:36 128,880 MSBCODE9.OCX 2010/02/16 Tuesday 15:22 84,808 MSBind.dll 2010/02/16 Tuesday 15:22 1,029,968 MSChrt20.ocx 2010/02/16 Tuesday 15:22 659,264 mscomct2.ocx 2012/05/02 Wednesday 12:17 1,070,152 mscomctl .OCX 2010/02/16 Tuesday 15:22 119,616 MSComm32.Ocx 2010/02/16 Tuesday 15:22 69,440 MSCsfDbg.dll 2010/02/16 Tuesday 15:22 278,352 MSDatGrd.ocx 2010/02/16 Tuesday 15:22 252,240 MSDatLst.Ocx 2010/02/16 Tuesday 15:22 206,160 MSDatRep.Ocx 2010/02/16 Tuesday 15:22 340,800 MSDbRpt.dll 2010/02/16 Tuesday 15:22 328,512 MSDbRptr.dll 2010/02/16 Tuesday 15 :22 258,880 MSFlxGrd.ocx 2010/02/16 Tuesday 15:22 443,488 MShflxgd.ocx 2010/02/16 Tuesday 15:22 136,008 MSINET.Ocx 2010/02/16 Tuesday 15:22 151,376 msmapi32.Ocx 2010/02/16 Tuesday 15:22 178,512 msmask32.ocx 2010/02/16 Tuesday 15:22 190,800 msrdc20 .Ocx 2010/02/16 Tuesday 15:22 449,872 msrdo20.dll 2009/07/14 Tuesday 09:14 95,232 msscript.ocx 2010/02/16 Tuesday 15:22 129,872 msstdfmt.dll 2010/02/16 Tuesday 15:22 107,840 msstkprp.dll 2010/12/22 Wednesday 19:29 2,690,560 mstscax.dll 2008/04/14 Monday 03:13 1,417,728 msvidctl.dll 2010/02/16 Tuesday 15:22 126,800 MSWINSCK.ocx 2010/02/16 Tuesday 15 :22 100,160 PicClp32.Ocx 2010/02/16 Tuesday 15:22 218,432 richtx32.Ocx 2012/06/08 Friday 22:25 8,320,512 shell32.dll 2010/02/16 Tuesday 15:22 80,208 sysinfo.Ocx 2010/02/16 Tuesday 15:22 221,504 TabCtl32.Ocx 2014/04/20 Sunday 18:07 383,488 teechart.oca 2011/04/06 Wednesday 18:07 2,602,496 TeeChart.ocx 2014/04/20 Sunday 19:40 10,312,704 VB60SP6-KB2708437-x86-CHS.msi 2011/04/16 Saturday 11:03 36,864 VB6IDEMouseWheelAddin. dll 2014/04/20 Sunday 23:18 3,083 VB6Win8Patch.bat 2011/04/16 Saturday 11:03 227 VBA Mouse Wheel Fix.reg 2010/02/16 Tuesday 15:22 334,672 wbclsdsr.Ocx 2009/07/14 Tuesday 09:16 544,256 wiaaut.dll 2001/09/18 Tuesday 16:28 28,672 ZoomControl.ocx 53 files 50,844,174 bytes 2 directories 23,614,660,608 available bytes According to this approach, a lot of errors can be reduced and the process of finding files can be reduced, which is convenient for VB6 to use under Win8. There is no verification under 32-bit Win8.1. |