我使用以下方法锁定了 Catia:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim boolCatAlive As Boolean
boolCatAlive = False
Try
Dim myCatia As INFITF.Application
myCatia = Interaction.GetObject(vbNullString, "CATIA.Application")
boolCatAlive = True
Catch ex As Exception
boolCatAlive = False
End Try
Select Case boolCatAlive
Case True
'continue loading app, do my stuff
Case Else
'end this now
MsgBox("No running CATIA instance detected, please start a new CATIA instance and re-run this program.", MsgBoxStyle.Critical, "Error")
End
End Select
End Sub
这是表单加载时的一个简单布尔开关,它决定应用程序是否要加载。
这工作正常,但只在应用程序启动时进行一次检查。有没有办法持续检测 CATIA 状态,这样 - 如果用户在我的应用程序运行过程中退出 CATIA - 应用程序会收到通知并意识到 CATIA COM 链接不再存在?
例如,我也可以使用它来检测选择更改?