Что нового

Получить значение из реестра

.me

Новичок
Сообщения
89
Репутация
1
Здравствуйте, нужно получить полное значение из реестра, пробовал так:
Код:
$sPath = RegWrite("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp","PortNumber")
  
$Hex =   $sPath
$String = _HexToString($Hex)
MsgBox(4096, "Hex", "Оригинал Hex: " & $Hex & @LF & "Строка: " & $String)

но получаю значение 0x0 а должно быть 0x000000d3d, подскажите, что не так?
 
Автор
M

.me

Новичок
Сообщения
89
Репутация
1
InnI, спасибо за ответ, но все равно что то я вновь не верно делаю:
Код:
#include <string.au3>
$sPath = RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp","PortNumber")
  
$Hex =   $sPath
$String = _HexToString($Hex)
MsgBox(4096, "Hex", "Оригинал Hex: " & $Hex & @LF & "Строка: " & $String)

возвращает пустые значения
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
.me
Не знаю, как у вас, но у меня в реестре часть пути "\Terminal Server\" указана через пробел.
 
Автор
M

.me

Новичок
Сообщения
89
Репутация
1
InnI, поправил, но результат остался тем же
 
A

Alofa

Гость
Запустите скрипт от имени администратора и попробуйте:
Код:
$sPath = RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp","PortNumber")
MsgBox(64, 'Код ошибки:', '@error = ' & @error)
 

InnI

AutoIT Гуру
Сообщения
4,951
Репутация
1,446
.me
Читаем справку: устанавливает значение @error равным: 1 - Не удалось открыть указанный раздел
Тут два варианта. Либо функция не может найти указанный путь, либо отсутствуют права доступа.
Если вы запускали код Alofa, то обратите внимание, что в пути тоже нет пробела. Если же и с пробелом ошибка, то добавьте в скрипт
Код:
#RequireAdmin
 
A

Alofa

Гость
Проверил на Win7(x86), Win7(x64), Win10 - все робит С ПРОБЕЛОМ.
.me вы дополнительно в самом реестре посмотрите Разрешения на раздел "RDP-Tcp".
 
Автор
M

.me

Новичок
Сообщения
89
Репутация
1
Все получилось, все огромное спасибо
решение:
Код:
#RequireAdmin
$sPath = RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber")

$sString =  $sPath
MsgBox(4096, "Port", " Port: " & $sString)
 
Верх