我正在尋找實施一個功能,當一個應用程序作爲Windows服務(作爲本地系統)運行將顯示模式警告,類似於關機屏幕或UAC警告屏幕。基本上,東西是不可能解僱而沒有注意到繞過Windows會話隔離,在系統服務的用戶會話中顯示警告消息,Windows 7 +
有兩件事情,我不知道如何實現:
這是我的理解是Windows Vista中+不再允許應用程序生成系統模態窗口。有沒有可能繞過這一點,有沒有簡單的方法來做到這一點?我能想到的唯一選擇是打開一個全屏窗口並攔截alt +選項卡,ctrl + alt + del等
我也相信不可能在用戶會話中顯示用戶界面服務,因爲它在另一個會話中運行。有沒有可以繞過這個黑客的黑客?我能想到的一件事是:查找並注入代碼到在給定會話中運行的csrss.exe或winlogon.exe中,並調用遠程線程。另一種方法是obtain handle to winlogon and CreateProcessAsUser()。有另一種更簡單的方法嗎?
雖然這種方法比在用戶的情況下啓動的過程更簡單,請注意,這是效率較低;它需要一個額外的過程始終在用戶的上下文中運行。 – 2013-05-21 19:25:07
就我而言,我將偵聽器卡在一個托盤應用程序中,該應用程序已用於管理/監視服務。是的,它確實需要在任何時候都運行另一個進程,但由於我們已經有了另一個以用戶登錄運行的進程,我只是把監聽程序放在那裏。當服務未作爲LocalSystem帳戶運行時,此技術也適用。 – 2013-05-21 19:45:37