Zdalne wyłączenie komputera

0

chce miec mozliwosc wylaczenie komputera poprzez strone www

napisalem prosty programik ktory uruchamia sie na autostarcie i co 5 minut sciaga plik txt

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    UrlMon.UrlDownloadToFile(nil,'http://www.stronatt.yoyo.pl/stat.txt','stat.txt',0,nil);
    AssignFile(F, 'stat.txt');
    Reset(F);
    Read(F, S);
    CloseFile(F);
    if S='aaa' then
      ShowMessage('ok');
      //DelphiExitsWindows(EWX_FORCE or EWX_REBOOT);
end;

niby powinlo wszystko dzialac, ale plik chyba laduje w temp'ie - gdy zmienie wartosc na stronie, nadal sciaga plik ktory pobral za pierwszym razem

probowalem

temp:=GetEnvironmentVariable('TEMP');
DeleteFile(temp+'\stat.txt');
0

a próbowałeś dać szanse timerowi i interval dać co najmniej na 20 sekund?

0

po pierwsze zmien temat, bo nijak sie ma do problemu.
po drugie nie pisz trojanow.

0

Jeżeli nie piszesz trojanów - chociaż uparte używanie tej zawodnej funkcji i pobieranie czegoś tam ze strony to by sugerowalo, to radzę
skorzystać z pakietu Indy i postawić na localhostcie prosty serwer www, ktory po odczytaniu polecenia z linku wykona jakiś kod. Był tu
taki temat już tylko, że z robieniem screenshota i pokazaniu go na stronie w przeglądarce. Także poszukaj. A i nawet jak chcesz zrobić
po swojemu te sprawdzanie z pobieraniem ze strony, bo przy stawianiu serwera musiał byś znać IP komputera żeby się dostać do niego
z zewnątrz, to również wykorzystaj Indy i nim pobieraj ten plik ze strony do MemoryStreama i sprawdzaj jego zawartość, i jeżeli będzie
taka jaką chcesz to restartuj komputer. Sprawdzanie wykonuj najlepiej w Timerze. I nie poleciłem Synapse, jak zwykle, aby haterzy na
kacu sylwestrowym mogli odpocząć, a poza tym do postawienia serwera www akurat lepiej nadaje się Indy, bo ma gotowe rozwiązanie.

0

robienie tego na bazie plikow jest dla mnie bezsensowne. szczegolnie sciagac plik, zapisywac go i otwierac... przeciez mozesz pobrac od razu zawartosc pliku do stringa. wystarczy uzyc "get" i wskazac jako url adres pliku.
nie wiem tez czy nie lepiej byloby uzyc serwera pocztowego.

0

@cimak: masz rację, można i do tego używać e-maila. Tylko program musi miec podane dane konta.
Do tego celu również nadaje się Indy, jak i Synapse. A szczegółów pytający musi poszukać w google.

0

Skorzystaj z darmowego komponentu HTTPGet http://www.utilmind.com/delphi/httpget.zip. Komponent daje możliwość włączenia lub wyłączenia korzystania z cache'a (property UseCache). Istnieje możliwość pokazania progress-u ściąganego pliku.

Pzdr.
Marogo

0

Jak już chcesz się tak babrać to zrób sobie najprostszego klienta pocztowego na Indyku tak aby tylko odbierał maila z twojego na twój adres z konkretnym tematem i z body np.: "off". :>
Na końcu kasuj wiadomość.

1 użytkowników online, w tym zalogowanych: 0, gości: 1