powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ВБА и реестр
25 сообщений из 25, страница 1 из 1
ВБА и реестр
    #37283601
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не буду мешать Дмитрий77
Итак ВБА и реестр
читаем в одном месте http://www.codenet.ru/progr/vbasic/registry1.php:
Реестр имеет иерархическую структуру и делится на шесть ветвей:

HKEY_CLASSES_ROOT. Здесь содержится информация о зарегистрированных типах файлов, а также информация для OLE и операций drag-and-drop.
HKEY_CURRENT_USER. В этом разделе хранятся настройки цветов, заставок, рабочего стола и т.д.
HKEY_LOCAL_MACHINE. Здесь содержится информация о аппаратных и программных настройках .
HKEY_CURRENT_CONFIG. В этом разделе содержится информация, относящаяся к компьютеру: драйверы, установленное программное обеспечение и его настройки
HKEY_DYN_DATA. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя.
Каждый, из перечисленных выше ветвей, содержит ключи (подразделы).

Может я считать не умею, пять насчитал
Двигаюсь дальше
1. Нажмите кнопку "Пуск"

2. Выберите меню "Выполнить"

3. В появившемся диалоговом окне, в текстовое поле впишем: regedit

4. Нажмем кнопку "ОК"
Вижу таки пять веток, где же шестая????
Закрыть средствами системного реестра возможность копирования информации с ПК на любой флеш-накопитель
Для этого нужно создать подключ StorageDevicePolicies
В правой верхней области окна создайте параметр DWORD (32 Bit) под названием WriteProtect
Кликнув по нему дважды, нужно задать для него значение «1»
Чтобы настройки вступили в силу, нужно перезагрузить компьютер
После этого будет активирована защита от записи на USB носитель
При попытке что-либо скопировать на «флешку» будет сообщение об ошибке
Снять защиту очень просто: достаточно изменить значение упомянутого выше параметра с «1 на «0» Журнал CHIP № 6 2011 г., стр. 114
Как я понял, речь идёт о ветке:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
стал вручную делать как создайте параметр DWORD сделать понял
а как под названием WriteProtect??????
Можно это сделать программно на ВБА?? Как??
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283647
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я эту процедуру вручную проделал в файле .reg получил, всего лишь
строки
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
"WriteProtect"=dword:00000001
против тех что у меня было ранее это мизер, чтобы это значило??
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283680
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>чтобы это значило??
понял, надо экспортировать когда ключи не раскрыты
после сделанных в реестре вручную изменений
В файле .reg можно обнаружить
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies]
"WriteProtect"=dword:00000001
где последняя цифра 1 означает, что
Закрыта средствами системного реестра возможность копирования информации с ПК на любой флеш-накопитель
делаем последнюю цифру 0 и копирование разрешено

Как это сделать програмно????????
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283691
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
также можно увидеть о прописанном в реестре сайте, устанавленном домашней страничкой в Internet Explorer'e, а в других браузерах можно???
А можно увидеть все закладки в InternetExplorer, ничего похожего на Букмаркс я не нашёл, а в других браузерах можно???
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283716
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тихо сам с собою я веду беседу...

Ципихович ЭндрюМожет я считать не умею, пять насчитал С читать умеете, а вот читать - нет. Посмотрите внимательнее на названия ветвей у себя в редакторе реестра. Статья, ссылку на которую Вы привели, относится к Win9x.

Пользователи делятся на тех, кто делает резервные копии, и на тех, кто будет их делать(с)
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283729
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища, к чему бы оно не относилось, автор пишет шееееееееесть ветвей и тут же их перечислят , но только пяяяяять
Короче как обычно нефиг читать надо пробовать
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283745
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробую
Код: plaintext
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.
Sub Reg_Реестр()

'имя основного раздела
    hKey = HKEY_LOCAL_MACHINE
    'имя ветки в основном разделе
    SubKey = "System\CurrentControlSet\Control"

    Dim Reply As String
    'название добавляемого подраздела должно начинаться с "\"
    Reply = "\" & "StorageDevicePolicies"

    On Error GoTo ErrorRoutineErr:

    If CreateRegKey(Reply) Then
        MsgBox$ "Создан новый подраздел"
    Else
        MsgBox$ "Не могу создать подраздел."
    End If
    Exit Sub

ErrorRoutineErr:
    MsgBox$ _
            "Ошибка: <" & Err.Number & "> - " & Err.Description, vbExclamation + vbOKOnly, _
                        "Созданиие подраздела"

End Sub

