Was ahst Du denn genau vor?
Auric Goldfinger
Was ahst Du denn genau vor?
Auric 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