Разделяемые данные для нескольких приложений
От: sterx555  
Дата: 08.06.06 11:20
Оценка:
Итак, есть желание исследовать вопрос о возможности передачи данных между разными приложениями с помощью организации разделяемого сегмента данных.

Создал dynamic shared dll с кодом

//DllCommonSource.h
#pragma data_seg("Shared")

int ex_i = 0;

#pragma data_seg()

//DllCommonSource.cpp
#pragma comment(linker, "/section:Shared,RWS")


Создал два тестовых приложения

// приложение источник
// Source.cpp

#include <DllCommonSource.h>

#pragma comment(linker, "/section:Shared,RWS")
.....
void CMyDlg::OnButton()
{
    ex_i++;
}


// приложение приемник
// Receiver.cpp

#include <DllCommonSource.h>

#pragma comment(linker, "/section:Shared,RWS")
.....
void::OnTimer(UINT nIDTimer )
{
    CString str; str.Format( "%d", ex_i );
    m_TextCtrl.SetWindowText(str);
}


И получилось....

При запуске нескольких программ источников переменная ex_i у них общая.
А вот в приёмнике эта переменная всегда 0.
Где грабли?
И вообще такое взаимодействие между разными программами возможно?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.