Article ID: 914357
Last Review: May 19, 2006
Revision: 1.0
ВАЖНО: Эта статья содержит информацию по работе с реестром. Перед внесением изменений в реестр убедитесь, что сохранили резервную копию и понимаете знаете как восстановить реестр в случае возникновения проблем. Информацию о создании резервной копии и восстановлении реестра можно найти в KB256986.
ВВЕДЕНИЕ
Эта статья описывает как шаг за шагом создать приложение, позволяющее получить список установленного программного обеспечения, используя пространство имен My в Microsoft Visual Basic 2005. Эта статья также включает код примера, иллюстрирующий основные обсуждаемые моменты.
Замечание Для получения доступа к некоторым веткам реестра могут понадобится права администратора.
БОЛЕЕ ПОДРОБНАЯ ИНФОРМАЦИЯ
Требования
Должно быть установлено следующее ПО:
• Microsoft Windows 2000, Microsoft Windows XP, or Microsoft Windows Server 2003
• Microsoft Visual Basic 2005
Статья предполагает знакомство со следующими темами:
• Программирование на Visual Basic 2005
• Системный реестр Windows
Шаг 1: Создание консольного приложения
Чтобы создать консольное приложение следуйте следующим шагам:
1. Запустите Microsoft Visual Studio 2005.
2. В меню File, выберите New, и щелкните на Project.
3. Выберите Visual Basic, Console Application, введите имя приложения и нажмите OK.
Примечание Новое приложение создано файл Module1.vb отображается в окне редактирования исходного кода.
Шаг 2: Получение списка установленного ПО
ПРЕДУПРЕЖДЕНИЕ: Неправильное использование системного реестра Windows может привести к серьезным проблемам, требующим переустановку операционной системы. Microsoft не может гарантировать, что вы сможете решить возможную проблему с реестром самостоятельно.
Список установленного ПО находится в следующей ветке системного реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Добавьте следующий код в метод Main для получения списка установленного ПО:
- Код: Выделить всё
Dim hklm As Microsoft.Win32.RegistryKey
Dim software As Microsoft.Win32.RegistryKey
Dim subkeys() As String
Dim keyname As String hklm = My.Computer.Registry.LocalMachine
software = hklm.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") subkeys = software.GetSubKeyNames()
Примечание Этот код хранит список уставноленного ПО в качестве массива в переменной subkeys. Переменная keyname используется для отображения списка в шаге 3.variable is used to display the names of these products in step 3.
Шаг 3: Вывод списка установленного ПО на экран
Чтобы вывести список установленного ПО на экран, добавьте следующий код в метод Main.
- Код: Выделить всё
For Each keyname In subkeys
Console.WriteLine(keyname)
Next
Шаг 4: Завершение приложения
Чтобы завершить приложение добавьте следующий код в метод Main.
- Код: Выделить всё
Console.WriteLine("press ENTER to exit")
Console.ReadLine()
Полный листинг кода для Module1.vb приведен ниже:
- Код: Выделить всё
Module Module1 Sub Main()
Dim hklm As Microsoft.Win32.RegistryKey
Dim software As Microsoft.Win32.RegistryKey
Dim subkeys() As String
Dim keyname As String hklm = My.Computer.Registry.LocalMachine
software = hklm.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") subkeys = software.GetSubKeyNames()
For Each keyname In subkeys
Console.WriteLine(keyname)
Next
Console.WriteLine("press ENTER to exit")
Console.ReadLine()
End Sub
End Module
Шаг 5: Проверка работоспособности кода
1. В меню Build выберите Build Solution.
2. В меню Debug нажмите Start для запуска приложения.
Примечание Должно появиться окно консольного приложения со списком установленного ПО.
3. Для выходя из приложения нажмите ENTER.
ССЫЛКИ
Больше информации о работе с реестром Windows вы можете найти на сайта Microsoft Developer Network (MSDN) Web site:
http://msdn.microsoft.com/library/en-us ... gistry.aspИнформацию об использовании объекта My для доступа к реестру Windows вы можете найти на слудующем сайте:
http://whidbey.msdn.microsoft.com/libra ... 29cc64.asp