|
|
1.1 ! root 1: Sample: Sharing Named Memory Between Two Processes ! 2: ! 3: Summary: ! 4: ! 5: SHAREMEM and OTHRPROC are two samples which work together to ! 6: demonstrate sharing named memory between two separate ! 7: processes. These samples must be run together. ! 8: ! 9: More Information: ! 10: ! 11: To use: first start an instance of SHAREMEM. A window will ! 12: appear, devided into an upper and lower section. The upper ! 13: section will have two edit fields: one displaying the mouse ! 14: pointer's X-coordinates, and the other the pointer's Y ! 15: coordinates, as the mouse moves in the lower section. ! 16: ! 17: Start an instance of OTHRPROC. Allow OTHRPROC to keep ! 18: focus, but move the pointer around over the SHAREMEM'S ! 19: window. OTHRPROC has a similar window configuration; ! 20: however, you will notice that the X and Y coordinates of the ! 21: mouse as it moves over the SHAREMEM window are the values ! 22: that appear in the edit fields of OTHRPROC. To emphasize ! 23: this, a cross hair will appear in OTHRPROC's lower section; ! 24: its movements relative to the mouse position in SHAREMEM's ! 25: window. ! 26: ! 27: What's happening: When SHAREMEM is started, it creates a ! 28: allocates a piece of named shared memory the size of a DWORD ! 29: (the size needed to hold the mouse cursor's X and Y ! 30: coordinates) using CreateFileMapping. As the mouse pointer ! 31: is moved across the window, the WM_MOUSEMOVE messages are ! 32: trapped, and the coordinates are written to the upper edit ! 33: fields and to the piece of named shared memory. ! 34: ! 35: When OTHRPROC is started, it gets access to the named shared ! 36: memory by calling OpenFileMapping and MapViewOfFile. ! 37: OTHRPROC then uses a thread to pool and read the X and Y ! 38: coordinates written to the shared memory by SHAREMEM. It ! 39: captures the coordinates and draws a bit map of a cross hair ! 40: in the specified location. ! 41: ! 42: ! 43:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.