Hallo,
ich versuche gerade meinen Rechner per WoL zu starten und benutze dazu den Code von Swissdelphicenter in leicht abgeänderter Art:
Delphi-Quellcode:
procedure Wake_On_LAN(Mac:
String);
var
Data, temp:
string;
k, n: integer;
begin
Data := '
';
for k := 0
to 5
do
begin
Data := Data + Chr(StrToInt('
$FF'));
// 6x add a FF / 6x ein FF hinzufügen
end;
temp := StringReplace(Mac, '
-', '
', [rfReplaceAll]);
for k := 0
to 15
do
begin
temp := StringReplace(Mac, '
-', '
', [rfReplaceAll]);
for n := 0
to 5
do
begin
// 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
Data := Data + Chr(StrToInt('
$' + temp[1] + temp[2]));
Delete(temp, 1, 2);
end;
end;
with Wnd_Main.IdUDPClient_WoL
do begin
//Example with TIdUDPClient of Indy
Host:= '
192.168.2.255';
Port:= 2304;
Send(Data);
// Send it / Verschick es
end;
end;
Änderungen:
- die Mac übergebe ich der Prozedur anstatt diese auszulesen (ist ja eh immer die gleiche

), auch in der Form 11-22-33-44-55-66
- Den Host tausche ich bei jedem Versuch von 255.255.255.255 auf 192.168.2.255
selbstverständlich ist Broadcast_Enable und Active bei der
Indy Kompo True. Mit nem anderen funktionierenden Tool gehts, den rechner zu wecken.
Besonders lustig ist auch die Ausgabe von Wireshark:
Meine Variante bringt folgenden Quatsch (nur Datenteil):
0000
79 79 79 79 79 79 00 0d 61 45 1a 75 00 0d 61 45 yyyyyy..aE.u..aE
0010 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 00 0d .u..aE.u..aE.u..
0020 61 45 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 aE.u..aE.u..aE.u
0030 00 0d 61 45 1a 75 00 0d 61 45 1a 75 00 0d 61 45 ..aE.u..aE.u..aE
0040 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 00 0d .u..aE.u..aE.u..
0050 61 45 1a 75 00 0d 61 45 1a 75 00 0d 61 45 1a 75 aE.u..aE.u..aE.u
0060 00 0d 61 45 1a 75 ..aE.u
wohingegen das andere Tool-wie es sein sollte, 6x FF am Anfang gefolgt von 16x Mac bringt, was Wireshark auch direkt als WoL identifiziert...
Bei anderen hat doch aber dieses Skript auch funktioniert...