Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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 спасибо статья очень помогла...особенно процессы.




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




Наверх





Память: 0.74 MB
Время: 0.02 c
3-80832           Tolstomordik          2002-04-05 17:12  2002.04.25  
Получить значение выбранной ячейки в DBGrid


1-80976           Shadow77              2002-04-09 18:43  2002.04.25  
Приложение не должно быть видно в панели задач.


1-80885           Ray_Parker            2002-04-12 17:41  2002.04.25  
Вопрос по обработке события OnKeyUp


1-80924           kopachev              2002-04-11 07:37  2002.04.25  
Задание сужения для текста


1-80941           JibSkeart             2002-04-11 16:13  2002.04.25  
Как запустить видео файлы программно