太狗血了,VISTA/WIN7下,不同会话里的进程,怎么共享变量?
#pragma data_seg("share_data")
DWORD sharecount=0;
#pragma data_seg()
#pragma comment(linker,"/section:share_data,RWS")
唉,快被折腾死了. 上面这个编译设置,
在DLL里设置了一个可共享的数据.
实现了不同进程间对DLL的sharecount的变量的共享.
在2K/XP/2003下,不论是服务(svchost.exe加载DLL)进程,还是用户进程, 这种机制都不会有问题,
sharecount这个变量皆能被不同的进程访问和改写.
本来,这是一个很有效的机制, 可到了VISTA/WIN7, 由于服务和用户进程SESSION的隔离,
居然连共享变量都不能互相访问和控制了? 我操,微软, 你到底要干嘛?
请教大家,VISTA/WIN7下, 不同会话里的进程,怎么共享变量?