Function CreateRegKey(NewSubKey As String) As Boolean

     On Error GoTo ErrorRoutineErr:

     Dim phkResult As Long
     Dim SA As SECURITY_ATTRIBUTES

     CreateRegKey = (RegCreateKeyEx(hKey, SubKey & NewSubKey,  0 , "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, SA, phkResult, Create) = ERROR_SUCCESS)

     RegCloseKey phkResult
     Exit Function

ErrorRoutineErr:
     MsgBox "Ошибка: <" & Err.Number & "> - " & Err.Description, vbExclamation + vbOKOnly, "Созданиие подраздела"
     CreateRegKey = False

 End Function
Получаю облом, на строке SA As SECURITY_ATTRIBUTES, говорит, что функция не определена Что не так??
Вообще мне эта функция не нравится, такое словосочетание As SECURITY_ATTRIBUTES впервые вижу
Поправьте пожалуйста
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283773
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашёл листинг, там возможно много лишнего, но в последствии мне пригодится

Код: plaintext
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.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
Option Explicit

'Константы основных веток реестра
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006

'Registry Specific Access Rights
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_SET_VALUE = &H2
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_CREATE_LINK = &H20
Public Const KEY_ALL_ACCESS = &H3F

'Open/Create Options
Public Const REG_OPTION_NON_VOLATILE =  0 &
Public Const REG_OPTION_VOLATILE = &H1

'Key creation/open disposition
Public Const REG_CREATED_NEW_KEY = &H1
Public Const REG_OPENED_EXISTING_KEY = &H2

'Masks for the predefined standard access types
Public Const STANDARD_RIGHTS_ALL = &H1F0000
Public Const SPECIFIC_RIGHTS_ALL = &HFFFF

'Define severity codes
Public Const ERROR_SUCCESS =  0 &
Public Const ERROR_ACCESS_DENIED =  5 
Public Const ERROR_NO_MORE_ITEMS =  259 

'Predefined Value Types

'No value type
Public Const REG_NONE = ( 0 )
'Unicode nul terminated string
Public Const REG_SZ = ( 1 )
'Unicode nul terminated string w/enviornment var
Public Const REG_EXPAND_SZ = ( 2 )
'Free form binary
Public Const REG_BINARY = ( 3 )
'32-bit number
Public Const REG_DWORD = ( 4 )
'32-bit number (same as REG_DWORD)
Public Const REG_DWORD_LITTLE_ENDIAN = ( 4 )
'32-bit number
Public Const REG_DWORD_BIG_ENDIAN = ( 5 )
'Symbolic Link (unicode)
Public Const REG_LINK = ( 6 )
'Multiple Unicode strings
Public Const REG_MULTI_SZ = ( 7 )
'Resource list in the resource map
Public Const REG_RESOURCE_LIST = ( 8 )
'Resource list in the hardware description
Public Const REG_FULL_RESOURCE_DESCRIPTOR = ( 9 )
Public Const REG_RESOURCE_REQUIREMENTS_LIST = ( 10 )

'Structures Needed For Registry Prototypes
Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Boolean
End Type

Type FILETIME
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type

'API-функции
Public Declare Function RegCloseKey Lib "advapi32" ( _
ByVal hKey As Long) As Long

Public 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

Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String) As Long

Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String) As Long

Public Declare Function RegEnumKeyEx Lib "advapi32.dll" 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

Public Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" ( _
ByVal hKey As Long, _
ByVal dwIndex As Long, _
ByVal lpValueName As String, _
lpcbValueName As Long, _
ByVal lpReserved As Long, _
lpType As Long, _
ByVal lpData As String, _
lpcbData As Long) As Long
                                      
Public Declare Function RegOpenKeyEx Lib "advapi32" 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 RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal lpReserved As Long, _
ByRef lpType As Long, _
ByVal szData As String, _
ByRef lpcbData As Long) As Long

Public Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
ByVal szData As String, _
ByVal cbData As Long) As Long

'Объявление внутренних переменных
Private Create As Long
'

'Создание подраздела

Public Function CreateRegKey( _
hKey As Long, _
sSubKey As String, _
NewSubKey As String) As Boolean

    On Error GoTo ErrorRoutineErr:

    Dim phkResult As Long
    Dim SA As SECURITY_ATTRIBUTES

    CreateRegKey = (RegCreateKeyEx(hKey, sSubKey & "\" & _
    NewSubKey,  0 , "", REG_OPTION_NON_VOLATILE, _
    KEY_ALL_ACCESS, SA, phkResult, Create) = ERROR_SUCCESS)

    RegCloseKey phkResult
    
    Exit Function

ErrorRoutineErr:
    MsgBox$ _
    "Ошибка: <" & Err.Number & "> - " & Err.Description, vbExclamation + vbOKOnly, _
    "Созданиие подраздела"
    
    CreateRegKey = False

End Function

'Создание параметра и присвоение ему значения

Public Function SetRegValue( _
hKey As Long, _
sSubKey As String, _
ByVal sSetValue As String, _
ByVal sValue As String) As Boolean

    On Error GoTo ErrorRoutineErr
    
    Dim phkResult As Long
    Dim lResult As Long
    Dim SA As SECURITY_ATTRIBUTES

    RegCreateKeyEx hKey, sSubKey,  0 , "", _
                   REG_OPTION_NON_VOLATILE, _
                   KEY_ALL_ACCESS, SA, phkResult, Create

    lResult = RegSetValueEx(phkResult, sSetValue,  0 , _
                            REG_SZ, sValue, CLng(Len(sValue) +  1 ))

    RegCloseKey phkResult

    SetRegValue = (lResult = ERROR_SUCCESS)
    Exit Function

ErrorRoutineErr:
    MsgBox$ _
    "Ошибка: <" & Err.Number & "> - " & Err.Description, vbExclamation + vbOKOnly, _
    "Созданиие параметра"
    
    SetRegValue = False

End Function

'Удаление параметра

Public Sub DeleteValue( _
hKey As Long, _
sSubKey As String, _
sValue As String)

    Dim phkResult As Long
    Dim SA As SECURITY_ATTRIBUTES

    RegCreateKeyEx hKey, sSubKey, _
                    0 , "", REG_OPTION_NON_VOLATILE, _
                   KEY_ALL_ACCESS, SA, phkResult, Create

    If RegDeleteValue(phkResult, sValue) = ERROR_SUCCESS Then
        MsgBox$ "Параметр удален"
    Else
        MsgBox$ "Не могу удалить параметр"
    End If

    RegCloseKey phkResult
    
End Sub

'Удаление подраздела

Public Sub DeleteKey( _
hKey As Long, _
sSubKey As String, _
sKey As String)

    Dim phkResult As Long
    Dim SA As SECURITY_ATTRIBUTES

    RegCreateKeyEx hKey, sSubKey,  0 , _
                   "", REG_OPTION_NON_VOLATILE, _
                   KEY_ALL_ACCESS, SA, phkResult, Create

    If RegDeleteKey(phkResult, sKey) = ERROR_SUCCESS Then
        MsgBox$ "Подраздел удален"
    Else
        RegCloseKey phkResult
        MsgBox$ "Не могу удалить подраздел"
    End If
    
End Sub

'Получение значения параметра

Public Function GetValue( _
hKey As Long, _
sSubKey As String, _
sKey As String, _
sDefault As String) As Variant

    On Error GoTo ErrorRoutineErr

    Dim phkResult As Long
    Dim lResult As Long
    Dim sBuffer As String
    Dim lBuffSize As Long

    'Создаём буфер
    sBuffer = Space( 255 )
    lBuffSize = Len(sBuffer)

    RegOpenKeyEx hKey, sSubKey,  0 ,  1 , phkResult
    lResult = RegQueryValueEx(phkResult, sKey,  0 , _
                               0 , sBuffer, lBuffSize)
    RegCloseKey phkResult

    If lResult = ERROR_SUCCESS Then
        GetValue = Left(sBuffer, lBuffSize -  1 )
    Else
        GetValue = sDefault
    End If
    Exit Function

ErrorRoutineErr::
    MsgBox$ "Ошибка: <" & Err.Number & "> - " & Err.Description, _
           vbExclamation + vbOKOnly, "Получение параметра"
    GetValue = ""

End Function

Sub Reg_Реестр_добавить()

    Dim hKey As String
    'имя основного раздела, куда добавляем
    hKey = HKEY_LOCAL_MACHINE
    Dim SubKey As String
    'имя ветки в основном разделе, куда добавляем
    SubKey = "System\CurrentControlSet\Control"

    Dim NewSubKey As String
    'название добавляемого подраздела должно начинаться с "\"
    NewSubKey = "\" & "StorageDevicePolicies"

CreateRegKey(hKey, sSubKey, NewSubKey) As Boolean

End Sub


сейчас проблема в строке
CreateRegKey(hKey, sSubKey, NewSubKey) As Boolean
Одним словом перешёл на Оффис2010, такая фигня, а старые скрипты не посмотреть, а по памяти не помню, как это разрулить
Подскажите пжл
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283810
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читаю в сети
для начала работы подключим данную библиотеку к нашему проекту (Проект Standard EXE; форма + 5 кнопок на ней). Для подключения выберем меню: Project/References и в открывшемся диалоговом окне отметим опцию Registry Access Functions. Не забудем нажать ОК :-)
Насколько я понял, это ВБ6, открыл не вижу там Registry Access Functions
Может кто знает где она???
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283843
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такая же ересь с сети:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub Reg_Реестр1()

