windows 服務 如何獲取句柄,求高手解答
uj5u.com熱心網友回復:
或許你對‘句柄’有些誤解...解釋你要做些什么,更容易得到有價值的討論。
uj5u.com熱心網友回復:
哦喲喲喲,前輩 12年了呀,探討探討你要做個啥嘛uj5u.com熱心網友回復:
我做了一個windows服務,想讓他跨界面操作句柄,我是服務器可能多個界面,所以做到服務里面操作句柄,這樣就能只開啟一個服務就行了,不然每個界面要開一個軟體,麻煩,但是我操作句柄的放到服務里面就獲取不到句柄,前提操作第三方軟體。uj5u.com熱心網友回復:
發清楚了老板uj5u.com熱心網友回復:
可以是可以,不過需要提權。提權代碼我們懶得寫,百度“win10 serssion0 windowservice”
當然我個人懶得那么麻煩,服務里只寫行程監控。然后另外寫控制臺去操作(使用上面的權限提升代碼去啟動后臺控制臺去搞,這樣控制臺代碼不需要考慮啥權限,普通代碼就是。只是服務代碼提權去啟動他)
uj5u.com熱心網友回復:
Windows服務不能直接用視窗‘句柄’給用戶桌面下的界面程式發訊息的。因為Windows訊息的界限在于Desktop。
Windows Vista以后,由于服務隔離,Windows服務將運行在session 0,
而用戶程式運行在session 1,2,3...
Session下包含WinStation,WinStation下包含Desktop。因此,不能跨越session發Windows訊息的。
下圖解釋就很清楚了:

圖形參考自:
https://techcommunity.microsoft.com/t5/ask-the-performance-team/sessions-desktops-and-windows-stations/ba-p/372473
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/32845.html
標籤:C#
