Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Открытие директории и запись в реестр...

393
20 сентября 2003 года
Couger
128 / / 13.04.2003
Есть какая-то форма с кнопкой btnOpen. Подскажите, пожалуйста, как сделать так, чтоб при нажатии на эту кнопку открывалась корневая директория CD, а сама форма закрывалась (если форма, т.е. скомпилированный exe файл, находится в папке на этом диске).

Как можно записать данные в реестр, но не в отведенное для приложений VB место, а в любое другое?

Всем спасибо за участие…
258
22 сентября 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Couger
Есть какая-то форма с кнопкой btnOpen. Подскажите, пожалуйста, как сделать так, чтоб при нажатии на эту кнопку открывалась корневая директория CD, а сама форма закрывалась (если форма, т.е. скомпилированный exe файл, находится в папке на этом диске).



Особых проблем не вижу. Надо просто определить путь к своему exe файлу и вытащить из него имя диска. У меня ща нет VB6, не могу уточнить, но там там было такое свойство App.Path или что-то в этом духе, вообщем возвращало полный путь твоего запущенного приложения, без всякого геморроя.

Цитата:
Originally posted by Couger

Как можно записать данные в реестр, но не в отведенное для приложений VB место, а в любое другое?



Для записи в реестр (создания своих ключей/разделов, изменения, чтения) существуют winAPI функции и масса разных классов-оберток, которые предоставлюят более простые функции для работы с реестром (в инете дофига валяются)

Вот например примерчик с winAPI:

Код:
Const HKEY_CURRENT_USER = &H80000001
Const REG_OPTION_BACKUP_RESTORE = 4     ' open for backup or restore
Const REG_OPTION_VOLATILE = 1           ' Key is not preserved when system is rebooted
Const REG_OPTION_NON_VOLATILE = 0       ' Key is preserved when system is rebooted
Const STANDARD_RIGHTS_ALL = &H1F0000
Const SYNCHRONIZE = &H100000
Const READ_CONTROL = &H20000
Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
Const KEY_CREATE_LINK = &H20
Const KEY_CREATE_SUB_KEY = &H4
Const KEY_ENUMERATE_SUB_KEYS = &H8
Const KEY_NOTIFY = &H10
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
Const KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
Const KEY_EXECUTE = (KEY_READ)
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))
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Private Declare Function RegCreateKeyEx Lib "advapi32.dll" 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 Any, phkResult As Long, lpdwDisposition As Long) As Long
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal Reserved As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Sub Form_Load()
    Dim Result As Long
    'Check if the specified key exists
    RegOpenKeyEx HKEY_CURRENT_USER, "Мой_ключик", 0, KEY_ALL_ACCESS, Result
    'If the key doesn't exist, we create it
    If Result = 0 Then
        'Create a new key
        RegCreateKeyEx HKEY_CURRENT_USER, "Мой_ключик", 0, "REG_DWORD", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, ByVal 0&, Result, Ret
        If Result = 0 Then
            MsgBox "Error while creating the Key!!"
            Exit Sub
        End If
    End If
    'Delete the key
    RegDeleteKey Result, ""
    'close the handle
    RegCloseKey Result
End Sub
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог