Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

hccr = RegistryKey.OpenRemoteBaseKey(RegistryHive.ClassesRoot, PcName)

На следующем этапе осуществляется поиск созданных CLSID-папок сценарием. Для того чтобы они отличались от других ярлыков, необходимо внутрь CLSID добавить какой-либо флаг: параметр Flag со значением 1. Дело в том, что разные программы, такие как Nero 7, Active Sync, и другие программы для связи компьютера с сотовым телефоном, тоже создают различные объекты в папке «Мой Компьютер». Наша задача не повредить.

Целесообразно создавать флаг в CLSID, находящемся в разделе HKLMSoftwareMicrosoftCurrentVersionExplorerMyComputerNameSpace (см. листинг 4). В приведенном листинге для получения доступа к папке используется функция OpenSubKey(), аргумент которой – путь в реестре к анализируемой папке. Список подпапок получают с помощью свойства GetSubKeyNames, которое возвращает соответствующий массив данных. Для чтения параметра вызывают функцию GetValue(Flag).

Листинг 4. Определение списка значений CLSID, созданных программным способом

 

Public Key1 As String = "SOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace"

Public Key2 As String = "clsid"

Dim i As Integer = 0

Dim Guids As String()

Dim a As String() = hklm.OpenSubKey(Key1).GetSubKeyNames

For Each CLSID As String In a

    Dim c As RegistryKey = hklm.OpenSubKey(Key1).OpenSubKey(CLSID)

    Dim d As String = c.GetValue(FlagKey)

    If StrComp(UCase(d), UCase(FlagValue)) = 0 Then

           ReDim Preserve Guids(i)

           Guids(i) = CLSID

           i += 1

    End If

Next

После того как список определен, целесообразно удалить все определенные процедурой подпапки и создать новые. Это связано с тем, что пути могут измениться, для того чтобы упростить листинг, рекомендуется это сделать.

Осталось рассмотреть две процедуры – удаление ветви реестра и запись параметров. Удаление параметров происходит в цикле (см. листинг 5). Будьте внимательны и удаляйте обе ветви реестра, которые создает сценарий. Не создавайте из реестра помойку – в конечном итоге это пагубно скажется на работоспособности рабочей станции.

Листинг 5. Удаление ветви реестра

 

For Each GUID As String In DetectGUID()

    hklm.OpenSubKey(Key1, True).DeleteSubKeyTree(GUID)

    hccr.OpenSubKey(Key2, True).DeleteSubKeyTree(GUID)

Next

Для записи значений в реестр используется функция SetValue. При записи данных есть одна тонкость. Все значения имеют тип данных REG_SZ, и только один – REG_BINARY. Запись бинарных данных осуществляется из массива, элементы которого – бинарные числа (см. листинг 6).

Листинг 6. Запись данных в реестр

 

hklm.OpenSubKey(Key1, True).CreateSubKey(RegistryPath).SetValue(FlagKey, FlagValue, RegistryValueKind.String)

hccr.OpenSubKey(Key2, True).CreateSubKey(RegistryPath).SetValue("", GroupValues(0))

Dim temp_array As Byte() = {0, 1, 0, 160}


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100