![]() |
1
5
我已经为此斗争了一个多星期,在阅读了很多关于这个问题的信息之后,终于找到了解决这个问题的方法… 您必须使用这样的createProcessAsUser函数:
大部分代码都是从 here 您还可以在其中找到要与此函数一起使用的WindowsAPI。 我仍在努力寻找是否可以避免蝙蝠文件,但至少是一个非常体面的解决方案。 编辑: 要避免使用外部*.bat文件来执行代码,只需编辑WindowsAPI类并用以下命令替换CreateProcessAsUser和ADVAPI32.dll导入部分:
现在,您可以使用StringBuilder作为createProcessAsuser函数的第三个参数(comandline),并将第二个参数(applicationName)设置为“Nothing”,如下所示:
它会起作用的!!!!! 当做, AP |
![]() |
2
2
你想做的是被微软主动阻止——如果你真的让它工作了,它会利用一个很快就会被关闭的漏洞。 但你能做的是 Friar Tuck/Robin Hood 解决方案-让两个程序运行并相互监控。当其中一个被杀死时,另一个会检测到这一点并重新启动它(或者,根据您希望的严重程度,只需将当前用户注销作为惩罚)。 |
![]() |
3
1
另一个不好的解决方案(但不存在向用户界面应用程序发送信号的缺点)是安装另一个服务来与桌面交互,桌面的任务是监听信号来锁定桌面。 我同意,使用本地系统凭据运行不是很好,但是如果所有服务都锁定桌面,那么需要保护的内存占用空间非常小。 |
![]() |
4
0
您可以尝试从自动锁定工作站的Windows服务启动屏幕保护程序。 |
![]() |
5
0
我对我的回答并不完全满意,但窗户的安全让我别无选择。任何打开的bu服务(通过进程、shell等)都不能访问桌面。我理解微软所造成的限制背后的原因,但仍然令人沮丧! 我的服务使用工控机告诉我的用户界面锁定计算机。下面是一个基本的链接: http://anoriginalidea.wordpress.com/2007/08/09/simple-inter-process-communication-in-vbnet/ 有关其他数据,请参阅他的参考链接。 然而,这仍然不太管用。另请参阅此链接,了解如何在不访问被拒绝消息的情况下执行此操作: 确保您的URI是正确的。服务器端的portname属性是getobject方法调用中IPC路径的第一部分。第二部分映射到服务器端的registerwellknowservicetype调用的第二个参数。 显然,在服务器端和客户机端,portname属性必须是不同的。 如果您“未能连接到IPC端口:系统找不到指定的文件”。在您的客户机上,服务器还没有启动,因此没有听到您的尖叫声。 |
![]() |
a a · 为什么在这个可重入锁示例中需要引用计数? 3 年前 |
![]() |
JohnLBevan · 为什么原子语句上需要锁提示? 7 年前 |
![]() |
Jay Wang · 生产者/消费者实施:陷入消费者循环 7 年前 |
![]() |
Andremoniy · 悲观写入是否锁定整个表? 7 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 7 年前 |
![]() |
Ins0maniac · Rails,锁定数据库中的记录 7 年前 |