Beiträge von Goldfinger

    Aus der Suche auf "atnotes.de"


    Dazu kannst du ein paar NotesAPI Calls und einen periodischen Agentenverwenden:


    Den folgenden Code packst du in den DECLARATION Teil deines Agenten:


    Declare Function NSFRemoteConsole Lib "NNotes.dll" Alias "NSFRemoteConsole" (Byval Server As String, Byval cmd As String, ret As Long) As Long
    Declare Function OSLockObject Lib "NNotes.dll" Alias "OSLockObject" (Byval Handle) As String
    Declare Sub OSUnlockObject Lib "NNotes.dll" Alias "OSUnlockObject" (Byval Handle)
    Declare Sub OSMemFree Lib "NNotes.dll" Alias "OSMemFree" (Byval Handle)


    Class remoteConsole
    Private IsError As Variant
    Private rc As Integer
    Private hBuffer As Long
    Private Server As String
    Private Command As String
    Private Result As String

    Sub New(inpServer As String)
    Dim server As New NotesSession
    If inpServer = "" Then
    Me.IsError = True
    Else
    Me.server=inpServer
    Me.IsError = False
    End If
    End Sub

    Function Execute(inpCommand As String) As String
    If Me.Server = "" Then
    Exit Function
    End If
    If inpCommand = "" Then
    Me.execute="You must specify a command"
    Me.iserror = True
    Exit Function
    Else
    Me.command = inpCommand
    End If

    Me.rc = NSFRemoteConsole(Me.server, Me.command, hBuffer)
    If Me.rc <> 0 Then
    Me.iserror = True
    Me.result="Error returned " & _
    " from console [" & Cstr(rc) & "]"
    Else
    Me.result = OSLockObject(hBuffer)
    Call OSUnlockObject(hBuffer)
    Call OSMemFree(hBuffer)
    Me.Iserror = False
    End If
    Me.execute = Me.result
    End Function
    End Class



    Dann brauchst du nur noch deine Kommandos über den INITIALIZE Event deines Agenten aufzurufen


    Sub Initialize
    Dim exec As String
    Dim dummy As Variant
    Dim remConsole As New RemoteConsole ( "DeinServer" )
    Exec = "tell router quit"


    dummy = remConsole.Execute(exec)
    '...
    'entsprechend dann für die anderen Befehle


    end sub



    Goldfinger