Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Переброс информации между программами   Найти похожие ветки 

 
Андрей   (2004-05-31 12:53) [0]

Скажите пожалуйста, как можно программным способом перебрасывать информацию (текст) из одной программы в другую.


 
AlexG ©   (2004-05-31 12:56) [1]

Вот, как раз сам читаю :) Это с этого сайта.

Еще один интересный способ для Win32. Дело в том, что можно в памяти создавать временные файлы. При перезагрузке они теряются, а так существуют. Кстати, этот метод можно использовать и для обмена информацией между вашими приложениями.

Пример:

program Project1;
uses
 Windows, // Обязательно
 Forms,
 Unit1 in "Unit1.pas" {Form1};

{$R *.RES}
Const
MemFileSize = 1024;
MemFileName = "one_inst_demo_memfile";
Var
MemHnd : HWND;
begin
 { Попытаемся создать файл в памяти }
 MemHnd := CreateFileMapping(HWND($FFFFFFFF),
                             nil,
                             PAGE_READWRITE,
                             0,
                             MemFileSize,
                             MemFileName);
 { Если файл не существовал запускаем приложение }
 if GetLastError<>ERROR_ALREADY_EXISTS then
 begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
 end;
 CloseHandle(MemHnd);
end.


 
Тимохов ©   (2004-05-31 13:22) [2]

использовать событие wm_copydata.
очень хорошо описано в книге Рихтера.
поищите ее в сети - она есть.


 
Fay ©   (2004-05-31 13:35) [3]

HWND($FFFFFFFF) = DWORD(-1) = INVALID_HANDLE_VALUE


 
AlexG ©   (2004-05-31 13:45) [4]


> Fay

Может другую константу?


 
Fay ©   (2004-05-31 13:51) [5]

Зачем другую? И эта пойдёт. Просто её так зовут, а HWND($FFFFFFFF) смотрится как "очень сильное колдунство" 8)


 
TUser   (2004-05-31 13:51) [6]

-1, т.е. создвать в swap-файле



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
14-1085638234
REA
2004-05-27 10:10
2004.06.13
Хороший тон


14-1085382599
Gorlum
2004-05-24 11:09
2004.06.13
Где же моя анкета?


1-1086157812
slavuta
2004-06-02 10:30
2004.06.13
Как перевести из десятиричной в шестнадцатиричную систему?


3-1085110360
Jann
2004-05-21 07:32
2004.06.13
работа с БД Clarion


6-1082544631
rimd1
2004-04-21 14:50
2004.06.13
процессы и сеть