Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/121: Рейтинг темы: голосов - 121, средняя оценка - 4.94
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321

Чтение и запись реестра Windows с VBA

28.03.2011, 12:51. Показов 22612. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решил разобраться в теме: Чтение и запись реестра Windows с VBA
Читаю с материалов сети:

VBA предлагает функции GetSetting, SaveSetting, GetAllSettings и DeleteSetting для чтения и записи реестра Windows. (Более подробную информацию см. в Microsoft VBA помощь для этих функций или смотреть на MSDN)

Но, к сожалению, вы не можете получить доступ весь реестр, только путь HKEY_CURRENT_USER \ Software \ VB и VBA программы Settings \. Таким образом, вы можете создавать, сохранять и читать пользовательские настройки для ваших собственных приложений Visual Basic, но вы не можете получить доступ настройки для любого другого приложения (например, каталог загрузки по умолчанию для Internet Explorer, который, кстати, является HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Download Directory)

К счастью, при программировании с помощью VBA, вы не ограничены в функциональности, что предлагает VBA. Используя Windows особенности сценариев, вы можете получить доступ ко всему Window Registry довольно легко.
Чтение из реестра:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'reads the value for the registry key i_RegKey
'if the key cannot be found, the return value is ""
'считывает значение для реестра i_RegKey
'если ключ не может быть найден, возвращается значение ""
 
 
Function RegKeyRead(i_RegKey As String) As String
Dim myWS As Object
 
  On Error Resume Next
  'access Windows scripting
  Set myWS = CreateObject("WScript.Shell")
  'read key from registry
  RegKeyRead = myWS.RegRead(i_RegKey)
End Function
Подскажите в функцию RegKeyRead в переменную i_RegKey, что просит? потом двинусь дальше, спасибо
2
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.03.2011, 12:51
Ответы с готовыми решениями:

Запись и чтение реестра
Помогите, нужно сделать программу, которая при первом запуске просит ввести ключ активации, (ключи пропишу в коде) если ключ верный то...

Запись и чтение текста из реестра
как записать, а потом прочитать текст в реестре

Запись и чтение параметров реестра
Я сделал программу, которую надо регистрировать, и мне надо сделать так, чтобы каждый раз не приходилось вводить пароль заново.

10
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
28.03.2011, 22:20  [ТС]
спасибо, файл может потеряться, а запись останется, буду разбираться

API
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Public Const REG_SZ As Long = 1
Public Const REG_DWORD As Long = 4
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_USERS = &H80000003
 
Public Const ERROR_NONE = 0
Public Const ERROR_BADDB = 1
Public Const ERROR_BADKEY = 2
Public Const ERROR_CANTOPEN = 3
Public Const ERROR_CANTREAD = 4
Public Const ERROR_CANTWRITE = 5
Public Const ERROR_OUTOFMEMORY = 6
Public Const ERROR_INVALID_PARAMETER = 7
Public Const ERROR_ACCESS_DENIED = 8
Public Const ERROR_INVALID_PARAMETERS = 87
Public Const ERROR_NO_MORE_ITEMS = 259
Public Const KEY_ALL_ACCESS = &H3F
Public Const REG_OPTION_NON_VOLATILE = 0
 
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
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, ByVal lpSecurityAttributes As Long, phkResult As Long, lpdwDisposition As Long) As Long
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
Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Declare Function RegQueryValueExLong Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Long, lpcbData As Long) As Long
Declare Function RegQueryValueExNULL Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String)
Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String)    'Создание нового ключа
 
Public Function CreateNewKey(lPredefinedKey As Long, sNewKeyName As String)
    Dim hNewKey As Long
    Dim lRetVal As Long
    lRetVal = RegCreateKeyEx(lPredefinedKey, sNewKeyName, 0&, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, hNewKey, lRetVal)
    RegCloseKey (hNewKey)
End Function
 
'Запись данных в ключ
Public Function SetKeyValue(lPredefinedKey As Long, _
                            sKeyName As String, _
                            sValueName As String, _
                            vValueSetting As Variant, _
                            lValueType As Long)
    Dim lRetVal As Long
    Dim hKey As Long
 
    lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
    lRetVal = SetValueEx(hKey, sValueName, lValueType, vValueSetting)
 
    RegCloseKey (hKey)
End Function
 
Public Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As Long
    Dim lValue As Long
    Dim sValue As String
 
    Select Case lType
    Case REG_SZ
        sValue = vValue
        SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, sValue, Len(sValue))
    Case REG_DWORD
        lValue = vValue
        SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, lType, lValue, 4)
    End Select
End Function
 
'Возвращает значения записанные в ключе(т.е. чтение)
Public Function QueryValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)
    Dim lRetVal As Long
    Dim hKey As Long
    Dim vValue As Variant
 
    lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
    lRetVal = QueryValueEx(hKey, sValueName, vValue)
    QueryValue = vValue
    RegCloseKey (hKey)
End Function
 
Function QueryValueEx(ByVal lhKey As Long, ByVal szValueName As String, vValue As Variant) As Long
    Dim cch As Long
    Dim lrc As Long
    Dim lType As Long
    Dim lValue As Long
    Dim sValue As String
 
    On Error GoTo QueryValueExError
 
    'Определение размера и типа считываемых данных
    lrc = RegQueryValueExNULL(lhKey, szValueName, 0&, lType, 0&, cch)
    If lrc <> ERROR_NONE Then MsgBox "Данных (ключа) не существует!", vbExclamation, Form1.Caption
    Select Case lType
        'Для символьных
    Case REG_SZ:
        sValue = String(cch, 0)
        lrc = RegQueryValueExString(lhKey, szValueName, 0&, lType, sValue, cch)
        If lrc = ERROR_NONE Then
            vValue = Left$(sValue, cch)
        Else
            vValue = Empty
        End If
        'Для числовых
    Case REG_DWORD:
        lrc = RegQueryValueExLong(lhKey, szValueName, 0&, lType, lValue, cch)
        If lrc = ERROR_NONE Then vValue = lValue
        'Для остальных не поддержанных типов данных
    Case Else
        lrc = -1
    End Select
QueryValueExExit:
    QueryValueEx = lrc
    Exit Function
QueryValueExError:
    Resume QueryValueExExit
End Function
 
'Удаление значений ключа
Public Function DeleteValue(lPredefinedKey As Long, sKeyName As String, sValueName As String)
    Dim lRetVal As Long
    Dim hKey As Long
 
    lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, KEY_ALL_ACCESS, hKey)
    lRetVal = RegDeleteValue(hKey, sValueName)
    RegCloseKey (hKey)
End Function
 
'Удаление ключа
Public Function DeleteKey(lPredefinedKey As Long, sKeyName As String)
    Dim lRetVal As Long
    lRetVal = RegDeleteKey(lPredefinedKey, sKeyName)
End Function
Модуль

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Sub CmdCreate()
   CreateNewKey HKEY_CURRENT_USER, "VB6"
   
   'Можно создать и подключи
   
'   CreateNewKey HKEY_CURRENT_USER, "VB6\RegistryKey"
'   CreateNewKey HKEY_LOCAL_MACHINE, "VB6\RegistryKey"
End Sub
 
Sub CmdRecord()
   Dim sPath As String
   
   sPath = "Software\Microsoft\Office\14.0\Excel\Security"
   SetKeyValue HKEY_CURRENT_USER, sPath, "AccessVBOM", 1, REG_DWORD
   
   '   REG_SZ   REG_DWORD
End Sub
 
Sub CmdRead()
   Dim sPath As String
   
   sPath = "Software\Microsoft\Office\14.0\Excel\Security"
   MsgBox QueryValue(HKEY_CURRENT_USER, sPath, "AccessVBOM")
End Sub
 
Sub CmdDelData()
   'Удаление данных из ключа
   DeleteValue HKEY_CURRENT_USER, "VB6", "Program"
End Sub
 
Sub CmdDelKey()
   'Удаление ключа
'   DeleteKey HKEY_CURRENT_USER, "VB6\RegistryKey"
   DeleteKey HKEY_CURRENT_USER, "VB6"
End Sub
 
'-----------------------------------------------------------------------------
'"HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\AccessVBOM"
Sub ToggleVBOM()
   Dim iVal As Byte
   Dim sPath As String
   
   sPath = "Software\Microsoft\Office\14.0\Excel\Security"
   
   iVal = QueryValue(HKEY_CURRENT_USER, sPath, "AccessVBOM") 'читаем из реестра
   iVal = (iVal + 1) Mod 2 ' 0 или 1
   SetKeyValue HKEY_CURRENT_USER, sPath, "AccessVBOM", iVal, REG_DWORD 'записываем
End Sub
Добавлено через 18 минут
'что-то немного не то, мне надо - например есть папка реестра HKEY_CURRENT_USER
в ней есть папка Software, сначала бы считать все папки этой папки Software, и всё что находится в ней, как? подскажите скрипт
1
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
30.03.2011, 14:02
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Пример перечисления разделов в HKEY_CURRENT_USER\Software, то, что хотел получить:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Option Explicit
 
Private Const MAX_PATH As Long = 260
 
Private Const HKEY_CLASSES_ROOT As Long = &H80000000
Private Const HKEY_CURRENT_USER As Long = &H80000001
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Const HKEY_USERS As Long = &H80000003
Private Const HKEY_PERFORMANCE_DATA As Long = &H80000004
Private Const HKEY_CURRENT_CONFIG As Long = &H80000005
 
Private Const KEY_READ As Long = &H20019
 
Private Const ERROR_SUCCESS As Long = 0
 
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
 
Private Declare Function RegEnumKeyEx Lib "advapi32" Alias "RegEnumKeyExA" _
    (ByVal hKey As Long, _
    ByVal dwIndex As Long, _
    ByVal lpName As String, _
    lpcbName As Long, _
    ByVal lpReserved As Long, _
    ByVal lpClass As String, _
    lpcbClass As Long, _
    lpftLastWriteTime As FILETIME) As Long
 
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" ( _
    ByVal hKey As Long, _
    ByVal pSubKey As String, _
    ByVal ulOptions As Long, _
    ByVal samDesired As Long, _
    phkResult As Long) As Long
 
 
Private Sub GetAssociatedFileListing()
    Dim dwIndex As Long
    Dim sTypeName As String
    Dim sSubkey As String * MAX_PATH
    Dim sClass As String * MAX_PATH
    Dim ft As FILETIME
    Dim lSubkey As Long
    Dim hKey As Long
    
    If RegOpenKeyEx(HKEY_CURRENT_USER, "Software", 0, KEY_READ, hKey) <> ERROR_SUCCESS Then Exit Sub
    
    lSubkey = MAX_PATH
    Do While RegEnumKeyEx(hKey, _
                          dwIndex, _
                          sSubkey, _
                          lSubkey, _
                          0, sClass, _
                          MAX_PATH, ft) = ERROR_SUCCESS
        Debug.Print Left(sSubkey, lSubkey)
        lSubkey = MAX_PATH
        dwIndex = dwIndex + 1
    Loop
End Sub
2
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
30.03.2011, 20:52  [ТС]
Спасибо
Хотел спросить, ну есть в папке HKEY_CURRENT_USER, Software например прога 7 Zip, где там визуально можно глянуть когда она установлена и как это сделать програмно?
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
30.03.2011, 20:59
В данном случае универально можно ответить на вопрос, когда была создана ветка реестра. Дата и время хранятся в переменной ft в последнем примере, тип переменной FILETIME, то есть он отличается от встроенного типа данных Data в VB(A). Для работы отдельно с днем, месяцем, годом, днем недели, часом, минутой, секундой этот тип удобней сначала перевести в структуру SYSTEMTIME при помощи функции FileTimeToSystemTime.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
30.03.2011, 21:20  [ТС]
так, а что я пишу: Программа= Left(sSubkey, lSubkey) & " " & ft, ругается на последний &
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
30.03.2011, 23:20
Нестандартные типы данных не преобразуются неявным образом в тип String, что ты и пытался сделать.

Добавлено через 33 минуты
Делай так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Option Explicit
 
Private Const MAX_PATH As Long = 260
 
Private Const HKEY_CLASSES_ROOT As Long = &H80000000
Private Const HKEY_CURRENT_USER As Long = &H80000001
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Const HKEY_USERS As Long = &H80000003
Private Const HKEY_PERFORMANCE_DATA As Long = &H80000004
Private Const HKEY_CURRENT_CONFIG As Long = &H80000005
 
Private Const KEY_READ As Long = &H20019
 
Private Const ERROR_SUCCESS As Long = 0
 
Private Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
 
Private Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
End Type
 
Private Declare Function RegEnumKeyEx Lib "advapi32" Alias "RegEnumKeyExA" _
    (ByVal hKey As Long, _
    ByVal dwIndex As Long, _
    ByVal lpName As String, _
    lpcbName As Long, _
    ByVal lpReserved As Long, _
    ByVal lpClass As String, _
    lpcbClass As Long, _
    lpftLastWriteTime As FILETIME) As Long
 
Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" ( _
    ByVal hKey As Long, _
    ByVal pSubKey As String, _
    ByVal ulOptions As Long, _
    ByVal samDesired As Long, _
    phkResult As Long) As Long
 
