ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 23.05.2008, 18:46
/Boom\
Познающий
Регистрация: 14.02.2008
Сообщений: 62
Провел на форуме:
335706

Репутация: 4
По умолчанию

PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsExtCtrlsStdCtrlsIdBaseComponentIdComponent,
  
IdTCPConnectionIdTCPClient;

type
  TForm1 
= class(TForm)
    
imgScreenTImage;
    
GroupBox1TGroupBox;
    
txtServerTEdit;
    
IdTCPClient1TIdTCPClient;
    
cmbConnectTButton;
    
GroupBox2TGroupBox;
    
Label1TLabel;
    
Label3TLabel;
    
lblResolutionTLabel;
    
lblColorsTLabel;
    
Timer1TTimer;
    
procedure cmbConnectClick(SenderTObject);
    
procedure IdTCPClient1Connected(SenderTObject);
    
procedure IdTCPClient1Disconnected(SenderTObject);
    
procedure Timer1Timer(SenderTObject);
  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1TForm1;

implementation

{$R *.dfm}

procedure TForm1.cmbConnectClick(SenderTObject);
begin
  
if (cmbConnect.Caption 'Подключиться'then
  begin
    
if (txtServer.Text ''then
      
//Не введено имя сервера
      
MessageDlg('Введите имя машины-сервера в текстовое поле',
       
mtInformation, [mbOK], 0)
    else 
begin
      
//Подключаемся к серверу
      
IdTCPClient1.Host := txtServer.Text;
      try
        
IdTCPClient1.Connect;
      
except
        MessageDlg
('Не удается соединиться с указанным сервером',
         
mtError, [mbOK], 0);
        Exit;
      
end;
    
end
  end
  
else begin
    
//Отключается от сервера
    
IdTCPClient1.Disconnect;
  
end;
end;

procedure TForm1.IdTCPClient1Connected(SenderTObject);
begin
  txtServer
.Enabled := False;
  
cmbConnect.Caption := 'Отключиться';
  
//Начинаем периодически запрашивать данные с сервера
  
Timer1.Enabled := True;
  
//Выполним первый запрос сами
  
Timer1Timer (Nil);
end;

procedure TForm1.IdTCPClient1Disconnected(SenderTObject);
begin
  txtServer
.Enabled := True;
  
cmbConnect.Caption := 'Подключиться';
  
Timer1.Enabled := False;
end;

procedure TForm1.Timer1Timer(SenderTObject);
var
  
streamTMemoryStream;
begin
  
//Запрашиваем у сервера данные о наблюдаемом компьютере
  
with (IdTCPClient1) do
  
begin
    
//...разрешение
    
WriteLn('get_screen_width');
    
WriteLn('get_screen_height');
    
lblResolution.Caption := IntToStr(ReadInteger) + 'x'
     
IntToStr(ReadInteger);

    
//...глубина цвета
    
WriteLn('get_screen_colors');
    
lblColors.Caption := IntToStr(ReadInteger);

    
//...копия экрана
    //.....первый вариант - копирование экрана без сжатия
//    WriteLn('get_screen');
    //.....второй вариант - сжатие на стороне сервера
    
WriteLn('get_screen:' IntToStr(imgScreen.Width) + ',' +
     
IntToStr(imgScreen.Height));
    
//....получаем данные
    
stream := TMemoryStream.Create;
    
ReadStream(stream);
    
stream.Position := 0;
    
//....формируем изображение
    
imgScreen.Picture.Bitmap.LoadFromStream(stream);
    
stream.Clear;
    
stream.Free;
  
end;

end;

end
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delphi smtp socket eroor 10080 anti_sec2 Болталка 3 09.05.2008 18:12



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