Программирование КПК и смартфонов на .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
рейтинг книги
Переписка 1826-1837
Документальная литература:
публицистика
5.00
рейтинг книги

Морской волк. 1-я Трилогия
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Экзорцист: Проклятый металл. Жнец. Мор. Осквернитель
Фантастика:
фэнтези
героическая фантастика
5.50
рейтинг книги
Честное пионерское! Часть 4
4. Честное пионерское!
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Здравствуйте, я ваша ведьма! Трилогия
Здравствуйте, я ваша ведьма!
Фантастика:
юмористическая фантастика
8.78
рейтинг книги
Мое ускорение
5. Девяностые
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Прорвемся, опера! Книга 2
2. Опер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Невеста напрокат
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Если твой босс... монстр!
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Приватная жизнь профессора механики
Проза:
современная проза
5.00
рейтинг книги

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