怎么判断一个*dll的控件是否在系统中注册了,如果没有怎么在软件中写代码注册

如何判断一个*.dll的控件是否在系统中注册了,如果没有如何在软件中写代码注册?
如何判断一个*.dll的控件是否在系统中注册了,如果没有如何在软件中写代码注册?即如何在代码中运行一个Regsvr32.exe   *.dll

------解决方案--------------------
Regsvr32.exe 是一个程序。
直接用Process掉用就行了

public static Process Start (
string fileName,
string arguments
)
参数
fileName
要在该进程中运行的应用程序文件的名称。

arguments
启动该进程时传递的命令行参数。


返回值
与该进程关联的新的 Process 组件,或者如果没有启动进程资源(例如,如果重用了现有进程),则为空引用(在 Visual Basic 中为 Nothing)。
------解决方案--------------------
ActiveX控件在VB中的使用

在开始一切工作之前,请确保ActiveX控件已经注册到计算机,请运行系统安装目录下面“注册控件.bat”。

在VB6.0中,新建一个标准的EXE应用程序,在左边工具栏上单击右键,出现菜单


选择“Components”,打开一个对话盒
按确定后,把Visual Graph ActiveX控件插入工具栏
左边的控件是主要的Visual Graph ActiveX控件,右边那个是属性列表窗口。

用鼠标选择左边的图标,在当前应用程序的窗口上用鼠标拉框的办法创建一个控件,这个控件的缺省名为vgctrl1。


--------------------------------------------

第一步:双击窗口,填写下面的代码

Private Sub Form_Load()

vgctrl1.Design " "

End Sub

这句程序执行后,将在控件中设计一个新的Visual Graph视图文件,控件支持Design(设计)和Run(运行)两个函数,无论接下来要干什么,一开始必须执行这两个函数其中一个,在绘图版本中,多用Design函数,用户将可以用鼠标在控件窗口上编辑图形;在工业监控等领域一般多用Run函数,用户不能用鼠标直接编辑图形,但用鼠标点击画面上不同的图形时会有各种控制事件发生,而且某些图形还会产生动作。如果要打开一个视图文件,参数是文件名。
http://www.visual-graph.com/down/vg.zip

--------------------------------------------

第二步:在窗口上放一个按钮Command1,双击这个按钮,编写下面的代码

Private Sub Command1_Click()

Dim ASheet As ISheet
Dim AText As IText
Set ASheet = vgctrl1.ActiveSheet
Set AText = ASheet.AddUnit( "Text ", 0, 0, 100, 100)
AText.Text = "Hello World! "

End Sub

ActiveSheet是视图文件的当前页面(页面类),Visual Graph图形系统支持多个页面,当前画图的工作都是在ActiveSheet上实现的,一般应用中只要一个页面就够了,但是如果视图文件是作为图库来用,它里面可能页面就多了。

AddUnit是页面类的函数成员,在ASheet页面上添加一个文字单元,宽度和高度都是100。这句程序执行后,用鼠标点击新生成的图形,可以在上面输入字符,或者用鼠标移动这个图形,改变它的大小等。

Text是文字单元类的属性成员,通过它修改图形的文字属性。


--------------------------------------------

第三步:在窗口上再放一个按钮Command2,双击这个按钮,编写下面的代码

Private Sub Command2_Click()

vgctrl1.NewUnit "Line ", 0

End Sub

NewUnit是视图类的命令函数,执行这句程序后,可以在画面上用鼠标画线。


--------------------------------------------

第四步:下面,我们要给控件加上相应的事件,例如右键事件。

Private Sub vgctrl1_OnRButtonDown(ByVal X As Double, ByVal Y As Double)

Dim ASheet As ISheet
Dim AUnit As IUnit
Set ASheet = vgctrl1.ActiveSheet
Set AUnit = ASheet.UnitAtPoint(X, Y, Nothing)
MsgBox "您在图形: " + AUnit.Name + " 上按下了右键! "

End Sub

UnitAtPoint是页面类的函数成员,返回当前鼠标位置处的图形单元。我们一般在右键事件上挂上菜单,用这种办法我们就能知道当前要对什么图形对象进行操作,然后,根据不同的图形对象,产生不同的菜单内容。此处也可以用下面的写法:
Set AUnit = ASheet.UnitAtCursor( Nothing ),这样也得到当前鼠标位置所在的图形。

--------------------------------------------

第五步:上面这个程序有个漏洞,如果我们没有首先单击Command1按钮创建一个图形,那么这里的AUnit就是空,将使得最后一行程序出错,因此,要修改为:

Private Sub vgctrl1_OnRButtonDown(ByVal X As Double, ByVal Y As Double)

Dim ASheet As ISheet
Dim AUnit As IUnit
Set ASheet = vgctrl1.ActiveSheet
Set AUnit = ASheet.UnitAtCursor(Nothing)
If Not (AUnit Is Nothing) Then
MsgBox ( "您在图形: " + AUnit.Name + " 上按下了右键! ")
End If

End Sub


--------------------------------------------

第六步:下面我们添加元件。在窗口上再放一个Visual Graph ActiveX控件,把它设法放到看不到的地方(但是Visible属性不能设置成False)。修改Form_Load代码