The ZIP file contains 2 stripped down editors, one in 32 bit, the other in 64 bit, the demo is a rough proof of concept of using private messaging and a memory mapped file as the memory used by both. The two examples both have 3 toolbar buttons, WRITE, READ and BYE.
WRITE will copy the data in the edit control to the MMF and send a HWND_BROADCAST message to any app listening to the correct private message and load the contents of the MMF into the listeners edit control. It then clears its own local edit control.
READ is for an app that is started after the first one writes to the MMF and it will load the data in the MMF into its own edit control.
BYE shuts down the instance where it is clicked.
You can run 2 or more instances of either editor and any data you enter into one local edit control will be read by any other instance of either that is running.
This is a bare minimal example and the general technique is not limited to zero terminated text data, by passing the byte length as well as the data you can routinely pass binary data, images, even apps if you have some reason to do so.
The reason for the basic design is to be able to extend the available memory of 32 bit apps and you can routinely use a gigabyte of MMF if you set it up that way. The test pieces I have played with so far pass multiple large blocks of memory from a 32 bit app to a 64 bit host and the only real limitation for 32 bit is you can only work on one at a time, its almost an emulation of the ancient bank switching memory of the early DOS days.