Registra OCX con Problemas de Licencias desde Access

Despues de investigar mucho y de preguntarme el porque Microsoft no deja registrar ciertas OCX como el Control Inet "MsInet.OCX"

Descubri que es necesario Licenciarlo y eso es pagando a Microsoft, pero tambien descubri que existia un archivo de registro que

suple la necesidad de la licencia y aca esta lo pongo a dispocision de todos los programadores de Access

Tambien puedes usar este modulo para registrar el MSWINSCK.OCX

NOTA: EL USO DE ESTE MODULO Y EL ARCHIVO REG DE LOS CONTROLES PARA SU REGISTRO, QUEDA A JUICIO DEL PROGRAMADOR POR FAVOR SEA CONCIENTE Y NO UTILIZE LA AYUDA QUE LE HE BRINDADO PARA COMETER DELITOS CIBERNETICOS.

** El Codigo **

Option Compare Database

'***************************************************************

'& &*

'& &*

'& &*

'& &*

'& Jefferson Jimenez (JJJT) &*

'& Cabimas - Venezuela &*

'& Agosto - 2010 &*

'& &*

'& &*

'& &*

'& &*

'& &*

'***************************************************************

'API para conocer la Carpeta del System

Private Declare Function GetSystemDirectory _

Lib "kernel32" _

Alias "GetSystemDirectoryA" ( _

ByVal lpBuffer As String, _

ByVal nSize As Long) As Long

'API para verificar un Path

Private Declare Function JJJTExisteFile Lib "shlwapi.dll" Alias "PathFileExistsA" _

(ByVal pszPath As String) As Boolean

Dim RefAccess As Access.Reference 'Creo una Var para la Referencia MsInet.OCX

Function JJJTRegistraMsInet(frmInicio As String)

Dim MsOCXReg As String

On Error Resume Next

If JJJTExisteFile(SystemFolder & "msinet.ocx") Then 'De existir la OCX en la Carpeta System32

Dim CuentaRef As Integer

For CuentaRef = Application.References.Count To 1 Step -1 'Cuento las Referencias

Set RefAccess = References(CuentaRef) 'Las Cargo

References.AddFromFile (SystemFolder & "msinet.ocx") 'La Agrego

DoCmd.OpenForm frmInicio 'Abro el Form Inicio

Next CuentaRef

Err.Clear 'Si la referencia esta creada, elimino el mensaje Access

Else 'De no existir

MsOCXReg = SystemFolder & "RegistraJJJT.reg"

MsgBox "Se ha detectado que no tiene instalado el control ActiveX 'msinet.ocx' " & vbCrLf & _

"su registro es indispensable, para el buen funcionamiento de este ejemplo" & vbCrLf & vbCrLf & _

"Vamos a Registrarlo", vbExclamation, "JJJT Access"

'Primero Copia a la carpeta del System la OCX y el REG

FileCopy CurrentProject.Path & "\Ocx MsInet\msinet.ocx", SystemFolder & "msinet.ocx"

FileCopy CurrentProject.Path & "\Ocx MsInet\RegistraJJJT.reg", SystemFolder & "RegistraJJJT.reg"

'Luego las ejecuto con el comando Shell para Registrarlas

Shell "REGSVR32 " & SystemFolder & "msinet.ocx" & " /s", vbHide

Shell "regedit.exe /s " & MsOCXReg & ""

DoCmd.OpenForm frmInicio 'Abro el Form Inicio

End If

End Function

Function SystemFolder() As String

Dim Buffer As String * 256

Dim Tam As Long

' Muestra el path del directorio de sistema

Tam = GetSystemDirectory(Buffer, Len(Buffer))

SystemFolder = Left$(Buffer, Tam) & "\"

End Function