首页 / 知识
关于 ipc:Windows Vista Session 0 和桌面之间如何通信?
2023-04-14 22:10:00

How do you communicate between Windows Vista Session 0 and Desktop?在 Vista 之前的早期版本的 Windows 中,您可以让 Windows 服务与当前登录的桌面用户交互,以轻松地在屏幕上显示来自该服务的信息。在 Windows Vista 中,为安全起见,添加了会话 0,以将服务与桌面隔离。在服务和在 Session 0 之外运行的应用程序之间进行通信的简单方法是什么?到目前为止,我已经通过使用 TCP/IP 在两者之间进行通信来解决这个问题,但这似乎是一种草率的方式。 您也可以使用共享内存或命名管道来促进 IPC。从概念上讲,这类似于 TCP/IP,但您不必担心找不到未使用的端口。 您必须确保您创建的命名对象以 "Global\\\\" 为前缀,以允许所有会话访问它们,如此处所述。 AFAIK 服务无法再直接与桌面交互了。 确实,出于安全原因,不再能够直接与"桌面"进行通信。当您生活在具有多个活动用户远程会话的机器中时,"桌面"到底是什么? 解决问题的一般方法是使用通过某种 RPC 机制(TCP/IP、IPC、.Net Remoting Channels over 其中之一等)进行通信的服务应用程序。这有点痛苦,但我认为这些好处值得改变。 对于与桌面对话的服务,您几乎被其中一种 RPC 机制所困。为此目的,.NET 远程处理机制 (IpcServerChannel) 并不难实现。 同样使用 .NET,桌面应用程序可以使用 ServiceController.ExecuteCommand 直接向服务发送消息。服务通过 ServiceBase.OnCustomCommand 接收这些命令。这更容易做到,如果控制服务是您的唯一要求,这就是您所需要的。 |
最新内容
相关内容
linux用命令进去桌面?
linux用命令进去桌面?,密码,系统,终端,官网,设备,环境,桌面,快捷键,命令,窗口,linux命令行怎么进入桌面1、返回到我的桌面界面:Ctrl+Alt+F7退出linux服务器分区命令?
linux服务器分区命令?,系统,管理,信息,设备,时间,命令,基础,首次,平均,情况,linux系统格式化分区用哪个命令Linux的磁盘格式化命令是“mkfs”,linux登录系统的命令?
linux登录系统的命令?,系统,工作,地址,名称,网络,密码,信息,服务,软件,资料,linux系统下的Login,Logout,Reboot,Halt,Exit,Poweroff,Shutdownlinux命令中添加用户?
linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文件夹,linux添加用户名1、打开xshell软件,远程访问您的服务器或虚拟linux服务器上传命令?
linux服务器上传命令?,服务,软件,平台,数据,工具,系统,手机,电脑,设备,官网,从linux服务器中下载或上传文件您要问的是为什么linux服务器一直linux命令更改用户?
linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,linux如何更改用户名?1、首先打开linux的终端,输入指令修改用户名,简linux重新服务命令?
linux重新服务命令?,服务,系统,网络,标准,工作,设备,命令,名称,信息,网络服务,linux重启命令Linux的五个重启命令为:shutdown、poweroff、initlinux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组linux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建linux桌面可视命令?
linux桌面可视命令?,工具,系统,发行,密码,地方,服务,管理,技术,终端,命令,Linux的命令行界面Linux 操作系统通常为用户提供两种不同的操作界面linux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组查看linux用户命令行?
查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,Linux查看所有用户用什么命令输入“cat /etc/passwd”命令查看所