světNotes.cz

Mini-konzola k Domino serveru
Novinky
22.11.2002 - Miroslav Uhlár

Ak máte R5 klientské prostredie na Win 32 platforme, tak si urobte tlačítko s nasledujúcim Lotus scriptom, ktorý využíva Notes API. Kvôli sprehľadneniu som z kódu odstránil "Error Handling", inak na kóde asi niet čo vysvetľovať. V robustnejšej podobe som si dorobil "cachovanie" serverov, príkazov a inteligentnejší výpis, čo je zároveň inšpirácia aj pre vás...

Declarations
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)

Sub Click(Source As Button)
Dim myServerCommand As String
Dim myServerResponse As String
Dim myServer As String
Dim rc As Integer
Dim hBuffer As Long

Dim commandList(4) As String
commandList(0)="sh user"
commandList(1)="sh task"
commandList(2)="sh memory"
commandList(3)="sh schedule"

Dim uiwork As New NotesUIworkspace
myServer = Inputbox$("Zadajte meno servera", "Domino console", "<server>")
myServerCommand=uiwork.Prompt(PROMPT_OKCANCELEDITCOMBO, "Vyberte alebo zadajte príkaz konzoly", "Domino console", "sh us",commandList)
If myServerCommand = "" Then Exit Sub

rc = NSFRemoteConsole(myServer, myServerCommand, hBuffer)
If rc <> 0 Then
myServerResponse="Chyba: (" & Cstr(rc) & ")"
Else
myServerResponse= OSLockObject(hBuffer)
Call OSUnlockObject(hBuffer)
Call OSMemFree(hBuffer)
End If

Messagebox myServerResponse,0, "Odozva servera "+myServer+" na príkaz "+myServerCommand
End Sub