NitroTurboRatte
Lieutenant
- Registriert
- Juli 2007
- Beiträge
- 577
Sehr geertes Forum,
ich schreibe gerade eine Anwendung die Auf Knopfdruck einen MagicPaket versendet um einen Rechner in meinem Netz einzuschalten, jedoch habe ich gewaltige Probleme bei dem Verlauf der ProgressBar, hier zunächst den Code
Bei Me.ProgressBar1.Value... schreibt der Compiler
Ungültiger threadübergreifender Vorgang...
Aah... ich weiß nicht mehr weiter... kann mir jemand aus der Patche helfen?
Wäre sehr dankbar
ich schreibe gerade eine Anwendung die Auf Knopfdruck einen MagicPaket versendet um einen Rechner in meinem Netz einzuschalten, jedoch habe ich gewaltige Probleme bei dem Verlauf der ProgressBar, hier zunächst den Code
Code:
Imports System
Imports System.Timers
Imports System.Net
Imports System.Net.Sockets
Public Class Form1
Dim aTimer As New System.Timers.Timer()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
NetworkFunctions.WakeOnLan.WakeUp("00-1s-u0-j8-A2-p7")
AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
aTimer.Interval = 500
aTimer.Enabled = True
End Sub
Private Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)
Dim progr As Byte = 10
Dim test As Boolean = NetworkFunctions.Ping
If test = False Then
Me.ProgressBar1.Value = progr
progr = progr - progr / 10
Else
aTimer.Enabled = False
ProgressBar1.Value = 100
End If
End Sub
End Class
Module NetworkFunctions
Public Function Ping() As Boolean
Dim value As Boolean = My.Computer.Network.Ping("192.168.1.22", 100)
If value = True Then
Return True
Else
Return False
End If
End Function
Public Class WakeOnLan
Public Const MAC_ADDR_BYTES As Integer = 6
Private Const PORT_BROADCAST = 2304
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
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
End Module
Bei Me.ProgressBar1.Value... schreibt der Compiler
Ungültiger threadübergreifender Vorgang...
Aah... ich weiß nicht mehr weiter... kann mir jemand aus der Patche helfen?
Wäre sehr dankbar
Zuletzt bearbeitet: