ورود

View Full Version : Wake On LAN - WOL



Touska
شنبه 25 شهریور 1385, 13:36 عصر
یک مقاله جالب دیدم :کف: گفتم که شاید بدردتون بخورت که بدرد من خورد :

لینک مقاله (http://www.codeproject.com/useritems/WOL.asp)

البته دلفی ورژن اش هم اینجاست :


function WakeUpComputer(WSocket:TSHUDPSocket; AMacAddr, AIPAddr : PChar) : Boolean; stdcall;
var
MagicStr, BroadcastAddr : string;
i, Dot : Integer;
strMacAddr, strIPAddr : string;
begin
MagicStr := '';
strMacAddr := StrPas(AMacAddr);
strIPAddr := StrPas(AIPAddr);
for i := 1 to 16 do
begin
MagicStr := MagicStr + string(Char(StrToInt('0x' + Copy(strMacAddr, 1, 2))))
+ string(Char(StrToInt('0x' + Copy(strMacAddr, 4, 2))))
+ string(Char(StrToInt('0x' + Copy(strMacAddr, 7, 2))))
+ string(Char(StrToInt('0x' + Copy(strMacAddr, 10, 2))))
+ string(Char(StrToInt('0x' + Copy(strMacAddr, 13, 2))))
+ string(Char(StrToInt('0x' + Copy(strMacAddr, 16, 2))));
end;
MagicStr := StringOfChar(#255,6) + MagicStr;

BroadcastAddr := '';
for i := 0 to 2 do
begin
Dot := Pos('.', strIPAddr);
BroadcastAddr := BroadcastAddr + Copy(strIPAddr, 1, Dot);
Delete(strIPAddr, 1, Dot);
end;
BroadcastAddr := BroadcastAddr + '255';

try
Result := (WSocket.SendText(MagicStr,BroadcastAddr,7911)=Len gth(MagicStr));
except
Result:=False;
end;
end;

از آقای حامد موسوی