Чтение онлайн

на главную - закладки

Жанры

Программирование КПК и смартфонов на .NET Compact Framework

Климов Александр Петрович

Шрифт:

if (ERROR_SUCCESS != result) return result;

byte[] data = BitConverter.GetBytes(binData);

return RegSetValueEx(hkey, valueName, 0, KeyType.Binary, data,

(uint)data.Length);

} finally {

if (UIntPtr.Zero != hkey) {

RegCloseKey(hkey);

}

}

}

/// <summary>

///
Получает значение строкового параметра

/// </summary>

/// <param name="keyName">Имя ключа</param>

/// <param name="valueName">Имя параметра</param>

/// <param name="stringResult">строковые данные</param>

/// <returns>В успешном случае возвращается

/// ERROR_SUCCESS</returns>

public static int GetStringValue(UIntPtr root, string keyName,

string valueName, ref string stringResult) {

UIntPtr hkey = UintPtr.Zero;

try {

int result = RegOpenKeyEx(root, keyName, 0, KeyAccess.None, ref hkey);

if (ERROR_SUCCESS != result) return result;

byte[] bytes = null;

uint length = 0;

KeyType keyType = KeyType.None;

result = RegQueryValueEx(hkey, valueName, IntPtr.Zero, ref keyType, null,

ref length);

if (ERROR_SUCCESS != result) return result;

keyType = KeyType.None;

bytes = new byte[length];

result = RegQueryValueEx(hkey, valueName, IntPtr.Zero, ref keyType, bytes,

ref length);

if (ERROR SUCCESS != result) return result;

stringResult = Encoding.Unicode.GetString(bytes, 0, bytes.Length);

return ERROR_SUCCESS;

} finally {

if (UIntPtr.Zero != hkey) {

RegCloseKey(hkey);

}

}

}

/// <summary>

/// Получает заданное значение типа DWORD

/// </summary>

/// <param name="keyName">Имя ключа</param>

/// <param name="valueName">Имя параметра</param>

/// <param name="dwordResult">Значение параметра</param>

/// <returns>B
успешной случае возвращается

/// ERROR_SUCCESS</returns>

public static int GetDWORDValue(UIntPtr root, string keyName,

string valueName, ref uint dwordResult) {

UIntPtr hkey = UintPtr.Zero;

try {

int result = RegOpenKeyEx(root, keyName, 0, KeyAccess.None, ref hkey);

if (ERROR_SUCCESS != result) return result;

byte[] bytes = null;

uint length = 0;

KeyType keyType = KeyType.None;

result = RegQueryValueEx(hkey, valueName, IntPtr.Zero, ref keyType, null,

ref length);

bytes = new byte[Marshal.SizeOf(typeof(uint))];

length = (uint)bytes.Length;

keyType = KeyType.None;

result = RegQueryValueEx(hkey, valueName, IntPtr.Zero, ref keyType, bytes,

ref length);

if (ERROR_SUCCESS != result) return result;

dwordResult = BitConverter.ToUInt32(bytes, 0);

return ERROR_SUCCESS;

} finally {

if (UIntPtr.Zero != hkey) {

RegCloseKey(hkey);

}

}

}

/// <summary>

/// Удаляет заданный параметр из раздела реестра

/// </summary>

/// <param name="keyName">Имя ключа</param>

/// <param name="valueName">Имя параметра</param>

/// <returns>В успешном случае возвращается

/// ERROR_SUCCESS</returns>

public static int DeleteValue(UIntPtr root, string keyName,

string valueName) {

UIntPtr hkey = UIntPtr.Zero;

try {

int result = RegOpenKeyEx(root, keyName, 0, KeyAccess.None, ref hkey);

if (ERROR_SUCCESS != result) return result;

return RegDeleteValue(hkey, valueName);

} finally {

if (UIntPtr.Zero != hkey) {

RegCloseKey(hkey);

}

Поделиться:
Популярные книги

70 Рублей

Кожевников Павел
1. 70 Рублей
Фантастика:
фэнтези
боевая фантастика
попаданцы
постапокалипсис
6.00
рейтинг книги
70 Рублей

Переписка 1826-1837

Пушкин Александр Сергеевич
Документальная литература:
публицистика
5.00
рейтинг книги
Переписка 1826-1837

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Корнев Павел Николаевич
Фантастика:
фэнтези
героическая фантастика
5.50
рейтинг книги
Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель

Честное пионерское! Часть 4

Федин Андрей Анатольевич
4. Честное пионерское!
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Честное пионерское! Часть 4

Здравствуйте, я ваша ведьма! Трилогия

Андрианова Татьяна
Здравствуйте, я ваша ведьма!
Фантастика:
юмористическая фантастика
8.78
рейтинг книги
Здравствуйте, я ваша ведьма! Трилогия

Мое ускорение

Иванов Дмитрий
5. Девяностые
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Мое ускорение

Прорвемся, опера! Книга 2

Киров Никита
2. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прорвемся, опера! Книга 2

Невеста напрокат

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Невеста напрокат

Если твой босс... монстр!

Райская Ольга
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Если твой босс... монстр!

Приватная жизнь профессора механики

Гулиа Нурбей Владимирович
Проза:
современная проза
5.00
рейтинг книги
Приватная жизнь профессора механики

Попытка возврата. Тетралогия

Конюшевский Владислав Николаевич
Попытка возврата
Фантастика:
альтернативная история
9.26
рейтинг книги
Попытка возврата. Тетралогия

Измена. Отбор для предателя

Лаврова Алиса
1. Отбор для предателя
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Отбор для предателя

Аргумент барона Бронина 3

Ковальчук Олег Валентинович
3. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 3