Сейчас на форуме: hgdagon, asfa, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› Запись в реестр
Посл.ответ Сообщение

Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 20 сентября 2006 03:24 · Поправил: SeQuick
· Личное сообщение · #1

Вообщем надо создать раздел в реестре. Начал пробовать и тут веселее: апя выдаёт код ошибки 6 (Неверный дескриптор) но по- моему всё верно Подскажите, что не так? Делаю:

Declare Function RegCreateKeyEx Lib "advapi32" Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As Long, ByVal samDesired As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long

Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type

Private Sub CheckDisp_Click()
Dim hregkey As Long 'дескриптор для раздела
Dim secattr As SECURITY_ATTRIBUTES
Dim neworused As Long
secattr.nLength = Len(secattr)
secattr.lpSecurityDescriptor = 0
secattr.bInheritHandle = True
result = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\System", 0, "", 0, KEY_WRITE, secattr, hregkey, neworused)
RegCloseKey (hregkey)
End Sub


А с идентификатором раздела то есть &h80000001 (HKEY_CURRENT_USER) возвращает значение 87 (неверный параметр) В чём загвоздка?




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 20 сентября 2006 07:42
· Личное сообщение · #2

SeQuick
Где-то в инете видел я автоматический генератор API для Бейсика, (правда, не помню, где, но такая прога есть, если хочешь, через пару дней кину крэкнутый вариант), так вот, там просто выбираешь функцию, а она тебе сразу синтаксис свой генерит. Поищи или пиши на мыло crzyangel88@mail.ru

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 20 сентября 2006 07:44
· Личное сообщение · #3

SeQuick
crazyangel88@mail.ru

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 79.4 (постоянный)
Активность: 0.090
Статус: Участник

Создано: 20 сентября 2006 08:23
· Личное сообщение · #4

объявляй в модуле:
Public Const HKEY_CURRENT_USER = &H80000001
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
Public Sub SaveKey(Hkey As Long, strPath As String)
Dim keyhand&
r = RegCreateKey(Hkey, strPath, keyhand&)
r = RegCloseKey(keyhand&)
End Sub
добавляй в кнопку обработки события:
Private Sub Command1_Click()
SaveKey HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\System"
End Sub



Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 21 сентября 2006 00:11
· Личное сообщение · #5

d1v0x пишет:
объявляй в модуле:
Public Const HKEY_CURRENT_USER = &H80000001
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
Public Sub SaveKey(Hkey As Long, strPath As String)
Dim keyhand&
r = RegCreateKey(Hkey, strPath, keyhand&)
r = RegCloseKey(keyhand&)
End Sub
добавляй в кнопку обработки события:
Private Sub Command1_Click()
SaveKey HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Policies\System"
End Sub


Пасибо огромное! Всё работает как часы.


 eXeL@B —› Программирование —› Запись в реестр
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати