На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Rouse_, jack128, Krid
  
    > Разбудить компьютер по сети , Использование Bios Wake-on-Lan
      ExpandedWrap disabled
        {$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.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0140 ]   [ 16 queries used ]   [ Generated: 1.05.24, 23:27 GMT ]