Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно напистать.... [D6, WinXP]


avk ©   (2002-02-07 11:03:00) 

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

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


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

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


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

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


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

>Ghost ???


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

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


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

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


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

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


Schoooltz   (2002-02-13 11:11:00) [7]

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

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


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

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

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.

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


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

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


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

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


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

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


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

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) и тоже посылай.
Если чего неясно,пиши.


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

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо