2011-10-25 25 views
0

我想创建一个应用程序,它将从C:\中查询可用空间,如果它低于一个限制,它应该向用户显示一个消息框,以便他/她在C:上释放一些空间。此应用程序将在SYSTEM帐户下运行。我的问题是,此消息框对登录用户不可见。所以我的问题是我如何显示一个消息框从SYSTEM帐户登录用户?如果有人可以提供一些示例代码,我会非常感谢。如何从SYSTEM帐户向登录用户显示MessageBox?

谢谢!

+1

这个问题的答案很大程度上取决于您使用的实际系统。差异主要与Vista中引入的会话分离和终端服务(也是2003)有关。你在说什么系统?此外,你应该避免这种事情,因为这是一种安全风险。在网上搜索“粉碎攻击”。 – 0xC0000022L

+1

为什么在SYSTEM帐户上运行一些东西(这是一个相当大的安全风险)?对于您所描述的内容,只需制作普通的Windows服务和托盘应用程序即可(通过AutoStart或在登录用户的会话中运行) - 它们通过IPC进行通信(例如共享内存)和托盘应用程序显示消息框或任何需要... – Yahia

+0

@STATUS_ACCESS_DENIED:我想在XP和Windows 7下做这件事。是的,我知道这不是“最好”的解决方案,但如果你有更好的理念,请与我分享。我没有:( – kampi

回答

0

您必须编写一个独立的用户界面,尝试搜索进程间通信,如Yahia提到的那样,那不是安全的方法。然而,终端服务API会为你做会话切换,现在用户会在任务栏中得到一些通知,但根本没有用户界面,这是正确的。