Сейчас на форуме: hgdagon, asfa, bartolomeo (+5 невидимых) |
eXeL@B —› Программирование —› Запись в реестр |
Посл.ответ | Сообщение |
|
Создано: 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 (неверный параметр) В чём загвоздка? |
|
Создано: 20 сентября 2006 07:42 · Личное сообщение · #2 SeQuick Где-то в инете видел я автоматический генератор API для Бейсика, (правда, не помню, где, но такая прога есть, если хочешь, через пару дней кину крэкнутый вариант), так вот, там просто выбираешь функцию, а она тебе сразу синтаксис свой генерит. Поищи или пиши на мыло crzyangel88@mail.ru ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 20 сентября 2006 07:44 · Личное сообщение · #3 |
|
Создано: 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 |
|
Создано: 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 —› Программирование —› Запись в реестр |