'Считывание значения из реестра:
 Dim tempKey As Microsoft.Win32.RegistryKey
 tempKey = registryObject
 If tempKey Is Nothing Then
   MsgBox ("Please select a registry hive.")
   Return
 End If
 Value.Text = CStr(tempKey.GetValue(ShowSubKey.Text))
 History.Items.Add ("Read Value " & selectHive.Text & _
                   "\" & ShowSubKey.Text)

End Sub
пишет функция tempKey As Microsoft.Win32.RegistryKey не определена
????????????
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283844
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович ЭндрюПолучаю облом, на строке SA As SECURITY_ATTRIBUTES, говорит, что функция не определена Что не так?? нашёл листинг, там возможно много лишнего, но в последствии мне пригодится . В этом самом листинге и описан тип SECURITY_ATTRIBUTES:
Код: plaintext
1.
2.
3.
4.
5.
'Structures Needed For Registry Prototypes
Type SECURITY_ATTRIBUTES
    nLength As Long
    lpSecurityDescriptor As Long
    bInheritHandle As Boolean
End Type
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283852
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища, так листинг же я копирнул полностью, там сполер можно раскрыть и посмотреть
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283878
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрюскукотища, так листинг же я копирнул полностью, там сполер можно раскрыть и посмотретьМожно. Расрыть. И посмотреть.
А ещё можно этот "листинг" вставить в стандартный модуль проекта и пользоваться его константами/типами/функциями.
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283903
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища,
>А ещё можно этот "листинг" вставить в стандартный модуль проекта и пользоваться его константами/типами/функциями
Так оно же так и есть, всё что в спойлере всё в аккурат в модуле
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283917
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович ЭндрюТак оно же так и есть, всё что в спойлере всё в аккурат в модуле Уточню - в стандартном модуле. Так ?
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283930
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотищаУточню - в стандартном модуле. Так ?
Чувствуется подвох
ОС-ХР
Оффис 2010
Модуль Script_работа_с_реестром
Теперь я уж бог его знает стандартный он или нет
?????????

2
краткость конечно сестра таланта, но страшновато
Это всегда сработает:
Код: plaintext
1.
2.
3.
4.
If CreateObject("WScript.Shell").RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect") =  1  Then
MsgBox$ _
"Возможность копирования информации с ПК на любой флеш-накопитель отсутствует", vbOKOnly, _
"Внимание"
End If
???????????????????
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283939
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,
никакого подвоха. Ключевые слова: стандарный модуль, модуль класса.

Это всегда сработает... ?Не всегда. В смысле при определенных условиях можно будет записать данные на USB накопитель. Описание параметра в msdn (Applies To: Windows Server 2008). Возможно , и с другими версиями ОС будет работать. Проверите, - поделитесь с общественностью.
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283947
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища,
>Возможно, и с другими версиями ОС будет работать. Проверите, - поделитесь с общественностью
То есть пока я буду устанавливать Висту, 7ку, Вы отдыхать будете
Это мне на месяц работы
>Уточню - в стандартном модуле. Так ?
А тут уже появился модуль класса, ну уж нет не в нём точно
А что такое стандартый модуль НьюМакрос???
У меня по ключевым словам не прёт Оффис Англицкий
Я спрашиваю Это всегда сработает??
Имею ввиду, что в условии сказано
Для этого нужно создать подключ StorageDevicePolicies
А если я создам подключ StorageDevicePoliciesssssssss
Не попрёт, не будет отключать запись???
Я если я создам не в этой ветке?? Вот о чём я спрашиваю!!
А кстати это Закрыть средствами системного реестра возможность копирования информации с ПК на любой флеш-накопитель
А наоборот можно сделать Запрет с шлешки на комп??? Как???
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283965
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюА что такое стандартый модульКак для Вас писал :) Что такое модуль? Какие бывают модули?
А вообще даже сама запись в реестр или даже чтение оного не всегда сработает. Вдруг у пользователя нет прав для записи/правки/чтения реестра? Что делать будете?
...
Рейтинг: 0 / 0
ВБА и реестр
    #37283966
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,
правильно, Вы будете проводить испытания "в поте лица", а я буду отдыхать.

Стандартный модуль, это тот, который при экспорте Access,Excel,Word, etc предлагают сохранить с расширением .bas

