VBA Tipp: Netzwerknachricht senden

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte per Programm eine Nachricht im Netzwerk versenden.

Wiki hinweis.png Hinweis: Seit geraumer Zeit (Windows XP/Servicepack 2) wird diese Funktion von Windows aus Sicherheitsgründen nur noch unterstützt, wenn sie auf beiden Rechner explizit eingeschaltet wurde.


Lösung:

Private Declare Function NetMessageBufferSend Lib "Netapi32" ( _
          ByVal sServerName As Any, _
          ByVal sMsgName As String, _
          ByVal sFromName As Any, _
          ByVal sMessageText As String, _
          ByVal lBufferLength As Long) As Long
'
'Parameters
'
'ServerName
'[in] Pointer to a constant Unicode string specifying the name of
'the remote server on which the function is to execute. The string
'must begin with \\. If this parameter is NULL, the local computer
'is used.
'
'msgname
'[in] Pointer to a constant Unicode string specifying the message
'alias to which the message buffer should be sent.
'
'fromname
'[in] Pointer to a constant Unicode string specifying who the message
'is from. If this parameter is NULL, the message is sent from the
'local computer name.
'
'Buf
'[in] Pointer to a buffer that contains the message text.
'
'buflen
'[in] Specifies a DWORD value that contains the length, in bytes, of
'the message text pointed to by the buf parameter.
'
 
Public Function NetMessage(strSendTo As String, strMessage As String)
Dim strTo As String, strMsg As String
  strTo = StrConv(strSendTo, vbUnicode)
  strMsg = StrConv(strMessage, vbUnicode)
  NetMessageBufferSend 0&, strTo, 0&, strMsg, Len(strMsg)
End Function

Aufruf

NetMessage "sirius", "Dies ist ein Test"

Siehe auch