Well, show us how the second program is supposed to get at that data, and we'll show you what doesn't work at the moment. I'm still a bit ignorant about how exactly your programs do that data transfer (especially on the "client" side), thus please show us how this is supposed to be done.
Sorry, the post was sent wrong. Here's it right.
I have 2 programs, let's call them pgm1 and pgm2. These programs have common data that pgm1 have to set on pgm2. To set pgm2 data we write a file with a random name (actually we start with a name, but if already exists we add 1 until we can create a new file) using pgm1, let's cal this file file1.dat. So, graphically it'll be:
data ---------------->data | | | | pgm1--> file1.dat--> pgm2
The file1.dat is passed as a parameter using the CreateProcessA.dwFillAttribute of the pgm1. Pgm2 get file1.dat with the GetStartupInfoA API.
Hope it was what you were expecting. Thank you Ricardo.