basicamente podes hacerlo sabiendo si la clase esta registrada en el sistema,tenes que pasarle el nombre de clase del ocx o programa,algo asi:
Código:
Private Sub Form_Load()
If Not EstaRegistrado("mscomctllib.treectrl.2") Then
MsgBox "No esta registrado", vbExclamation
Else
MsgBox "Esta registrado", vbInformation
End If
End Sub
Public Function EstaRegistrado(ByVal Clase As String) As Boolean
On Error GoTo NoRegistrado
Dim obj As Object
Set obj = CreateObject(Clase)
EstaRegistrado = True
Exit Function
NoRegistrado:
End Function
en este ejemplo te muetra si esta registrado el Treeview....algunos nombres de clases mas:
Código:
excel.application es el excel...
Word.Application es el word
mscomctl2.monthview.2, MontView
mscomctl2.dtpicker.2, Date Time Picker
mscomctllib.treectrl.2, Treeview
mschart20lib.mschart.2, Ms Chart
mscommlib.mscomm.1, MsComm
para saber estos nombres de clase de los controles podes usar el programa que viene con visual basic llamado
OLE VIEW,ahi estan los nombres de clases....
saludos.