2011-09-30 59 views
1

我在寫一個使用C#的小程序,需要設置爲所有用戶設置電源設置。這意味着我需要更改Hkey當前用戶以及Hkey用戶配置單元下的所有配置文件。我知道如何更改電源設置註冊表項,但我不知道如何在所有用戶「配置文件」中「循環」(缺少更好的單詞),並在其設置下進行此更改。我該怎麼做,或者有更好的方法來做到這一點。如果情況不明確,我表示歉意。C#更改所有用戶的註冊表設置

感謝 msindle

回答

1

沒有通用的方式直接編輯其他用戶的註冊表設置。其他用戶的註冊表設置甚至可能不存儲在您的計算機上。想了解一些問題,請閱讀Raymond Chen的博文「Beware of roaming user profiles」。 (請確保你明白他有什麼要說的 - 即使你在沒有啓用漫遊配置文件的網絡上編寫內部工具,也可以使用它。)

最好的解決方案可能是使一個爲當前用戶進行此更改的小應用程序,並將其添加到每個人的登錄腳本中。這意味着您的實用程序會在每次登錄時更改設置,而不是進行一次性更改(因此它們無法永久更改),但是您可以確定每個用戶都會發生這種情況。

1

你可以找到在此計算機上的所有文件的列表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\
每個鍵是一個配置文件。您可以通過查看ProfileImagePath值來檢查用戶名。

然後使用鍵名並轉到HKEY_USERS\[keyname]爲每個用戶。

雖然我很小心,因爲您可能不想混淆LocalService/NetworkService/etc用戶的設置。

+0

這就是答案。謝謝。 – ogggre