title image


Smiley Wenn's denn unbedingt in Script sein muss....
Am 06.03.2003 hat Sebastian > hier mal was gepostet.

Nachträglich nochmal Danke!



Ich hab's noch in 'ner Doku von einer alten Spielwiese wiedergefunden.



Das muß in den Declarations-Abschnitt bei den Globals der Maske:







Option Public



Private Const TIMEOUT = 500

Private Type ICMP_OPT

     Replacement As Long

     Optionsdata As Long

End Type

Private Type ICMP_ECHO_REPLY

     Address As Long

     Status As Long

     RoundTripTime As Long

     DataSize As Long

     DataPointer As Long

     options As ICMP_OPT

     Data As String * 250

End Type



Declare Private Function IcmpCreateFile Lib "icmp.dll" () As Long

Declare Private Function IcmpCloseHandle Lib "icmp.dll" (Byval IcmpHandle As Long) As Long

Declare Private Function IcmpSendEcho Lib "icmp.dll" (Byval IcmpHandle As Long, Byval DestinationAddress As Long, Byval RequestData As String, Byval RequestSize As Long, Byval RequestOptions As Long,ReplyBuffer As ICMP_ECHO_REPLY, Byval ReplySize As Long, Byval REPLY As Long) As Long

Declare Private Function inet_addr Lib "wsock32" (Byval s As String) As Long



Class ping

     Private ECHO As ICMP_ECHO_REPLY

     Public Function Ping(IP As String) As Variant

         Ping = False

         If IcmpCreateFile() Then

             Call IcmpSendEcho(IcmpCreateFile(),inet_addr(IP),"",0,0,ECHO,Len(ECHO),TIMEOUT)

             If ECHO.status = 0 Then

                 Ping = True

                 Call IcmpCloseHandle(IcmpCreateFile())

             End If

         End If

     End Function

End Class







Code eingefügt mit Syntaxhighlighter 4.0







Das muß ins Initialize der Maske (Nicht bei den Globals!)









     Dim uiws As New NotesUIWorkspace

     Dim uidoc As NotesUIDocument

     Dim doc As NotesDocument

     Dim item As NotesItem



     Dim IP As String

     Dim ping As New Ping



     Set uidoc = uiws.currentdocument

     Set doc = uidoc.document

     IP = Cstr(doc.IPADDR(0))

     If Ping.Ping(IP) = True Then

         Set item = doc.Replaceitemvalue("on_offline","ONLINE")

         item.issummary = True

         Msgbox "ONLINE"

     Else

         Set item = doc.Replaceitemvalue("on_offline","OFFLINE")

         item.issummary = True

         Msgbox "OFFLINE"

     End If

     Call doc.save(False,False)





Code eingefügt mit Syntaxhighlighter 4.0







Alles wichtige ist da drin, für deinen Agenten musst du dir die Teile dann rausfrickeln und neu zusammenpfriemeln. Ob das ganze unter deiner Notesversion bzw. OS so funzt kann ich nicht sagen, in der Spielwiese hat's 2003 hingehauen. Notes war 4.6.irgendwas oder schon 5.?, weiß ich nicht mehr so genau und OS war NT 4.0 SP6a oder W2K, keine Ahnung, war wie gesagt ein Experiment.



Wird schon!



Gruß

Stefan
Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit,
und in Sachen Universum bin ich mir da noch nicht sicher...

(Albert Einstein in einem Brief an Frederick S. Pearls)


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: