Форум: "Потрепаться";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизВыключение компа(программно) Найти похожие ветки
← →
Merfi (2003-06-05 06:23) [0]Как программно можно выключить комп(у меня WinXp), ExitWindowsEx не помогает.
← →
Suntechnic (2003-06-05 06:24) [1]http://delphimaster.net/view/4-1054773274/
← →
Merfi (2003-06-05 06:37) [2]если не трудно приведи реальный код.
← →
Song (2003-06-05 08:40) [3]А по той ссылке что вверху, разве нет реального кода?
← →
NAlexey (2003-06-05 09:49) [4]Вот все выключение, выключение. А вы мне приведите код как программно включить комп...
← →
Жук (2003-06-05 10:05) [5]
> NAlexey © (05.06.03 09:49)
> ...как программно включить комп...
Да уж. ИМХО, это поинтереснее задачка.
← →
NAlexey (2003-06-05 10:07) [6]То-то...
← →
SergeyNew (2003-06-05 10:14) [7]>>Вот все выключение, выключение. А вы мне приведите код как программно включить комп...
Поставь себе Smart-UPS и будет тебе сщастье.
← →
DrPass (2003-06-05 11:40) [8]Не у всех есть чувство юмора...
← →
Song (2003-06-05 11:59) [9]2NAlexey © (05.06.03 09:49)
А какая проблема? Делаешь в BIOS"е WakeOnLan
и посылаешь широковещательные UDP запрос. Все включатся :)
← →
NAlexey (2003-06-05 12:43) [10]>и посылаешь широковещательные UDP запрос. Все включатся :)
Ну пройдохи...
← →
Song (2003-06-05 12:50) [11]Я бы попросил обосновать такое слово.
← →
NAlexey (2003-06-05 13:25) [12]>Я бы попросил обосновать такое слово.
Не имел целью обидеть кого либо. Употребил слово "пройдоха" только из желания выразить удивление возможностью находить выход из безвыходных ситуаций, что на мой взгляд можно охарактеризовать словом "пройдоха". Прощу прощения если я ошибся.
← →
Song (2003-06-05 14:14) [13]Почему безвыходная. Вот Вам и код:(правда с 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.
← →
NAlexey (2003-06-05 14:30) [14]Вот это я и имел в виду :)
← →
NAlexey (2003-06-05 14:34) [15]А что в ParamStr?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.027 c