Насчёт всяких "если...": ... даже не знаю, как сформулировать. В "двух словах" - или делаете "как написано", или ничего не получится. И это не "закрыть копирование с ... на любой флеш накопитель". Ограничение описано по ссылке в моём предидущем сообщении.

"А наоборот можно..." - можно. Разрешить подключение USB-накопителей только определенным пользователям.
...
Рейтинг: 0 / 0
ВБА и реестр
    #37284080
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища1
Стандартный модуль, это тот, который при экспорте Access,Excel,Word, etc предлагают сохранить с расширением .bas
2
И это не "закрыть копирование с ... на любой флеш накопитель". Ограничение описано по ссылке в моём предидущем сообщении.
3
"А наоборот можно..." - можно. Разрешить подключение USB-накопителей только определенным пользователям.
1
Да стандартный, стандартней некуда
Ну как развернулись события, модуль - портянка, а тут одной строко решено!!!
2
это та ссылка на англицкий сайт?? Там же ничего не понятно. Ещё раз, то есть не на любой флеш накопитель?? Китайцы создали супер накопитель??? Расскажите про ограничения по русски
3
Плохо, тоже мне задача века, которая решается только путём Разрешить подключение USB-накопителей только определенным пользователям

>Вдруг у пользователя нет прав для записи/правки/чтения реестра? Что делать будете?
Вот тут не подумал. Ну тогда в своей проге тоже жёсткое условие, когда работаешь как админ!!! ОК??
...
Рейтинг: 0 / 0
ВБА и реестр
    #37284135
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович ЭндрюКитайцы создали супер накопитель??? Расскажите про ограничения по русскиДа, китайцы, будь они счастливы! Шучу. Через USB интерфейс подключаются не только "флешки", но и модемы, факсы, принтеры и т.п. Идея в том, чтобы "рассказать" системе, что подключен не блочный накопитель, а, например, модем. Вуаля.
ЗЫ: не спрашивайте меня, как это сделать. Я не знаю.
...
Рейтинг: 0 / 0
ВБА и реестр
    #37284148
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища,

Код: plaintext
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.
Sub Копирование_информации_с_компьютера_на_накопитель()

'требуется иметь вверху модуля, то есть задекларировать функцию
'Private Declare Function IsUserAnAdmin Lib "shell32" () As Long
Select Case IsUserAnAdmin()
Case  1 
'RegWrite -записать параметр в реестр
'работает и в случае, когда данной ветки нет
'в таком случае она создаётся програмно
'1 - запрет на копирование, 0 - разрешение на копирование
CreateObject("WScript.Shell").RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect",  1 , "REG_DWORD"
'RegRead - считать информацию из реестра
If CreateObject("WScript.Shell").RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect") =  1  Then
MsgBox$ _
"Возможность копирования информации с компьютера на любой накопитель подключённый к компьютеру через USB порт отсутствует", vbOKOnly, _
"Внимание"
End If

'RegDelete - удалить параметр из реестра
CreateObject("WScript.Shell").RegDelete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect"

Case False
MsgBox$ _
"У Вас недостаточно прав, запуск программы возможен только от имени администратора", vbOKOnly, _
"Внимание"
End Select

End Sub

Как бы и всё
Кому интересно, поганяйте с разными ОС, в разных режимах - админ и юзер
при этом уберите проверку в моём коде об админе
Так что касается как сделать, чтобы и в обратную сторону не копировалось, оказывается, таким способом одним махом копирование запрещено в обе стороны
Отсюда вопрос как распаралелить, то есть магической палочкой, делаем то, что нужно разрешаем, запрещаем в одну сторону, в обе стороны
?????????
...
Рейтинг: 0 / 0
ВБА и реестр
    #37284265
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища, ту ссылку, что Вы давали я прочёл
Additional Registry Entries

Обновлено: Октябрь 2010 г.

Назначение: Windows Server 2008

Дополнительные параметры реестра

А есть ссылка на обычную, не серверную Винду???
...
Рейтинг: 0 / 0
ВБА и реестр
    #37284282
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прочел здесь: http://www.inet-press.com/lib/2005/01/art56.htm, решил попробовать отключает пункт "Выполнить" в кнопке "Пуск", но что то в данном случае

Код: plaintext
CreateObject("WScript.Shell").RegWrite "HKEY_USERS\Default\Software\Microsoft\Windows\CurrentVersion\Polisies\Explorer\NoRun",  1 , "REG_DWORD"

получаю ошибку неверная ссылка на корень или раздел реестра
ну да у меня лишь это есть: HKEY_USERS\Default\Software\Microsoft\Windows\CurrentVersion
но он же должен остальное сам создать
????????????
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ВБА и реестр
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]