Schöck
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Где найти уникальное имя компьютера в реестре через AutoLISP

Где найти уникальное имя компьютера в реестре через AutoLISP

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 26.06.2018, 14:23 #1
Где найти уникальное имя компьютера в реестре через AutoLISP
OKJI
 
AutoLISP
 
Харьков
Регистрация: 19.06.2018
Сообщений: 27
Отправить сообщение для OKJI с помощью Skype™

OKJI на форуме Вставить имя

Здравствуйте дорогие коллеги!)

Возникла необходимость привязать привязать программный модуль к конкретному компьютеру.

Вот команда для доступа к разделу реестра:
Код:
[Выделить все]
 (VL-REGISTRY-READ "HKEY_CURRENT_USER\\искомый_подраздел\\")
По какому адресу реестра можно найти какой нибудь уникальный номер или имя компа?
А еще лучше бы сделать привязку к лицензионному ключу винды)))
Просмотров: 1273
 
Непрочитано 26.06.2018, 15:13
1 | #2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Получить имя компьютера: (getenv "computername")
Логин пользователя: (getenv "username"), если не ошибаюсь.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.06.2018, 16:02
1 | 1 #3
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


Имя компьютера можно найти здесь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
Имя LastComputerName


HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName
Имя ComputerName Значение ...


Но в этой ветке AutoLisp бессилен.
__________________
Установи FILEDIA в 1 и не парься.

Последний раз редактировалось Setvar, 27.06.2018 в 07:44.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.06.2018, 16:38
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Че ета "бессилен"? Прочитать можно. Но проще идти через переменные окружения.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.06.2018, 17:09
#5
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


У автора темы определенная цель:
Цитата:
Возникла необходимость привязать привязать программный модуль к конкретному компьютеру.
(getenv) ему не поможет.
AutoLisp НЕ может записывать в разделы HKEY_USERS и HKEY_LOCAL_MACHINE
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.06.2018, 19:11
1 | 1 #6
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 10,417


Цитата:
привязать программный модуль к конкретному компьютеру
С помощью Lisp "отвязывается" еще проще, чем привязывается.
Даже не надо ковырять код.
ShaggyDoc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.06.2018, 21:40
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Цитата:
Сообщение от Setvar Посмотреть сообщение
У автора темы определенная цель:

(getenv) ему не поможет.
AutoLisp НЕ может записывать в разделы HKEY_USERS и HKEY_LOCAL_MACHINE
Может. Если права у пользователя есть.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 06:37
#8
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


Цитата:
Сообщение от Setvar Посмотреть сообщение
AutoLisp НЕ может записывать в разделы HKEY_USERS и HKEY_LOCAL_MACHINE
Это не я придумал, а вычитал у Полещука. Там про права ничего написано не было.
Решая задачу, аналогичную задаче автора темы, я использовал только раздел HKEY_CURRENT_USER.
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 07:43
#9
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Без чтения информации из реестра, в том числе и из HKLM, система просто не будет работать. Можешь сам поставить себе отдельного пользователя с правами чуть ли не гостя, разрешить ему вызов regedit.exe и посмотреть - получится прочитать хоть что-то из этого раздела или нет.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 07:52
#10
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


При чем тут прочитать? Я же написал
AutoLisp НЕ может записывать в разделы HKEY_USERS и HKEY_LOCAL_MACHINE
А прочитать - пожалуйста.
Если хочется использовать ветку
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
то желательно заранее узнать имя компьютера и сравнивать его со значением из указанной ветки.
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 08:28
#11
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Setvar, а вопрос изначально был в чтении, чтобы "привязать модуль к компу".
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 09:18
#12
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


Алексей, название темы таково:
Где найти уникальное имя компьютера в реестре через AutoLISP
И вопрос явно был задан такой:
По какому адресу реестра можно найти какой нибудь уникальный номер или имя компа?
Автор темы упомянул ветку реестра HKEY_CURRENT_USER.
Я написал, что имя компьютера можно найти в другой ветке, но AutoLisp записывать значения в эту ветку не может.
Что не так?
Автор темы намерен, как я думаю, привязать некий модуль к компьютеру именно с помощью записи в реестр или вообще еще не знает как. Так что простого чтения реестра недостаточно.
P.S. (getenv) работает внутри AutoCAD, но имя компьютера не имеет никакого отношения к AutoCAD, поэтому искать имя компьютера через реестр логичнее.
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 09:22
#13
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Да ну???
(getenv "appdata")
(getenv "computername")
(getenv "programdata")
И что, хочешь сказать, что все это не работает?
Лисп может обращаться к переменным окружения, которые касаются не только ACAD, но и Windows. Некоторые он может поменять, некоторые - нет, но возможности прочитать хранящиеся там значения это не отменяет.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 09:47
#14
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Да ну???
Это к чему относится? Или ты не допускаешь мысли, что компьютер имеет имя независимо от того, установлен AutoCAD или нет? Так вот, компьютеру присваивается имя при установке Windows, а не при установке AutoCAD. Если человек хочет использовать реестр для своих целей, то логичнее и имя компьютера искать через реестр (хоть и инструментами AutoLisp), только и всего.
Вон ShaggyDoc по существу вообще советует не страдать ерундой. Ну как же, все ведь пользователи семи пядей во лбу, как и он сам, так что все они немедленно отвяжут модуль от компьютера.
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 10:32
#15
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,544


Setvar, ага, трава зеленая, небо голубое и т.д. Спорить надоело, будем считать, что ты абсолютно прав.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.06.2018, 11:07
#16
OKJI

AutoLISP
 
Регистрация: 19.06.2018
Харьков
Сообщений: 27
Отправить сообщение для OKJI с помощью Skype™


Ух и жаркая на споры темка вышла!!!)))
Люди мне нужно было просто прочитать это уникальное имя компа...
Дальше я бы сделал для каждого компа кодированный ключ на основе уникального имени.
(Тоесть имя компа выступило параметром (переменной) ренератора кода)
без знания остальных параметров кода не получилось бы подделать этот код....
Все больно просто!)))
Сетвар и Кулик, спасибо вам за помощь!)))
OKJI на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 11:51
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 1,720


http://adn-cis.org/forum/index.php?topic=2580.0
__________________
_бложиг
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.06.2018, 14:19
#18
OKJI

AutoLISP
 
Регистрация: 19.06.2018
Харьков
Сообщений: 27
Отправить сообщение для OKJI с помощью Skype™


Цитата:
Сообщение от Boxa Посмотреть сообщение
Что-то там много лишней инфы и надежного способа так и не нашли...
__________________
Вечность это:
 (while T)
OKJI на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 27.06.2018, 14:37
#19
OKJI

AutoLISP
 
Регистрация: 19.06.2018
Харьков
Сообщений: 27
Отправить сообщение для OKJI с помощью Skype™


Цитата:
Сообщение от Setvar Посмотреть сообщение
Имя компьютера можно найти здесь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
Имя LastComputerName


HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName
Имя ComputerName Значение ...


Но в этой ветке AutoLisp бессилен.
И так вот что получилось:
Код:
[Выделить все]
 (VL-REGISTRY-READ "HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\ComputerName\\ComputerName")
"mnmsrvc" 
_$ 
Код:
[Выделить все]
 (VL-REGISTRY-READ "HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\ComputerName\\ActiveComputerName")
nil 
_$ 
"mnmsrvc" - что-то вообще странное... не знаю откуда такое имя у ПК

По этой директории:
Код:
[Выделить все]
 (VL-REGISTRY-READ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Reliability\\")
даёт нуль
но в ней есть ряд подразделов, в каждом из которых nil (((
Код:
[Выделить все]
 (VL-REGISTRY-DESCENDENTS "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Reliability\\")
_$ 

("RunHistory" "WinRE" "UserDefined" "Srt" "shutdown" "MemoryDiagnostic") 
__________________
Вечность это:
 (while T)

Последний раз редактировалось OKJI, 27.06.2018 в 14:44.
OKJI на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 27.06.2018, 15:15
1 | 1 #20
Setvar

Всего понемногу
 
Регистрация: 10.02.2007
Москва
Сообщений: 540


Слушай, OKJI, я ведь только привел примеры адресов в реестре, по которым можно найти название компьютера. Если же использовать функции VLisp, то записывать коды нужно так:
(VL-REGISTRY-READ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Reliability" "LastComputerName")
или
(VL-REGISTRY-READ "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\ComputerName\\ActiveComputerName" "ComputerName")
Учи, как говорится, матчасть.
__________________
Установи FILEDIA в 1 и не парься.
Setvar вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Где найти уникальное имя компьютера в реестре через AutoLISP

КОМПОЗИТНЫЕ ПАНЕЛИ ДЛЯ ФАСАДА
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Hазбивка-настройка окружности в AutoCAD для экспорта через DXF DENver_M7 AutoCAD 15 01.03.2016 14:39
Возможность устройства эвакуационного пути через лестничную клетку. Saha Пожарная безопасность 37 21.12.2015 10:25
Как отредактировать макрос, записанный через рекордер операций в Autocad vladimirr_b Программирование 1 13.10.2015 12:18
Как сделать что бы открывать и сохранять файлы можно было как обычно через мышку, а не через командную строку? beslan AutoCAD 1 17.10.2011 11:43
Через 25 лет стоимость эксплуатации превышает стоимость строительства ? Tyhig Архитектура 41 24.08.2011 11:00

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||