Private Declare Function FileTimeToSystemTime Lib "kernel32" ( _
    lpFileTime As FILETIME, _
    lpSystemTime As SYSTEMTIME) As Long
 
 
Private Sub GetAssociatedFileListing()
    Dim dwIndex As Long
    Dim sTypeName As String
    Dim sSubkey As String * MAX_PATH
    Dim sClass As String * MAX_PATH
    Dim ft As FILETIME
    Dim stm As SYSTEMTIME
    Dim lSubkey As Long
    Dim hKey As Long
    Dim sDateTime As String
    
    If RegOpenKeyEx(HKEY_CURRENT_USER, "Software", 0, KEY_READ, hKey) <> ERROR_SUCCESS Then Exit Sub
    
    lSubkey = MAX_PATH
    Do While RegEnumKeyEx(hKey, _
                          dwIndex, _
                          sSubkey, _
                          lSubkey, _
                          0, sClass, _
                          MAX_PATH, ft) = ERROR_SUCCESS
        Call FileTimeToSystemTime(ft, stm)
        sDateTime = Format(CDate(stm.wDay & "." & stm.wMonth & "." & stm.wYear & " " & stm.wHour & ":" & stm.wMinute & ":" & stm.wSecond), "dd.mm.yyyy hh:mm:ss")
        Debug.Print Left(sSubkey, lSubkey), sDateTime
        lSubkey = MAX_PATH
        dwIndex = dwIndex + 1
    Loop
End Sub
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
31.03.2011, 08:32  [ТС]
Спасибо, большое, благодаря Вам я узнал, что у меня в реестре находятся папки:
nrvystmwcysyycqpevikeffmznimkkasvwsrenzk ycxfxtlsgypsfadp phqghumeaylnlfdxfircvscxggbwkfnqduxwfnfo zvsrtkjprepggxrpnrvystmw
И они реально существуют, что это может быть за ересь?
Понимаю, что Вы можете не знать, так как вопрос к хозяину компа, но предположение есть какое-то?
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
31.03.2011, 16:05
Это где, в HKEY_CURRENT_USER\Software или в другом месте? Надо посмотреть, что внутри этих папок, когда они были созданы, есть ли смысловая наглузка в папках, которые внутри папок и т.п. Может быть либо чьим-то ключом защиты, к примеру какой-то триальной или коммерчески лицензируемой программы, может быть следом вирусни - действующей, либо уже удаленной. В любом случае, прятать такие страшенькие ключи следует не в HKEY_CURRENT_USER\Software, а подальше.

P.S. Кнопка "Спасибо" слегка выше, чем ты пишешь
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,321
31.03.2011, 16:37  [ТС]
Были написаны в строчку, разделю
nrvystmwcysyycqpevikeffmznimkkasvwsrenzk ycxfxtlsgypsfadp
от 28.06.2010 16:09:20
и
phqghumeaylnlfdxfircvscxggbwkfnqduxwfnfo zvsrtkjprepggxrpnrvystmw
от 04.07.2010 09:39:53
В них обоих, есть только одна папка, и её имя такое же как и самой папки, а уже в этих папках
REG_SZ значение не присвоено
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
31.03.2011, 16:47
Если не нравятся - сделай их резервную копию (выделить и пр.кн.мыши "Экспортировать ветку реестра" в regedit.exe), а затем можешь смело удалять. Попробуешь разные программы, если что-то перестанет работать - восстановишь ветки, щелкнув по reg-файлу и разрешишь восстановть эти ветки как было. Для каждой из непонятных веток сделаешь по 1 файлу.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2011, 16:47
Помогаю со студенческими работами здесь

Работа с ключами реестра: Создание, чтение, запись
Возник вопрос, какая самая простая и надёжная функция для работы с ключами реестра существует? :scratch: Речь идёт про Visual Studio 2013....

Как предотвратить windows xp от потери реестра? или поломки реестра...
Хочу узнать как предотвратить windows xp от потери реестра. Ато уже как то надоело раз в месяц восстанавливать его..

Чтение из реестра
Привет всем, замонался - не читает функция ключ в реестре и всё тут (ключ в реестре имеется)... Вот код: uses ...Registry, ...

Чтение из реестра
Добрый день, я пользуюсь VS 2010 С++. Я пытаюсь считать из реестра некоторые данные. Все бы хорошо но информация о версии BIOS имеет тип...

Чтение реестра
Доброго времени суток друзья, имеется процедура чтения из реестра и ее вызов соответственно. При первом вызове не считывает данные, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru