C# RegistryKey.GetValue проблема с DWORD
От: malya Украина  
Дата: 06.01.06 19:37
Оценка: :)
Доброго времени суток!. Помогите пожалуйста! Пишу редактор реестра Windows на С#.При получении значения параметра из реестра типа DWORD , получаю не число (2147491839) ,а (-2147475457)(это я понял типа что-то типа NULL). Я знаю что GetValue возвращает тип Object, но получаеться что Object не может вместить в себя такое число.Беру меньшее число все нормально большее нет.

int dWord = 0;
dWord = (int)key.GetValue(valName);

Привести к Int64 не дает выпадает excеption.

За ранее благодарен!!!
Re: C# RegistryKey.GetValue проблема с DWORD
От: Smarty Россия  
Дата: 07.01.06 16:11
Оценка:
Здравствуйте, malya, Вы писали:

M>Доброго времени суток!. Помогите пожалуйста! Пишу редактор реестра Windows на С#.При получении значения параметра из реестра типа DWORD , получаю не число (2147491839) ,а (-2147475457)(это я понял типа что-то типа NULL). Я знаю что GetValue возвращает тип Object, но получаеться что Object не может вместить в себя такое число.Беру меньшее число все нормально большее нет.


В хексе оба числа — 0x80001FFF. Поэтому компьютер "видит" это число правильно. В чем вопрос? Как ВАМ правильно его "увидеть"?
Re[2]: C# RegistryKey.GetValue проблема с DWORD
От: malya Украина  
Дата: 07.01.06 20:38
Оценка:
Здравствуйте, Smarty, Вы писали:

S>Здравствуйте, malya, Вы писали:


M>>Доброго времени суток!. Помогите пожалуйста! Пишу редактор реестра Windows на С#.При получении значения параметра из реестра типа DWORD , получаю не число (2147491839) ,а (-2147475457)(это я понял типа что-то типа NULL). Я знаю что GetValue возвращает тип Object, но получаеться что Object не может вместить в себя такое число.Беру меньшее число все нормально большее нет.


S>В хексе оба числа — 0x80001FFF. Поэтому компьютер "видит" это число правильно. В чем вопрос? Как ВАМ правильно его "увидеть"?


Я понял но еще вопрос почему такая разница в числах и где она берется и как мне делать (какое число в моем редакторе реестра мне отображать)? Спасибо!!!
Re[3]: C# RegistryKey.GetValue проблема с DWORD
От: Аноним  
Дата: 08.01.06 14:02
Оценка: +2
Здравствуйте, malya, Вы писали:

M>Я понял но еще вопрос почему такая разница в числах и где она берется и как мне делать (какое число в моем редакторе реестра мне отображать)?


Когда в реестр пишут DWORD — это просто 32 бита, как их интерпретировать — signed или unsigned — личное дело того, кто эти биты читает. Можете предоставить выбор юзеру, типа

Display Registry DWORD as
Signed
Unsigned
Hex
Bin
...

Если вы не понимаете отношение signed/unsigned — не рано ли братся за редактор реестра?
Re[4]: C# RegistryKey.GetValue проблема с DWORD
От: malya Украина  
Дата: 08.01.06 21:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, malya, Вы писали:


M>>Я понял но еще вопрос почему такая разница в числах и где она берется и как мне делать (какое число в моем редакторе реестра мне отображать)?


А>Когда в реестр пишут DWORD — это просто 32 бита, как их интерпретировать — signed или unsigned — личное дело того, кто эти биты читает. Можете предоставить выбор юзеру, типа


А>Display Registry DWORD as

А>Signed
А>Unsigned
А>Hex
А>Bin
А>...

А>Если вы не понимаете отношение signed/unsigned — не рано ли братся за редактор реестра?


Большое Спасибо за помощь!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.