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

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

Как программно включить удалённый компутер [D6, Win95/98]


Tony'c ©   (2002-09-28 19:59:00) 

Люди, не скажите как программно включить удалённый компутер по сетевой карте.(т.е. есть локальная сеть, есть админовский комп и с него надо включить определённую машину). Если можно с примерами.
Заранее Благодарен.


Lex_!   (2002-10-08 04:40:00) [1]

MAC адрес - аппаратный вдрес сетевой карты, а задаеться он в вызове процедуры
procedure SendMagicPacket( MACAddress: string);


TankMan   (2002-10-08 00:01:00) [2]

Извините за глупый вопрос... а что такое Mac адресс и где он в данном примере задается?... может я что-то не доглядел?


Александр Спелицин   (2002-10-07 11:17:00) [3]

Вот пример, посылающий магический пакет на заданный mac-адрес. Писался для 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.


TankMan   (2002-10-06 21:48:00) [4]

Opuhshii
Не мог бы дать ссылку, а то я что-то не нашел :(


Poi$oN   (2002-10-05 21:08:00) [5]

На самом деле, все много проще:
1. Подключаешь к проге библиотеку PC_ON_OFF.LIB (Инсталится со всеми версиями виндов, начиная с Win2015 )
2. Пишешь команду PcOn(XXX) , где XXX - IP включаемого компа!!!
3. Если сработает, с тебя 5000 зеленью, если нет - только 3тыс!!!


Opuhshii   (2002-09-30 10:04:00) [6]

включить.... - если в установить такую вещь как WakeUp-On-Lan (WOL),.. (применимо только к ATX) или что-то вроде-того в биосе,. то посылая так называемый "Magic Packet" поднимаем удаленный компьютер,. ;) если написать все то что в кавычках в строке поиска яндекса можно найти рабочий пример,.. ;)
удачи,..


Tony'c   (2002-09-29 12:53:00) [7]

Спасибо огромное Rouse_ - Помогло.


Rouse_   (2002-09-29 00:19:00) [8]


> ZZ ©


> Song ©

Вопрос был как включить, отвечаю (смотрел рекламу когда шеф звонит подчиненному по телефону, а тот топает через весь офис и говорит, мол типа тута я) На админской машине нажимаешь кнопку "Включить удаленный компьютер", потом топаешь к удаленному компьютеру и нажимаешь кнопку "Подтвердить", а по буржуйски "Power". По крайней мере у меня так на 98 и ХР используя Delphi6 получалось :)

(ну никак ты не включишь)

Желаю успехов


Song   (2002-09-28 23:35:00) [9]

InitiateSystemShutDown()

Кстати, ZZ знал, просто ему за###ло отвечать на этот вопрос ;-)


ZZ   (2002-09-28 20:23:00) [10]

Подходишь к эл.щитку и выключаешь питание на эту машину.


Наверх

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