Необходимо изменить/прочитать/добавить переменную Shell в реестре Windows по пути \HKEY_USERS\\Software\Microsoft\Windows NT\CurrentVersion\Winlogon для каждого пользователя. Однако в \HKEY_USERS\ находятся только пользователи, у которых выполнен вход. Если я правильно понял из статей в интернете, то нужно загружать кусты пользователей в реестр, хранящиеся в C:\Users\<Имя пользователя>\NTUSER.DAT, что я и попытался сделать:
[DllImport("advapi32.dll", SetLastError = true)]
static extern Int32 RegLoadKey(UInt32 hKey, String lpSubKey, String lpFile);
public enum HKEY : uint
{
LOCAL_MACHINE = 0x80000002,
USERS = 0x80000003
}
static void LoadUserHive()
{
string path = "C:\\Users\\Max\\NTUSER.DAT";
string SID = "S-1-5-21-2185061059-2250993091-2609513880-1001";
RegLoadKey((uint)HKEY.USERS, SID, path);
}
Код выполняется без ошибок, но куста пользователя в \HKEY_USERS\ не наблюдается.
Подскажите, что я делаю не так
В данном случае, RegLoadKey()
в случае ошибки не выдает исключений. Функция RegLoadKey()
возвращает ноль в случае удачи, либо код ошибки int
определенный в Winerror.h (класс для расшифорвки кодов ошибок для C# можно взять отсюда http://www.pinvoke.net/default.aspx/Constants.WINERROR).
Помимо прав администратора, для выполнения функции также обязательны привилегии SE_RESTORE_NAME
и SE_BACKUP_NAME
. Процесс их установки описан для C++ здесь https://docs.microsoft.com/ru-ru/windows/desktop/SecAuthZ/enabling-and-disabling-privileges-in-c--. Не составит труда перевести код из данного примера в C#. Либо можно использовать уже готовый класс для C# https://pastebin.com/R5HxeHnm.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется List, в который через форму с textbox-ом надо ввести числаЧисла вводятся в textbox через пробел потом по нажатию нa button добавляются в List
Есть форма Form1 и одна единственная кнопка button1
Как можно сделать вот такой запрос к таблице: "/responsephp?que=есть"? У меня работает только с цифрами
Я сделал сайт с мобильной версиейПереход с основного сайта на мобильный субдомен осуществляется через PHP код