Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Igor Dikshev Гость
|
Добавлено: Ср Мар 13 2002 17:38 Заголовок сообщения: Три процесса - один массив |
|
|
Привет!
У меня вот какая заковыка... Hужно, чтобы из одного процесса была создана общая область памяти (например, файл, отображаемый в память) и запущены два процесса. Один должен писать текст в общую область памяти, а другой должен из неё читать и выводить текст в Memo.
Hапример. MyTaskManager отображает файл в память и стартует (CreateProces) две других программы: MyWriter и MyReader. MyWriter пишет в отображенный файл построчно песенку "В лесу родилась ёлочка". После записи каждой строчки должен "просыпаться" MyReader и выводить эту строчку в Memo. И так до тех пор, пока MyWriter запишет все строчки песенки, а MyReader все их покажет.
Как такое делается? Как передать хэндл общей области памяти из одного процесса в другой?
Заранее огромное спасибо.
Игорь |
|
Вернуться к началу |
|
|
Shults Гость
|
Добавлено: Чт Мар 14 2002 14:56 Заголовок сообщения: Re: Три процесса - один массив |
|
|
hFileMap = OpenFileMapping( FILE_MAP_ALL_ACCESS, FALSE,"GLUBINA" ); //где GLUBINA имя файла if(hFileMap==NULL) {
hFileMap = CreateFileMapping( (HANDLE)0xFFFFFFFF, NULL,PAGE_READWRITE,0,1024,"GLUBINA" ); } Лично я делаю так и все работает. |
|
Вернуться к началу |
|
|
Igor Dikshev Гость
|
Добавлено: Чт Мар 14 2002 15:14 Заголовок сообщения: Re: Три процесса - один массив |
|
|
Привет!
Это то я знаю. Спасибо. Вопрос в том, как передать в другой процесс хэндл открытого таким образом файла.
Игорь |
|
Вернуться к началу |
|
|
|