自己写一个项目,某些情境下需要管理员权限执行命令,频繁弹出 UAC 很影响用户体验。所以将这部分功能分离,做成服务,主程序与其进行通信。由于项目特殊性,主程序与服务通讯时尽可能绕过网络栈。因为之前没有遇到需要跨进程通讯的情景,自己 Google 并找到以下解决方案: - 在 Windows 下采用 NamePipe - 在 Unix 下采用 UnixDomainSocket 为保证安全性,还在其中包装了 TLS ,双向证书验证,即 NamePipe+TLS / UnixDomainSocket+TLS 。 想请教一下诸位的方案,并欢迎提出上述方案的修改建议