Автор Тема: Получить значение из реестра  (Прочитано 375 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн .me [?]

  • Новичок
  • *
  • Сообщений: 73
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Здравствуйте, нужно получить полное значение из реестра, пробовал так:
Код: AutoIt [Выделить]
$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, подскажите, что не так?

Русское сообщество AutoIt

Получить значение из реестра
« Отправлен: Апрель 19, 2017, 12:28:11 »

Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3272
  • Репутация: 856
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Получить значение из реестра
« Ответ #1, Отправлен: Апрель 19, 2017, 12:34:09 »
Код: AutoIt [Выделить]

Оффлайн .me [?]

  • Новичок
  • *
  • Сообщений: 73

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Получить значение из реестра
« Ответ #2, Отправлен: Апрель 19, 2017, 12:58:40 »
InnI, спасибо за ответ, но все равно что то я вновь не верно делаю:
Код: AutoIt [Выделить]
#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 Гуру
  • *****
  • Сообщений: 3272
  • Репутация: 856
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Получить значение из реестра
« Ответ #3, Отправлен: Апрель 19, 2017, 15:08:30 »
.me
Не знаю, как у вас, но у меня в реестре часть пути "\Terminal Server\" указана через пробел.

Русское сообщество AutoIt

Re: Получить значение из реестра
« Ответ #3 Отправлен: Апрель 19, 2017, 15:08:30 »

Оффлайн .me [?]

  • Новичок
  • *
  • Сообщений: 73

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Получить значение из реестра
« Ответ #4, Отправлен: Апрель 20, 2017, 08:08:39 »
InnI, поправил, но результат остался тем же

Помечен как лучший ответ пользователем .me Отправлен Апрель 20, 2017, 20:33:36

Онлайн Alofa [?]

  • Скриптер
  • ****
  • Сообщений: 1026
  • Репутация: 131
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Получить значение из реестра
« Ответ #5, Отправлен: Апрель 20, 2017, 08:30:17 »
Запустите скрипт от имени администратора и попробуйте:
Код: AutoIt [Выделить]
$sPath = RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp","PortNumber")
MsgBox(64, 'Код ошибки:', [email protected] = ' & @error)
 


Оффлайн .me [?]

  • Новичок
  • *
  • Сообщений: 73

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Получить значение из реестра
« Ответ #6, Отправлен: Апрель 20, 2017, 08:54:05 »
Код: AutoIt [Выделить]
@error = 1


Онлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3272
  • Репутация: 856
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Получить значение из реестра
« Ответ #7, Отправлен: Апрель 20, 2017, 12:56:44 »
.me
Читаем справку: устанавливает значение @error равным: 1 - Не удалось открыть указанный раздел
Тут два варианта. Либо функция не может найти указанный путь, либо отсутствуют права доступа.
Если вы запускали код Alofa, то обратите внимание, что в пути тоже нет пробела. Если же и с пробелом ошибка, то добавьте в скрипт
Код: AutoIt [Выделить]

Русское сообщество AutoIt

Re: Получить значение из реестра
« Ответ #7 Отправлен: Апрель 20, 2017, 12:56:44 »

Онлайн Alofa [?]

  • Скриптер
  • ****
  • Сообщений: 1026
  • Репутация: 131
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Получить значение из реестра
« Ответ #8, Отправлен: Апрель 20, 2017, 15:13:24 »
Проверил на Win7(x86), Win7(x64), Win10 - все робит С ПРОБЕЛОМ.
.me вы дополнительно в самом реестре посмотрите Разрешения на раздел "RDP-Tcp".

Оффлайн .me [?]

  • Новичок
  • *
  • Сообщений: 73

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: Получить значение из реестра
« Ответ #9, Отправлен: Апрель 20, 2017, 20:33:15 »
Все получилось, все огромное спасибо
решение:
Код: AutoIt [Выделить]
#RequireAdmin
$sPath = RegRead("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber")

$sString =  $sPath
MsgBox(4096, "Port", " Port: " & $sString)
 


Русское сообщество AutoIt

Re: Получить значение из реестра
« Ответ #9 Отправлен: Апрель 20, 2017, 20:33:15 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
4 Ответов
2913 Просмотров
Последний ответ Май 12, 2010, 20:45:14
от f4llen
3 Ответов
4883 Просмотров
Последний ответ Сентябрь 15, 2010, 18:06:01
от Yuriy
6 Ответов
5143 Просмотров
Последний ответ Октябрь 08, 2010, 11:37:45
от Yashied
2 Ответов
1886 Просмотров
Последний ответ Апрель 13, 2012, 17:43:30
от Isn
11 Ответов
3657 Просмотров
Последний ответ Сентябрь 14, 2012, 16:16:46
от Yashied
11 Ответов
4609 Просмотров
Последний ответ Октябрь 17, 2012, 22:58:08
от Kaster
7 Ответов
1615 Просмотров
Последний ответ Октябрь 09, 2014, 11:07:13
от vld-k
4 Ответов
1015 Просмотров
Последний ответ Декабрь 06, 2014, 19:02:04
от zigzagrus79
7 Ответов
1120 Просмотров
Последний ответ Январь 24, 2015, 09:57:23
от madmasles
3 Ответов
672 Просмотров
Последний ответ Август 07, 2015, 11:35:58
от Yashied