2011-04-17 43 views
0

當沒有活躍用戶使用c sharp登錄到Windows機器時,是否可以重畫窗口?那個窗口是否可用於截屏程序?或者根本不可能,並且用戶必須登錄到機器中。當沒有用戶登錄時重畫窗口

我使用下面的:所有的任何幫助

回答

2

SetForegroundWindow(handle); 

InvalidateRect(IntPtr.Zero, IntPtr.Zero, true); 

UpdateWindow(handle); 

感謝因爲沒有用戶登錄,沒有用戶界面運行。

所以,不,你不能在這種情況下重畫(沒有窗口重畫)。

+0

有沒有辦法迫使UI運行?我的應用程序將作爲服務運行,這是否有所作爲? – Kay 2011-04-17 17:51:39

+0

@Kay - 它可以作爲一項服務運行,但是它仍然沒有用戶界面,除非您將其設置爲交互式Windows服務,並且...登錄與其交互。 – Oded 2011-04-17 17:52:32

+0

嗯,我明白了。所以它不可能在沒有用戶登錄的情況下運行任何用戶界面。無論如何圍繞這個?! – Kay 2011-04-17 17:54:11

0

是的,登錄屏幕是一個特殊的桌面(Windows可以有幾個桌面)。一個smilar的問題(但不相同):在桌面上WPF Window on Winlogon Desktop

更多信息和Winlogon桌面:http://msdn.microsoft.com/en-us/library/ms682573(v=vs.85).aspx

+0

嗯,http://msdn.microsoft.com/en-us/library/ms686744(v=vs.85).aspx - 看起來很有趣。這是否意味着我可以讓我的服務或應用在特定的桌面類型中運行,這意味着UI將會運行? – Kay 2011-04-17 18:00:17

+0

如果您將任何東西放置在WinLogon桌面上,它將與登錄屏幕一起顯示。您必須將代碼放入服務中,並在LocalSystem帳戶下運行才能訪問桌面。 – 2011-04-17 18:03:10

相關問題