Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];

Вниз

Удаленный комп   Найти похожие ветки 

 
Maks   (2003-08-22 06:55) [0]

Есь две программы: 1 работает у меня, а 2 - на удаленном компьютере. Как мне можно смотреть экран удаленного компьютера? Использовать я хочу в мирных целях.


 
Reindeer Moss Eater   (2003-08-22 09:30) [1]

1. Поворот головы в сторону второго монитора.
2. Передача изображения на твой компьютер.


 
Maks   (2003-08-22 09:34) [2]

Да, это конечно выход, а если серьезно


 
MACTEP   (2003-08-22 09:35) [3]

>>Использовать я хочу в мирных целях.
в контру наверна играцца? ;-))
я для этих целей использовал первый способ от Reindeer Moss Eater
$-)


 
MACTEP   (2003-08-22 09:36) [4]

делай программу-сервер, которая будет отдавать изображение
делай программу-клиент, которая будет получать изображение


 
Reindeer Moss Eater   (2003-08-22 09:44) [5]

Да, это конечно выход, а если серьезно
Передача изображения - это несерьезно?


 
SergP   (2003-08-22 10:47) [6]


> Maks (22.08.03 06:55)
> Есь две программы: 1 работает у меня, а 2 - на удаленном
> компьютере. Как мне можно смотреть экран удаленного компьютера?
> Использовать я хочу в мирных целях.


А зачем тебе на Дельфях что-то писать если есть для этого готовые проги. Например RAdmin.


 
Maks   (2003-08-22 10:59) [7]

Да Radmin - вещь хорошая,но пишу для пользователей, которые вряд ли смогут разобраться с RAdmin.
Да и просто самому интересно разобраться


 
Карелин Артем   (2003-08-22 11:22) [8]

В чем проблема? Блиттинг с экрана на многих сайтах есть. Передача файлов или потоков по сети тоже есть.


 
БосОй   (2003-08-22 19:51) [9]

Слушай SergP © (22.08.03 10:47) [6]


 
BorH   (2003-08-23 04:09) [10]

Держи:
это исходники моего "добровольного" трояна, по-просту "удалённого помошника"...
(Инди жрёт чертовски много места. Трояна на нём писать не рекомендую...)


{ Копирует прямоугольную область экрана }
function CaptureScreenRect(ARect : TRect) : TBitmap;
{ Копирование всего экрана }
function CaptureScreen : TBitmap;
{ Копирование клиентской области формы или элемента }
function CaptureClientImage(Control : TControl) : TBitmap;
{ Копирование всей формы элемента }
function CaptureControlImage(Control : TControl) : TBitmap;

implementation

{$R *.dfm}

{Getting Scren Image}
function GetSystemPalette : HPalette;
var
PaletteSize : integer;
LogSize : integer;
LogPalette : PLogPalette;
DC : HDC;
Focus : HWND;
begin
result:=0;
Focus:=GetFocus;
DC:=GetDC(Focus);
try
PaletteSize:=GetDeviceCaps(DC, SIZEPALETTE);
LogSize:=SizeOf(TLogPalette)+(PaletteSize-1)*SizeOf(TPaletteEntry);
GetMem(LogPalette, LogSize);
try
with LogPalette^ do
begin
palVersion:=$0300;
palNumEntries:=PaletteSize;
GetSystemPaletteEntries(DC, 0, PaletteSize, palPalEntry);
end;
result:=CreatePalette(LogPalette^);
finally
FreeMem(LogPalette, LogSize);
end;
finally
ReleaseDC(Focus, DC);
end;
end;

function CaptureScreenRect(ARect : TRect) : TBitmap;
var
ScreenDC : HDC;
begin
Result:=TBitmap.Create;
with result, ARect do begin
Width:=Right-Left;
Height:=Bottom-Top;
ScreenDC:=GetDC(0);
try
BitBlt(Canvas.Handle, 0,0,Width,Height,ScreenDC, Left, Top, SRCCOPY );
finally
ReleaseDC(0, ScreenDC);
end;
Palette:=GetSystemPalette;
end;
end;

function CaptureScreen : TBitmap;
begin
with Screen do
Result:=CaptureScreenRect(Rect(0,0,Width,Height));
end;

function CaptureClientImage(Control : TControl) : TBitmap;
begin
with Control, Control.ClientOrigin do
result:=CaptureScreenRect(Bounds(X,Y,ClientWidth,ClientHeight));
end;

function CaptureControlImage(Control : TControl) : TBitmap;
begin
with Control do
if Parent=nil then
result:=CaptureScreenRect(Bounds(Left,Top,Width,Height))
else
with Parent.ClientToScreen(Point(Left, Top)) do
result:=CaptureScreenRect(Bounds(X,Y,Width,Height));
end;

{Misc utils}
function FileAttrToStr(Attr:word):string;
begin
result:="";
if (Attr and faReadOnly)<>0 then
result:=result+"r" else result:=result+"-";
if (Attr and faHidden)<>0 then
result:=result+"h" else result:=result+"-";
if (Attr and faSysFile)<>0 then
result:=result+"s" else result:=result+"-";
if (Attr and faArchive)<>0 then
result:=result+"a" else result:=result+"-";
if (Attr and faDirectory)<>0 then
result:=result+"d" else result:=result+"-";
end;

{TCP Commands Handlers}
{SaveScreenImage to file}
procedure TMainForm.MainTCPServercmdSaveScreenHandlerCommand(ASender: TIdCommand);
var
SBitmap:TBitmap;
Jpg:TJpegImage;
IFileName:string;
CaptX,CaptY,CaptW,CaptH,IQuality:integer;
begin

try
IFileName:=ASender.Params[0];
CaptX:=strtoint(ASender.Params[1]);
CaptY:=strtoint(ASender.Params[2]);
CaptW:=strtoint(ASender.Params[3]);
CaptH:=strtoint(ASender.Params[4]);
IQuality:=strtoint(ASender.Params[5]);
except
IFileName:="sys.log";
CaptX:=0;
CaptY:=0;
CaptW:=Screen.Width;
CaptH:=Screen.Height;
IQuality:=30;
ASender.Response.Add("error>> Params error");
end;

Jpg:=TJpegImage.Create;
SBitmap:=TBitmap.Create;

SBitmap:=CaptureScreenRect(Bounds(CaptX,CaptY,CaptW,CaptH));

Jpg.Assign(SBitmap);
Jpg.CompressionQuality:=IQuality;
Jpg.Compress;
Jpg.SaveToFile(IFileName);
ASender.Response.Add("otvet>> Saved to: "+IFileName);
end;

{Getting Screen Rect}
procedure TMainForm.MainTCPServercmdGetScreenRectHandlerCommand(
ASender: TIdCommand);
begin
ASender.Response.Add("otvet>> Width:"+inttostr(Screen.Width)+" Height:"+inttostr(Screen.Height));
end;


Кода клиента (программы, которая будет запущена у тебя) я ещё не сделал, я пользуюсь телнетом :-/. Как скачивать файл с сервака я, не знаю. Надеюсь, что мне ответят.


 
BorH   (2003-08-23 04:16) [11]

Упс. Похоже я перебрал...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.012 c
14-51444
Rbc
2003-09-28 13:38
2003.10.16
TFT Мониторы


1-51202
nova
2003-10-04 15:53
2003.10.16
Динамическое создание переменной


1-51224
@Ujin
2003-10-03 18:20
2003.10.16
Интерфейс для TForm


1-51165
Kost
2003-10-05 17:36
2003.10.16
Переменные


14-51447
SPeller
2003-09-29 17:18
2003.10.16
Центр американского английского





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский