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

Вниз

Нужно напистать....   Найти похожие ветки 

 
avk   (2002-02-07 11:03) [0]

...программу удаленного администрирования рабочим столом,
например как в WinXP.

что для этого нужно? с чего начать?


 
avk   (2002-02-07 15:56) [1]

вообще-то надо написать что-то по информатике, 11класс.. к концу года надо сдать свой программный продукт...остановился на этом...может что еще посоветуете?


 
drpass   (2002-02-07 16:58) [2]

Вот школы нынче пошли! В мое время Бейсик проходили...
На первых порах тебе стоит изучить две компоненты - скажем, TServerSocket и TClientSocket. Прога будет состоять из двух частей. Одна висит на управляемом компе (содержит TServerSocket)и на месте выполняет команды, вторая - на удаленной машине подключается к ней с помощью компоненты TClientSocket и, соответственно, посылает ей команды.
Напишешь, принесешь ее в компьютерный клуб - и в Кваке ты непобедим :)


 
avk   (2002-02-10 18:28) [3]

вроде с Server(Client)Socket разобрался ...даже работает:)
только вот как сделать так, чтобы я(клиент) видел рабочий стол сервера, и мог работать там.


 
drpass   (2002-02-10 21:44) [4]

Ну, если "в лоб", то сервер может по команде передавать, скажем, картинку рабочего стола (не всю, а уменьшенную, например, вчетверо и со сниженной глубиной цвета). Также сервер может посылать сообщения в своей системе (клиент передал ему команду "wm_close"), и он делает SendMessage(...wm_close...) активному окну и т.д. Вообще, тут простор для фантазии огромный, и почти нет "подводных камней"


 
TALLA   (2002-02-10 22:36) [5]

procedure TForm1.OnTimer1(Sender:TObject); {допустим 3 раза в секунду}
var
bmp:TBitmap;
begin
bmp := TBitmap.Create;
try
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
if BitBlt (bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, GetDC (GetDesktopWindow), 0, 0, SRCCOPY) then
begin
... {конвертишь если надо в JPEG и посылаешь по сетке}
end else
ShowMessage ("Failed get image!");
finally
bmp.Free;
end;
end;

И бери курсор GetCursorPos(p:TPoint) и тоже посылай.
Если чего неясно,пиши.


 
avk   (2002-02-11 22:32) [6]

появилась пара вопросов:
1. как уменьшить картинку(не обрезав) и как уменьшить глубину цвета?
2. когда я запаковал кртинку в JPEG он у меня лежит в jpg:TJpegImage...так вот как надо отправлять? нужно сначало сохронить на диск, а потом этот фаил отправить? или же можно сразу отправить jpg?


 
panov   (2002-02-12 07:00) [7]

>avk (11.02.02 22:32)
Создавай новый Topic в соответствующей конференции.


 
Ghost.   (2002-02-12 09:07) [8]

Не надо сохранять на диск, надо грузить в поток и отправлять, а глубину цвета и размер менять нужно у битмапа а потом переводить в JPG но я пробовал, это штука бесполезная, твой ком затратит на конвертацию больше времени, чем на отправку поэтому не морочся..перевел в и шли сразу чаще чем раз в пол секунды врядли получится, но этого хватит


 
avk   (2002-02-12 18:08) [9]

что-то не работает посылка..

procedure TForm1.Timer1Timer(Sender: TObject);
var bmp:TBitMap;
MySocket:TWinSocketStream;
begin
bmp:=TBitmap.Create;
try
if BitBlt (bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, GetDC (GetDesktopWindow), 0, 0, SRCCOPY) then
begin
MySocket:=TWinSocketStream.Create(Socket,6000);
while not MySocket.WaitForData(100) do Application.ProcessMessages;
MySocket.Write(bmp,100000);
end;
finally
bmp.Free;
end;

Прием

procedure TForm1.Button4Click(Sender: TObject);
var MySocket:TWinSocketStream;
bmp_client:TBitMap;
begin
MySocket:=TWinSocketStream.Create(Socket,60000);
while not MySocket.WaitForData(100) do Application.ProcessMessages;
MySocket.Read(bmp_client,100000);
MySocket.Free;
end.

на сколько я понял вроде так...хотя может здесь вообще все не прально
где ошибки не подскажете?


 
Schoooltz   (2002-02-13 11:11) [10]

>bmp:=TBitmap.Create;
> try
> if BitBlt (bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, >GetDC (GetDesktopWindow), 0, 0, SRCCOPY) then

Это все хороше но перед блитингом настрой размеры канвы bmp под нужный тебе.



 
Ghost.   (2002-02-13 11:22) [11]

В ФАКе этого сайта есть пример передачи файла через сокеты там посылается ве вмп а поток, вот делай тоже самое отка тот же вмп грузи в пото и отправляй все получится, я бы скинул код но он на другом сокетном компоненте может запутать ..посмотри в ФАКе и сделай тоже


 
MCi   (2002-02-13 19:23) [12]

Пошло для сетевого трафика передовать целые снимки. Наиболее удобно передавать информацию о том, что изменилось на экране.


 
Ghost.   (2002-02-14 10:11) [13]

>avk во специально для тебя нашел...твори... :0)


 
avk   (2002-02-14 11:07) [14]

>Ghost ???


 
Ghost.   (2002-02-14 11:16) [15]

Сори тормознул..все написал ссылку забыл..бывает http://xatka.vov.ru/artic/vm10.htm


 
avk   (2002-02-14 22:42) [16]

>Ghost спасибо статья очень помогла...особенно процессы.



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

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

Наверх




Память: 0.48 MB
Время: 0.006 c
1-80886
Beginner
2002-04-14 03:31
2002.04.25
Вывод real чисел на экран


1-80997
Sasha9
2002-04-12 18:36
2002.04.25
Pointer > Array


3-80821
Yuri Btr
2002-04-05 12:12
2002.04.25
Acess violation in module idsql32.dll


1-80879
Rammst
2002-04-14 06:22
2002.04.25
WinXP и WinME


1-80978
ded_di
2002-04-12 12:11
2002.04.25
разбор строки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский