Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Включение компа по сети [D6, WinXP]


Евген ©   (2002-11-14 12:06:00) 

Мастера, подскажите как отправить magic packet по локальной сети компу, чтобы включить его. Будем считать, что WOL кабель подсоединен, функция в биосе включена, МАС и IP адреса я знаю. Подскажите, пожалуйста, с помощью какой команды или какого компонента можно это сделать.

Кстати а вырубить как?


Song   (2002-11-15 10:58:00) [1]

InitiateSystemShutDown()


Евген   (2002-11-15 10:50:00) [2]

А кто подскажет, как его выключить потом?


Евген   (2002-11-14 15:33:00) [3]

Спасибо!!!


Александр Спелицин   (2002-11-14 14:22:00) [4]

D6 + Indy.


program WakeOnLan;

{$APPTYPE CONSOLE}

uses
SysUtils,
Classes,
IdBaseComponent,
IdComponent,
IdUDPBase,
IdUDPClient;

function HexStringToBinString(const HexStr: string): string;
var
i, l: integer;
begin
Result := "";
l := length(HexStr);
l := l div 2;
SetLength(Result, l);
for i := 1 to l do
if HexToBin(PChar(Copy(HexStr, (i - 1) * 2 + 1, 2)),
PChar(@Result[i]), 1) = 0 then
raise Exception.Create("Invalid hex value");
end;

procedure SendMagicPacket(MACAddress: string);
var
s, packet: string;
i: integer;
begin
if Length(MACAddress) <> 12 then
raise Exception.CreateFmt("Invalid MAC Address: %s", [MACAddress]);
packet := HexStringToBinString("FFFFFFFFFFFF");
s := HexStringToBinString(MACAddress);
for i := 1 to 16 do
packet := packet + s;
with TIdUDPClient.Create(nil) do
try
Active := true;
BroadcastEnabled := true;
Broadcast(packet, 9);
finally
Free;
end;
end;

begin
if ParamCount <> 1 then
WriteLn("usage: WakeOnLan MACAddress" + #10 + #13 + "exmple: WakeOnLan 000102030405")
else
SendMagicPacket(ParamStr(1));
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо