Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   C# проблема с реестром (https://forum.antichat.xyz/showthread.php?t=161657)

noxjoker 07.12.2009 00:37

C# проблема с реестром
 
Здраствуйте у меня есть проблема не могу решить её средствами C#.

Код:

Microsoft.Win32.RegistryKey Sp3 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true); 
Sp3.SetValue("SFCSetting", 0xffffff9d, Microsoft.Win32.RegistryValueKind.DWord);    // Возникает ерор    The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted.       
Sp3.Close();

Кто поможет или рациональное решение (без создание батников там или ищо чото) тому +

noxjoker 08.12.2009 11:24

xlinux между твоим и мои кодом нет разницы! Та же ошыбка ((( также хочу пояснить что оно должно создать REG_DWORD а не REG_SZ.

Просто положите мне этот код в C#

Код:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"SFCSetting"=dword:ffffff9d

Люди Help :confused: :confused:

noxjoker 08.12.2009 23:37

SitraIT мне бы просто код.

Вот Погуглил хотел бы спросить может кто знает как работать с advapi32.dll в C#
Желательно Пример как записать в реестр .

Зарание спасибо....

BrainDeaD 09.12.2009 00:05

Код:

[StructLayout(LayoutKind.Sequential)]
        public struct SECURITY_ATTRIBUTES
        {
            public int nLength;
            public IntPtr lpSecurityDescriptor;
            public bool bInheritHandle;
        }
[DllImport("advapi32.dll", EntryPoint = "RegCreateKeyEx")]
          public static extern uint RegCreateKeyEx(uint hKey, string lpSubKey, uint Reserved, string lpClass, uint dwOptions, uint samDesired, ref SECURITY_ATTRIBUTES lpSecurityAttributes, ref uint phkResult, ref uint lpdwDisposition);
          [DllImport("advapi32.dll", EntryPoint = "RegSetValueEx")]
          public static extern uint RegSetValueEx(uint hKey, string lpValueName, uint Reserved, uint dwType, string lpData, uint cbData);
static void SetKey()
        {
            SECURITY_ATTRIBUTES secattr = new SECURITY_ATTRIBUTES();
            secattr.nLength = Marshal.SizeOf(secattr);
            secattr.lpSecurityDescriptor = (IntPtr)0;
            secattr.bInheritHandle = true;

            uint neworused = 0;
            uint hIDKey = 0;

            RegistryKey key = Registry.LocalMachine;
            RegistryKey currKey = key.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon");

            uint res = RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon", 0, null, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, ref secattr, ref hIDKey, ref neworused);
            if (res == ERROR_SUCCESS)
            {
                res = RegSetValueEx(hIDKey, "SFCSetting", 0, REG_SZ, "dword:ffffff9d", keyLength);
            }

что-то вроде этого. разбирайтесь. к сожалению сейчас нет времени помочь большим.

Algol 09.12.2009 00:30

Цитата:

Сообщение от noxjoker
Здраствуйте у меня есть проблема не могу решить её средствами C#.

Код:

Microsoft.Win32.RegistryKey Sp3 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true); 
Sp3.SetValue("SFCSetting", 0xffffff9d, Microsoft.Win32.RegistryValueKind.DWord);    // Возникает ерор    The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted.       
Sp3.Close();

Кто поможет или рациональное решение (без создание батников там или ищо чото) тому +

Sp3.SetValue("SFCSetting", (int)0xffffff9d, Microsoft.Win32.RegistryValueKind.DWord);

noxjoker 09.12.2009 19:33

Algol Не работает... Ищу ответ ...

DeaD_MoroZ 10.12.2009 05:08

LONG RegCreateKeyEx (
HKEY hKey, // дескриптор открытого ключа
LPCTSTR lpSubKey, // адрес имени подключа
DWORD Reserved, // зарезервировано
LPTSTR lpClass, // адрес строки класса
DWORD dwOptions, // флаг особых опций
REGSAM samDesired, // желаемый доступ безопасности
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // адрес структуры ключа безопасности
PHKEY phkResult, // адрес буфера для открытого ключа
LPDWORD lpdwDisposition // адрес буфера характерного значения
);

noxjoker 11.12.2009 15:09

DeaD_MoroZ ищу ответ на C# а не на C++ ...

Algol 11.12.2009 16:25

Цитата:

Сообщение от noxjoker
DeaD_MoroZ ищу ответ на C# а не на C++ ...

Какой ответ?
Вопрос-то про что ?
Про ошибку "The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted." ?
Тогда ответ см в сообщении #6.
Если про что-то другое - сформулируй нормально вопрос.
("Не работает" это не формулировка проблемы)

noxjoker 11.12.2009 17:57

Algol ты пробывал компилировать то что ты написал ???
ТА ЖЕ ОШЫБКА !!!

А ВОПРОС ТАКОВ:
Как записать в SFCSetting параметр ffffff9d?


Время: 11:25