Узнал что в Windows-овских DLL-ках можно объявлять переменные которые можно использовать во всех процессах использующих библиотеку. Это делается вот так (работает только в компиляторе от Microsoft):
#pragma data_seg(".shared")
#pragma comment(linker,"/SECTION:.shared,RWS")
#pragma data_seg()
__declspec(allocate(".shared")) int shared_var; /* тут объявляются переменные */