![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужно напистать.... [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класс.. к концу года надо сдать свой программный продукт...остановился на этом...может что еще посоветуете?