2011-06-30 73 views
0

在C++中使用WinAPI;我尝试使用CreateProcessWithLogonW()从另一个没有管理权限的应用程序中启动具有管理权限的进程,但是新进程可以由非管理员用户在任务管理器中停止。限制非管理员用户停止任务管理器中的进程C++

任何帮助将不胜感激。

杰曼

+0

启动的进程是否有窗口?它是被“终止过程”还是“终止过程”阻止? –

+0

它的窗口进程,并被EndProcess阻止 –

+0

这就是你的问题 - 任何有权访问桌面的进程都可以向其上的任何窗口发送消息,因此任何事情都可以将WM_CLOSE发送到应用的顶级窗口。 –

回答

-1

我能记得,创建一个从非管理进程管理进程是很辛苦的窗口。启动管理进程最简单的选项是使用管理员权限构建该进程exe,并使用:: ShellExecute。

在vista和win7中,不允许将消息从非管理进程发布到admin进程。您可能需要创建自己的消息队列以将消息发送到管理进程以杀死它。 (增强消息队列可以是一个选项)。或者你可以使用其他一些同步技术来杀死它。

+0

他不想杀了它,但阻止非管理员用户这样做。 – RedX

+0

 but the new process can be stopped from within task manager by the non-admin user.
他的意思是让非管理员用户从任务管理器中杀死它? –

+0

谢谢xijing ..我会尽力去做的。 –