windows后台服务与桌面进程通信问题
主要结构是这样的,我写了个后台服务程序A,开启了共享和允许与桌面交互,然后想通通过内存共享的方式与一个有界面的程序B之间实现数据共享,问题出来了,我写了个控制台的测试程序和B之间可以进行通信,但是同样的代码放到后台服务中就没有实现。环境是在windows xp 下面运行的。还有尝试了通过dll来交互数据,界面程序B总是得不到传来的值!急求解~~望路过的各位大大们指点呀~~
PSYS_VARIABLE psysvariable=new SYS_VARIABLE;//dll 全局变量 extern "C" __declspec(dllexport) void SetSysVariable(SYS_VARIABLE sysdata)//后台服务程序传传递出来的结构变量 { strcpy(psysvariable->ErMessage,sysdata.ErMessage); for(int i=0;i<=AXIS_COUNT;i++) { psysvariable->axisrelated[i]=sysdata.axisrelated[i]; } psysvariable->iopt= ; } extern "C" __declspec(dllexport) void GetSysVariable(SYS_VARIABLE sysdata)//界面程序传递进来的结构来得到我要的值 { strcpy(sysdata.ErMessage,psysvariable->ErMessage); for(int i=0;i<=AXIS_COUNT;i++) { sysdata.axisrelated[i]=psysvariable->axisrelated[i]; } sysdata.CCDVariable = psysvariable->CCDVariable; return ; }