2017-06-02 25 views
0

我試圖獲得通過C#關於遠程PC上的電源選項以下信息:遠程PC上獲取電源選項設置(C#)

  • 時間睡覺
  • 時間關閉顯示器在
  • 睡眠插上電池後,當
  • 時間關閉硬盤上的電池
  • 時間關閉硬盤後
  • 睡眠時只是讀他們:
  • 休眠時

插入我不希望改變這些設置後插上

  • 休眠電池
  • 後。
    CURRENTUSER \ Control Panel \ PowerCfg中的註冊表不太有用,因爲沒有人指出上述設置。
    我也嘗試使用PowerEnumerate(),但無法找到一種方法使該功能在遠程計算機上工作。

    我該如何去從遠程計算機獲取這些設置的值?

    回答

    1

    在註冊表中的方案是(不必要的)複雜的,但是:

    HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings 
    

    包含了不同的設置GUID值,併爲AC和DC的默認值股票的計劃。

    關鍵

    HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes 
    

    包含GUID的每個設置組和設置下的電源使用方案設置所做的任何修改。

    HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\ActivePowerScheme 
    

    包含當前激活的電源方案的GUID。

    我肯定不會通過註冊表更改設置,但我相信你可以閱讀它們。

    例如,如果您的活動電源方案爲高性能,則ActivePowerScheme包含8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c。如果您在PowerSchemes\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c看看,看看

    0012ee47-9041-4b5d-9b77-535fba8b1442 
        6738e2c4-e8a5-4a42-b16a-e040e769756e 
         ACSettingIndex REG_DWORD 0x00000e10 (3600) 
    

    那麼你知道關閉硬盤使用交流電源的時間是3600秒或60分鐘。

    +0

    看起來很亂,但我絕對可以用它來工作。謝謝! –

    0

    你需要使用電源管理的API,這裏是示例類PowerManager.cs 也考慮電源方案管理MSDN

    編輯: 一些你正在尋求從遠程PC捕捉細節,您可以在窗口服務中安裝程序,通過它您可以閱讀更新。