为什么 vb .net 在 .txt 中重复写入同一行文本?

Why is vb .net repeatedly writing the same line of text in .txt?

我创建了一个 .dll 文件作为 AutoCAD 的插件。每次事件发生时,它都会将其写入 .txt。为什么在.txt 中重复写同一行文本?

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices

    Public Class Class1

       <CommandMethod("AddAppEvent")>
       Public Sub AddAppEvent()

           AddHandler Application.SystemVariableChanged, AddressOf appSysVarChanged

    End Sub

    Public Sub appSysVarChanged(ByVal senderObj As Object,
                                ByVal sysVarChEvtArgs As Autodesk.AutoCAD.ApplicationServices.
                                SystemVariableChangedEventArgs)

        Dim oVal As Object = Application.GetSystemVariable(sysVarChEvtArgs.Name)

        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\rita.aguiar\Documents\AutoCAD plug-in\Registo de Eventos.txt", True)
        file.WriteLine("O utilizador " & Environment.UserName & " encerrou o AutoCAD às " & DateTime.Now.ToString("hh:mm, dddd, dd MMMM yyyy"))
        file.Close()

    End Sub

End Class

.txt 文件中的示例输出:

这里写了4次,有时写多,有时写少。为什么会发生这种随机事件?有人有同样的问题吗?我只想让它写一次。

用户 rita.aguiar 于 2018 年 9 月 10 日星期一 01:11 关闭了 AutoCAD

用户 rita.aguiar 于 2018 年 9 月 10 日星期一 01:11 关闭了 AutoCAD

用户 rita.aguiar 于 2018 年 9 月 10 日星期一 01:11 关闭了 AutoCAD

用户 rita.aguiar 于 2018 年 9 月 10 日星期一 01:11 关闭了 AutoCAD

非常感谢。

我正在关注此页面:http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20Guide/index.html 它甚至不对。如果我想注册 autocad 的关闭,我需要使用 acadBeginQuit 事件,而不是该页面中所说的系统变量。