Форум: "Потрепаться";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
ВнизВопросик. Найти похожие ветки
← →
mutuaservices © (2005-01-07 17:26) [0]Kto snaet? Kak poloutchit" informatiu iz odnoi programmu Delphi v drougouu programmy Delphi ?
← →
Kerk © (2005-01-07 17:27) [1]см. InterProcess Communications (IPC)
← →
mutuaservices © (2005-01-07 17:28) [2]moжech" obyasnit"?
← →
PVOzerski © (2005-01-07 17:34) [3]Да масса способов есть. Файлы, сообщения, DDE, OLE, командная строка...
← →
Kerk © (2005-01-07 17:34) [4]статья под руку попалась...
Взаимодействие между процессами (IPC) - это путь, с помощью которого процессы могут взаимодействовать между собой. У каждого процесса есть свое собственное отдельное адресное пространство, поэтому процессы не могут напрямую видеть память других процессов. Win32 API предоставляет несколько разновидностей IPC. IPC может быть очень полезно для вирусов, поэтому я объясню несколько путей, хотя я не уверен, что в вирусах применимы все из этих путей.
В этой статье объясняются следующие виды IPC:
- атомы (GlobalAddAtom/GlobalDeleteAtom/GlobalFindAtom/GlobalGetAtomName)
- мэппинг файлов (CreateFileMapping/MapViewOfFile)
- анонимные пайпы (CreatePipe)
- мейлслоты (CreateMailslot/SetMailslotInfo/GetMailslotInfo)
← →
GuAV © (2005-01-07 17:36) [5]Самое простое - WM_COPYDATA
← →
mutuaservices © (2005-01-07 17:38) [6][3] [4]
vu interesnue ludi, xochu s vami drouжit"
← →
antonn © (2005-01-07 17:40) [7]дженщинс:))))
← →
mutuaservices © (2005-01-07 17:41) [8]Tak mnogo raznuh idei.
Спасибочки !!!
Ny a esli do podrobnee...?
← →
Kerk © (2005-01-07 17:42) [9]
> vu interesnue ludi, xochu s vami drouжit"
Всегда пожалуйста.. ;)
> antonn © (07.01.05 17:40) [7]
Ну чего ты Ирину смущаешь? :)))
← →
Kerk © (2005-01-07 17:45) [10]
> mutuaservices
Мне в лом сейчас подробный пример писать...
давай в асю - 269102 .. объясню.
← →
Чеширский_Кот © (2005-01-07 19:35) [11]Керк - лучший друг дженчинс
← →
Kerk © (2005-01-07 19:38) [12]
> Чеширский_Кот © (07.01.05 19:35) [11]
Ирина в аське не появляется.. видимо развод.. :)
← →
mutuaservices © (2005-01-07 19:38) [13]> cm. vetky Рождество.... духи....
A Вы vse prodolжaete ?...
← →
Чеширский_Кот © (2005-01-07 20:05) [14]Ирин, а кинь мне свою фотку, а?
З.Ы. фотки Кирстен Данст и Ким Бэссинджер просьба не слать, их у меня и так много
← →
mutuaservices © (2005-01-07 20:10) [15]Vsem privet. i poka.
Priyatno bulo posnakomitcya, (no moжno loutche...)
← →
Чеширский_Кот © (2005-01-07 20:13) [16]вот так вот всегда
как фотки - так ей тут же собираться домой надо
← →
Kerk © (2005-01-07 20:21) [17]эээ.. эта.. я, как лучший друг, тоже фотку хочу.. :)
← →
Чеширский_Кот © (2005-01-07 20:24) [18]главный дженчинс сбежал...
← →
Чеширский_Кот © (2005-01-07 20:26) [19]"он улетел... но обещал вернуться..." (с)
← →
uny © (2005-01-07 20:26) [20]по голове не бейте...((
← →
Piter © (2005-01-07 20:43) [21]Вопрос: как передать строку (длинные данные) из одной программы в другую
Ответ: Чтобы передать другому приложению строку (или другие длинные данные) нужно послать ему сообщение WM_COPYDATA с соответствующими параметрами.
Например:
procedure SendStringToWindow(S: string; Wnd: HWND);
var
SendData: TCopyDataStruct;
begin
if Wnd > 0 then
begin
with SendData do
begin
dwData := 0;
cbData := Length(S) + 1;
lpData := PChar(S);
end;
SendMessage(Wnd, WM_COPYDATA, 0, Longint(@SendData));
end;
end;
Если нам понадобится отправить какую-либо строку другому нашему приложению, мы пишем:
var
Wnd: HWND;
...
Wnd := FindWindow("TForm2", "Form2");
if Wnd > 0 then
SendStringToWindow("Hello!", Wnd);
Вот пример обработки такого сообщения в другой программе:
TForm2 = class(TForm)
private
procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA;
...
end;
...
procedure TForm2.WMCopyData(var Msg: TWMCopyData);
var
Text: string;
begin
if Msg.CopyDataStruct <> nil then
begin
Text := string(Msg.CopyDataStruct^.lpData);
ShowMessage("Получен текст: " + Text);
end;
end;
Отвечал: Gero
← →
Agent13 © (2005-01-07 21:00) [22]
> главный дженчинс сбежал...
Странный правда дженчинс какой-то, в анкете в графе пол указано мужчинс...
← →
Чеширский_Кот © (2005-01-07 21:09) [23]http://kerk.frandt.com/files/genchins.html
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.056 c