Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Может ли код Visual Basic'a изменить реестр?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Может ли код Visual Basic'a изменить реестр?
Имя
Сообщение << Старые топики   Новые топики >>
Может ли код Visual Basic'a изменить реестр? - 2010-06-06 15:03:01.310000   
i n f e r i o n

Сообщений: 37
Оценки: 0
Присоединился: 2010-04-06 17:38:32.666666
Программа должна изменить значение этой ветки реестра [HKLM\Software\Microsoft\CurrentVersion\Winlogon] "Shell". Способен ли Visual Basic на это?&nbsp; [sm=bc.gif]
Post #: 1
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-06 18:08:27.183333   
Родригес

Сообщений: 444
Оценки: 0
Присоединился: 2010-04-16 20:28:58.240000
Уже ведь ответили.) http://forum.xakep.ru/fb.aspx?m=1806941
Post #: 2
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-06 20:50:11.470000   
i n f e r i o n

Сообщений: 37
Оценки: 0
Присоединился: 2010-04-06 17:38:32.666666
Не работает. Никаких ошибок, но и параметр реестра не меняется. Вот я и спрашиваю, может Visual Basic вообще на это не способен? ))
Post #: 3
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-07 00:44:07.316666   
_ruzmaz_

Сообщений: 105
Оценки: 0
Присоединился: 2009-08-22 18:26:07.173333
способен)

в отдельном модуле пиши
Public Const HKEY_LOCAL_MACHINE = &H80000002 Public Const SYNCHRONIZE = &H100000 Public Const STANDARD_RIGHTS_ALL = &H1F0000 Public Const KEY_SET_VALUE = &H2 Public Const KEY_QUERY_VALUE = &H1 Public Const KEY_NOTIFY = &H10 Public Const KEY_ENUMERATE_SUB_KEYS = &H8 Public Const KEY_CREATE_SUB_KEY = &H4 Public Const KEY_CREATE_LINK = &H20 Public Const KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY Or KEY_CREATE_LINK) And (Not SYNCHRONIZE)) Public Const REG_SZ = 1 Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As Any, ByVal cbData As Long) As Long Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
в коде формы пишешь так
Private Sub Command1_Click() Dim hKey As Long Dim szValue As String Dim dwValueSize As Long hKey = 0 szValue = "MyShell.exe" dwValueSize = Len(szValue) RegOpenKeyEx HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", 0, KEY_ALL_ACCESS, hKey RegSetValueEx hKey, "Shell", 0, REG_SZ, szValue, dwValueSize RegCloseKey hKey End Sub
Post #: 4
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-07 00:57:06.340000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Права должны быть ;)
Post #: 5
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-07 01:26:08.816666   
i n f e r i o n

Сообщений: 37
Оценки: 0
Присоединился: 2010-04-06 17:38:32.666666
_ruzmaz_, что это за код? [sm=bw.gif]

_SaZ_, права есть. [sm=ab.gif]
Post #: 6
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-07 02:12:09.376666   
_ruzmaz_

Сообщений: 105
Оценки: 0
Присоединился: 2009-08-22 18:26:07.173333
В отдельном модуле проекта (bas файле) объявляются константы и заголовки функций, импортируемых из advapi32.dll, для работы с реестром (но только те, что нужны) - это первый фрагмент кода.
В обработчик нужного события добавляется второй фрагмент кода (точнее тот код, что между строками Private Sub … и End Sub), в нем все и происходит - открытие (получение хэндла hKey) нужного тебе ключа реестра (RegOpenKeyEx), изменение значения параметра Shell (RegSetValueEx), закрытие ключа (RegCloseKey).
Post #: 7
RE: Может ли код Visual Basic'a изменить реестр? - 2010-06-07 21:37:34.723333   
i n f e r i o n

Сообщений: 37
Оценки: 0
Присоединился: 2010-04-06 17:38:32.666666
Большое спасибо, все работает, ты мне очень помог! [sm=ay.gif]
Сори, что сразу не понял, просто не думал что код готовый будет. [sm=ag.gif]
Post #: 8
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Может ли код Visual Basic'a изменить реестр?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.