Netapi32

  • VB.NET
    Hallo,

    ich habe im Internet folgendes gefunden: softgames.de/forum/frage33869-0-asc-0.html

    Da hat jemand folgendes geschrieben:
    Guten Tag,

    API-Function:
    Code: Declare Function NetMessageBufferSend Lib "Netapi32" (ByVal sServerName$, ByVal sMsgName$, ByVal sFromName$, ByVal sMessageText$, ByVal lBufferLength&) As Long


    Erkärung:
    1. Argument: sServerName$ : Der Server über welche die Message gesendet werden soll. Hier geben wir einen Nullstring an, dann wird die Message über den eigenen Rechner verschickt.
    2. Argument: sMsgName$ : Der Empfänger (PC-Name oder IP) als Unicode-String.
    3. Argument: sFromName$ : Der Sender (Im Normalfall der Name oder die IP des eigenen Rechners. Man kann aber auch irgendwas anderes angeben ). Auch dieses Argument als Unicode-String.
    4. Argument: sMessageText$ : Die Nachricht die verschickt werden soll. (Auch das mit StrConv konvertieren ...)
    5. Argument: lBufferLength& : Die Buffer-Länge. (In diesem Fall die Länge der zu sendenden Nachricht.)

    Was man zur API wissen sollte, ist dass alle Strings als Unicode übergeben werden müssen.
    Nun schauen wir uns mal an was wir der API-Funktion alles übergeben müssen.

    Beispielaufruf:
    Code: Private Declare Function NetMessageBufferSend Lib "Netapi32" (ByVal sServerName$, ByVal sMsgName$, ByVal sFromName$, ByVal sMessageText$, ByVal lBufferLength&) As Long

    Private Sub Form_Click()
    NetMessageBufferSend "", StrConv("localhost", vbUnicode), StrConv("Ich", vbUnicode), StrConv("hallo", vbUnicode), Len(StrConv("hallo", vbUnicode))
    End Sub


    Mit freundlicher Unterstüzung von Black-Rat

    MFG
    Das soll bewirken, dass man den Net send Befehl über andere Rechner umleiten kann. Ich benutze leider VB 2008 und habe versucht den Beispiel Quelltext einzufügen, leider funktionierte dies nicht, da VB 2008 nichts mit dem "vbUnicode" anfangen konnte.
    Dies:

    VB.NET-Quellcode

    1. Private Declare Function NetMessageBufferSend Lib "Netapi32" (ByVal sServerName$, ByVal sMsgName$, ByVal sFromName$, ByVal sMessageText$, ByVal lBufferLength&) As Long

    hat funktioniert, hier:

    VB.NET-Quellcode

    1. Private Sub Form_Click()
    2. NetMessageBufferSend "", StrConv("localhost", vbUnicode), StrConv("Ich", vbUnicode), StrConv("hallo", vbUnicode), Len(StrConv("hallo", vbUnicode))
    3. End Sub

    weiß ich leider nicht was ich statt dessen schreiben soll.

    Kann mir jemand helfen? Wenn ihr wisst, dass es sowieso nicht funktionieren wird, mit dem Net send Umleiten, dann bitte gleich Bescheid sagen.


    MfG

    VB.Ghost