2011-10-25 47 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會爲你做會話切換,現在用戶會在任務欄中得到一些通知,但根本沒有用戶界面,這是正確的。