vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Tipp über Net Send Nachrichten 
Autor: FrankG
Datum: 06.06.04 18:15

Hallo,

es geht um Tipp 424 - Popup-Frontend für das Senden unter XP nachrüsten bei VB@rchiv http://www.vbarchiv.net/archiv/tipp_details.php3?pid=424

Ich bin da grad durch Zufall drauf gestoßen weil ich unter dem Titel was anderes erwartet hatte und die Beschreibung nicht gelesen habe.
Ich wollte mal fragen warum da Shell genutzt wird um die Nachrichten zu versenden, für Win9x wäre das ja angebracht aber unter Win2000 / WinXP gibt es doch die API Funktion die das macht. Das ist viel schneller und man kann ein vernünftiges Error-Handling einbauen.

Modulkopf mod_netsend:
Option Explicit
 
Private Declare Function NetMessageBufferSend Lib "netapi32.dll" ( _
    lpServerName As Any, _
    lpMsgName As Byte, _
    lpFromName As Any, _
    lpBuf As Byte, _
    ByVal lnBufLen As Long _
) As Long
 
Private Const NERR_Success As Long = 0&
Die anderen Rückgabewerte kann man ja in der MSDN nachlesen, mir hat immer gereicht zu wissen ob's geklappt hat ;)

Code:
Public Function SendMsg(ByVal SendTo As String, ByVal Message As String, _
  Optional ByVal FromName As String) As Long
    Dim WrittenTo() As Byte  'Empfänger
    Dim MSGBuffer() As Byte  'Nachricht
    Dim WrittenFrom() As Byte 'Absender
 
    'String mit NullChar abschließen
    WrittenTo = SendTo & vbNullChar
    MSGBuffer = Message & vbNullChar
    WrittenFrom = FromName & vbNullChar
 
    If Len(FromName) > 0 Then
        'Absender verfälschen
        SendMsg = (NetMessageBufferSend(ByVal 0&, WrittenTo(0), _
        WrittenFrom(0), MSGBuffer(0), UBound(MSGBuffer)) = NERR_Success)
    Else
        'Standardabsender verwenden
        SendMsg = (NetMessageBufferSend(ByVal 0&, WrittenTo(0), ByVal 0&, _
        MSGBuffer(0), UBound(MSGBuffer)) = NERR_Success)
    End If
End Function
Ein weiterer Vorteil hierbei ist das man den Namen des Absenders verändern kann.

Gru?,
Frank

FrankGrimm.net - Meine kleine Ecke des Webs

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tipp über Net Send Nachrichten683FrankG06.06.04 18:15
Re: Tipp über Net Send Nachrichten401FrankG06.06.04 18:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel