Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
ищи в плагинах, штатная переменая показывает только хдд
Понятно , спасибо Но вот не пойму , в справке написано :
Quote
[HDSerialNum] Возвращает серийный номер системного диска C: .
Это понимать как серийный номер винта или это что то программно меняющееся при переустановке ОС ? Просто у меня есть мысль сделать программу по такому принципу что бы она привязывалась к оборудованию , то есть пользователь сообщает серийный номер , а я с таким же серийным номером создаю на сервере ХТМЛ файл , если файл с именем равным серийному номеру доступен то программа подразумевает что она зарегистрирована , если нет то значит не зарегистрирована
используй мак сетевухи, более надежный способ, как его определить, тут уже обсуждалось. А привязка к серийнику хдд(то, что определяет НБ), только до переустановки оси, я делал прогу с превязкой к хдд, а когда переустановил ось, она перестала запускатся
Сообщение отредактировано Сергей - Пт, 22 Октября 2010, 19:02
On Error Resume Next Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor") For Each objItem in colItems NbSetVar "[CPU_ID]", objItem.ProcessorId Next
создай новую VBScript функцию (F11->New) и скопируй это туда, сохрани и вызови. В переменной [CPU_ID] будет лежать id процессора.
Добавлено (22 Октябрь 2010, 22:02) --------------------------------------------- Только вот не пойму как вызвать данную функцию ? Файл с приведенным кодом лежит в папке C:\Program Files\NeoBook 5\Functions\ , имя файла CPU_ID . Вставляю переменную [CPU_ID] например в текстовое поле , а при запуске программы ничего в переменной нет
Сообщение отредактировано Snow_Irbis - Пт, 22 Октября 2010, 22:04
вообще если хотите повысить надежность, используйте хотя бы два метода. для надежной идентификации машины по крайней мере один метод должен совпадать (чтобы снизить риск ложноотрицательных результатов), либо совпадать оба метода (чтобы снизить риск ложноположительных результатов). Естественно, это касается случаев замены оборудования. Выбирайте что важнее, совместимость или надежность. Итоговый идентификатор машины должен быть по возможности сбалансирован, но если не хотите заморачиваться используйте какой-то один метод и делайте однозначный вывод. Как задавать вопросы
DEMBEL, да Вы правы дело в этом Просто я функцию не так создавал , а просто скопировал код в текстовый файл , затем у файла убрал расширение и закинул в папку C:\Program Files\NeoBook 5\Functions\
что за придумки, при сохранении из редактора там прописываются в функцию нужные теги, без них она не определится правильно. это не просто голый текст. ну, еще есть на форуме такие товарищи, которые используют Neobook 5.5.4 или копируют скрипты в блокнот и пр., и спрашивают потом почему не работает? Как задавать вопросы
что за придумки, при сохранении из редактора там прописываются в функцию нужные теги, без них она не определится правильно. это не просто голый текст. ну, еще есть на форуме такие товарищи, которые используют Neobook 5.5.4 или копируют скрипты в блокнот и пр., и спрашивают потом почему не работает?
ну как же ? Например Ваша функция GetHeaders прекрасно работает если ее просто скопировать в C:\Program Files\NeoBook 5\Functions\
скопировать откуда? я выкладывал не просто текст, а готовую функцию, сохраненную из редактора функций, там все прописано уже. а вы просто голый текст в блокнот сохраняете, без тегов. Как задавать вопросы
скопировать откуда? я выкладывал не просто текст, а готовую функцию, сохраненную из редактора функций, там все прописано уже. а вы просто голый текст в блокнот сохраняете, без тегов.
откройте блокнотом любую функцию и вначале увидите заголовок типа
Code
{NeoBook Function} Version=5,60 Language=xxx Comment=xxx Param=[%1]|Text|xxx Param=[%2]|Text|xxx Param=[%3]|Text|xxx {End} текст функции
при создании/сохранении функции в редакторе все что надо автоматом прописывается, а я не стал заморачиваться и выложил просто текст. его надо вставлять в редактор и сохранять из него. Как задавать вопросы
Нашел в инете код по определения харда (покрайней мере так заявлялось)
Оптимизируйте для НБ, кто может ...
Code
On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") Set colDrives = objFSO.Drives
For Each objDrive in colDrives Wscript.Echo "Drive letter: " & objDrive.DriveLetter Wscript.Echo "File system: " & objDrive.FileSystem Wscript.Echo "Serial number: " & objDrive.SerialNumber Next
Добавлено (23 Октябрь 2010, 10:39) ---------------------------------------------
Вот еще по теме http://ru.edaboard.com/topic-550719.0.html Правда надо все адаптировать под NB. Эх.
Добавлено (23 Октябрь 2010, 11:00) --------------------------------------------- Еще интересный момент. Оказывается cpu_id может быть не уникальным. Ниже по ссылке проводились испытания у 4 процессоров из одной партии ...
http://www.alexnab.com/01hardware02/index0219.htm
Добавлено (23 Октябрь 2010, 11:31) --------------------------------------------- А ну вот и сам справился ...
Делаем так как завещал Дембель
Добавляем новую функцию:
Code
On Error Resume Next Set objFSO = CreateObject("Scripting.FileSystemObject") Set colDrives = objFSO.Drives
For Each objDrive in colDrives NbSetVar "[HDD_ID]", objDrive.SerialNumber NbSetVar "[HDD_LET]", objDrive.DriveLetter NbSetVar "[HDD_FS]", objDrive.FileSystem Next
Обзываем. Сохраняем. Потом ее вызываем по имени. Через Call и получаем следующие переменные. [HDD_ID] - сериал [HDD_LET] - буква [HDD_FS] - файловая система
Только почему-то у меня букву показывает F - а это CD-ROM. ))) Можно подправить?
Jivchik, делать нечего? зачем вбс-функция для с/н хдд, если есть штатная команда....
Quote (Jivchik)
А ну вот и сам справился
прежде чем писАть, проверил бы, что это за функция, какой тип возращает... Здается мне, что тип-массив, т.к. видно из кода перебор цикла..... должно быть примерно так(только для информации, не советую тестировать):
Quote (VBS)
On Error Resume Next Dim stRes Set objFSO = CreateObject("Scripting.FileSystemObject") Set colDrives = objFSO.Drives For Each objDrive in colDrives stRes = stRes & "," & objDrive.DriveLetter & ":" & objDrive.SerialNumber & ":" & objDrive.FileSystem Next NbSetVar "[HDD_Info]", stRes
ну это не такой уж удар по безопасности... слишком много совпадений должно быть для этого. да и генерировать ключ нужно на основе еще каких-то данных (личных например, адрес почты куда ключ высылают, имя пользователя и пр.) Как задавать вопросы