Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
erbse
Newbie
Newbie

Anmeldedatum: 17.09.2010
Beiträge: 3

wake on lan in vb
Verfasst am: 17.09.2010, 17:51

hy liebe com,

erst mal vorweg ich hab schon google und die suche hier genutzt Wink leider löst es nicht mein problem

also ich habe mal ein kleine prog geschrieben mit den man einen andern pc im netzwerk ein bissl steuern kann runterfahren neustart standby und andere dinge.

ich möchte aber noch die funktion hinzufügen das man einen anderen pc im netzwerk hochfahren kann und zwar geht das ja über wake on lan.

ich habe dazu auch einen code gefunden nur meine frage ist jetzt wie verbinde ich dieses code mit einer textbox (für die mac adresse) und einem button der es dann ausführt?
hier der code

Code:

Imports System.Net
Imports System.Net.Sockets

Public Class WakeOnLan
    Public Const MAC_ADDR_BYTES As Integer = 6
    Private Const PORT_BROADCAST = 2304

    ' <remarks>
    ' Constructs and returns a magic packet for the given mac address.
    ' A Magic Packet is 6 bytes of FF followed by the MAC address 16 times.
    ' </remarks>
  Public Shared Function GetMagicPacket(ByVal macAddress As String) As Byte()
        Dim Packet As Byte() = New Byte(5 + 16 *
    MAC_ADDR_BYTES) {} '101 => 102 elements
    Dim strNumbers As String() = macAddress.Split(New Char() {":", ",", ";", "-"})
        Dim macBytes As Byte() = New Byte(5) {}

        If strNumbers.Length <> 6 Then
            Throw New Exception("MAC Address incorrect!!!")
        End If

        'Convert Numbers to Bytes and set the first 6 FF Values
        For i As Integer = 0 To 5
            Packet(i) = &HFF
            Dim strNumber As String = strNumbers(i)

            'Strip possible leading 0x statements
            If strNumber.StartsWith("0x") Then
                strNumber = strNumber.Substring(2, 2)
            End If

            macBytes(i) = CByte(Int32.Parse(strNumber,
      System.Globalization.NumberStyles.HexNumber))
        Next i

        'Write the MAC address 16 times after the 6 FF values
        For j As Integer = 0 To 15
            For i As Integer = 0 To 5
                Packet(6 + j * 6 + i) = macBytes(i)
            Next i
        Next j

        Return Packet
    End Function


    '<remarks>
    'Sends the magic packet for a specific MAC address
    '</remarks>
    Public Shared Sub WakeUp(ByVal macAddress As String)
        Dim s As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
        s.SetSocketOption(SocketOptionLevel.Socket,
    SocketOptionName.Broadcast, 1)

        Dim Message As Byte() = GetMagicPacket(macAddress)

        Dim IPEP As IPEndPoint = New IPEndPoint(IPAddress.Broadcast, PORT_BROADCAST)
        s.SendTo(Message, IPEP)
    End Sub
End Class


mfg erbse
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: magic packet, lan, wakeup, macaddress

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Problem mit always on top funktion 1108 30.10.2009, 12:26
Keine neuen Beiträge IntStr()funktion 1309 11.10.2007, 09:49
Keine neuen Beiträge TopMost Funktion unter DirectX 1023 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 1214 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.0665s ][ Queries: 82 (0.0258s) ][ GZIP on - Debug on ]