Вход/Регистрация
Программирование КПК и смартфонов на .NET Compact Framework
вернуться

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

Шрифт:

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);

}

}

}

/// <summary>

/// Типы ключей

/// </summary>

public enum KeyType : uint {

None = 0,

String = 1,

Binary = 3,

Dword = 4,

}

/// <summary>

/// Тип доступа

/// </summary>

public enum KeyAccess : uint {

None = 0x0000,

QueryValue = 0x0001,

SetValue = 0x0002,

CreateSubKey = 0x0004,

EnumerateSubKeys = 0x0008,

Notify = 0x0010,

CreateLink = 0x0020

}

/// <summary>

/// HKEY_CLASSES_ROOT

/// </summary>

public static UIntPtr HKCR = new UintPtr(0x80000000);

/// <summary>

/// HKEY_CURRENT_USER

/// </summary>

public static UIntPtr HKCU = new UIntPtr(0x80000001);

/// <summary>

/// HKEY_LOCAL_MACHINE

/// </summary>

public static UIntPtr HKLM = new UIntPtr(0x80000002);

/// <summary>

/// HKEY_USERS

/// </summary>

public static UIntPtr HKU = new UintPtr(0x80000003);

/// <summary>

/// Возвращаемое значение в случае успеха

/// </summary>

public const int ERROR_SUCCESS = 0;

/// <summary>

/// Функция для создания заданного раздела реестра. Если раздел

  • Читать дальше
  • 1
  • ...
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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