Имя: Пароль:
1C
 
Работа с реестром: как получить значение, если путь с пробелами?
, ,
0 serg_1969
 
17.06.21
11:38
Добрый день.
Подскажите кто сталкивался.

Получаю так значение реестра:

RegProv=ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv");

Так работает:
RegProv.GetStringValue("2147483650","Software\Classes\.3gp","Content Type",Тест3);

так НЕ работает:
RegProv.GetStringValue("2147483650","Software\NVIDIA Corporation","Новый параметр #1",Тест4);

пробовал указыать так, не работает:
RegProv.GetStringValue("2147483650","Software\{NVIDIA Corporation}","Новый параметр #1",Тест4);

и так, тоже  не работает:
RegProv.GetStringValue("2147483650","Software\[NVIDIA Corporation]","Новый параметр #1",Тест4);

Как правильно указать путь?
1 serg_1969
 
17.06.21
12:47
никто не сталкивался?
2 acht
 
17.06.21
13:00
Все отлично работает, ковыряй в другом месте.

ИмяКомпьютераКлиента = Неопределено;
HKEY_CURRENT_USER = 2147483649;
        
RegProv.GetStringValue(HKEY_CURRENT_USER, "Volatile Environment\" + ИдентификаторСессииСтрокой, "CLIENTNAME", ИмяКомпьютераКлиента);
3 serg_1969
 
17.06.21
14:03
не работает, не понятно почему.
4 serg_1969
 
17.06.21
14:13
HKEY_CURRENT_USER  -  с это ветки все работает, с пробелами читает
HKEY_LOCAL_MACHINE - с это читает когда без пробелов.
5 acht
 
17.06.21
14:44
А значения-то у тебя в ветке есть? И права на их чтение?
6 serg_1969
 
17.06.21
16:39
(5) Значения есть. Права проверял, тоже есть.
7 1Сергей
 
17.06.21
16:40
(6) И все строковые?
8 ДедМорроз
 
17.06.21
16:41
Через Windows API, насколько я помню,можно и с пробелами и даже с разделителями.
А вот через всё остальное криво работает.
9 acht
 
17.06.21
16:41
(6) Чудес не бывает. Ищи различия. Видимость веток 32/64 бита и т.п.
10 BeerHelpsMeWin
 
17.06.21
18:07
А там может быть неразрывный пробел?
11 serg_1969
 
18.06.21
09:20
(7) вот!  НЕ строковые получаю. Как получить числовые?