关于win7的session0隔离的总结

本文详细介绍了Windows 7及更高版本中引入的Session 0隔离,探讨了不同Session间通信的限制,如无法互发消息、不能直接使用其他Session的显示资源和文件,并提供了通过WTSSendMessage、CreateProcessAsUser等函数进行跨Session通信的方法。此外,还讲解了如何在Session 0中使用其他Session用户的配置文件。最后,强调了在创建命名内核对象时使用Global前缀以实现跨Session共享的重要性。
摘要由CSDN通过智能技术生成

      

      微软做这个session隔离的原因我就不追查了,反正让人有蛋蛋的忧伤。

      在vista以前的系统,后台服务和当前用户进程都运行在同一个session中(本地系统登录时的第一个session中),只有从远端登录的时候会建立新的session。

      在vista以后的系统,系统启动后,后台服务运行在session0中,第一个登录的用户运行在session1当中,后续登录的有session1...sessionn等。session之间当然是有隔离措施的,是什么样的机制不去深究;目前需要突破的是,在不同的session程序之间不能按旧的方式进行通信,具体表现在:

      1. 不同session之间不能通过窗口互发消息;

      2. 一个session中不能直接使用另一个session的显示资源,比如不能直接在session0中向session1中弹出窗口;

      3. 一个session中不能直接使用另一个session的显示资源,不能读写session1中的文件;

      4. 不同session之间不能直接共享内核对象的访问权;

      这是实际中会遇到的问题,下面一一解答;

      1. 对于session中不能互发消息,这没什么好说的,不能就是不能,在vista后在不同session中不要想着发窗口消息通信就对了;

      2. 对于简单的反馈消息窗口可以使用WTSSendMessage函数来向指定的session发送一个消息要求显示窗口,而session是哪个可以用过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值