Zdalna komunikacja z programem c.d.

0

&gtJak zrobić coś takiego:
&gt- jest aplikacja na innym komputerze w sieci lokalnej np. antywirus, zrobiony przeze mnie...
&gt- ja chciałbym za pomocą mojego programiku móc połączyć się z bazą ustawień tego antywirusa i po
&gt wpisaniu hasła uzyskać menu z funkcjami, których użytkownik nie widzi i np. zablokować możliwość
&gt uruchamiania tego programu (zdalnie)...?
&gt ---Pozdrawiam

Chodzi mi o połączenie tylko przez sieć LOKALNą...
Chciałbym, aby ten (przykładowo..) antywirus miał wbudowaną taką funkcję, i abym mógł się z nim
łączyć, uzyskując panel z
tajnymi funkcjami...(wszystko w trybie graficznym). Tego nie potrafię zrobić...


Pracuję w Delphi 6

&gt Walnij kilka przycisków, w każdym daj żeby po naciśnięciu wysyłał jakiś text do tego AntyVira, a w
&gt antyvirze w zakładce onread servera daj odpowiednie instrukcje warunkowe
&gt np:

&gt if Socket.ReceiveText = 'wylacz' then
&gt begin
&gt wylacz
&gt end;

A jak wysłać zdalnie text do programu za pomocą przycisku???

hmm... PROSZę O ODPOWIEDź NA POWYżSZE PYTANIE... :-) --Pozdrawiam

Pracuję w Delphi 6

0

W OnClick button'u daj Socket.SendText('wylacz');

0

a nie lepiej zamiast tekstu przesylac odpowiednie wartosci liczbowe??

0

To na to samo wychodzi, a łatwiej jest później dojść która wartość do czego służy.

0

w zdarzeniu OnRead daj procke zeby odebrany text wpisywał no do TEdit
teraz:
if Edit1.Text='PrzeslanyTekst' then
begin
zrób coś
end
else
jak nie to....
end;
end;--DELPHIRULEZ

0

Jeśli ustalisz w tym "antywirusie" (ja nazwałbym go "trojanem") odpowiednie stałe liczbowe np:
const
wloncz=1;
wyloncz=2;
zmienh=3;

i w programie do wysyłania komunikatów zrobisz to samo to będziesz biał tak samo prosto i w dodatku szybciej (niewiele, ale zawsze szybciej)
Jeśli chcesz mieć możliwość podawania parametrów to robisz tak:
pierwszy znak wysyłanego ciągu urzywasz jako zmiennej wybierającej polecenie a reszte jako parametry (możesz też zbudować drzewo polecen)
var
parametry,text_do_wysłania:string;
polecenie:byte;
begin
{...}
text_do_wysłania:=char(polecenie)+parametry;
{...}
end;

przy odbiorze:

var
parametry,text_do_odebrany:string;
polecenie:byte;
begin
{...}
polecenie:=byte(text_do_odebrany[1]);
parametry:=copy(parametry,2,length(parametry);
{...}
end;

Pamiętaj {hello} ,że nie możesz urzywać znaku #0 &gt&gt on kończy string.

Ps: parametry liczbowe możesz równierz zapisywać jako char()

ps2: w jednym bajcie możesz zapisać 255 wartości (lub liczbę do 255 - przed zapisaniem liczby dobrze dodać do niej +1(przy odczycie -1) zapobiegnie to wpisaniu znaku #0) jeśli ci to nie wystarczy &gt&gt urzyj dwóch (lub trzech) bajtów wtedy
var
c1,c2:char;
liczba:integer;
liczbas:string;
begin
{...}
c2:=(liczba mod 255)+1;
c1:=(liczba div 255)+1;
liczbas:=c1+c2;
{...}
end;
przy zapisie, a odczyt:
var
liczba:integer;
liczbas:string;
begin
{...}
liczbas:=255*(byte(liczbas[1])-1)+byte(liczbas[2]-1);
{...}
end;

--Sebo +)
(D3)

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