Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL  
Получение информации о дисках
backbancherДата: Пт, 16 Октября 2015, 20:17 | Сообщение # 1
Прохожий
Дорогие форумчане.
Написаны две функции под Neobook для получения заводского номера подключенных накопителей.
Обе функции написаны под свои нужды, но, если кому пригодиться - хорошо.
Много полезного на форуме я нашёл, но такого нет.
Отличный форум!
Использую в функциях вызовы к WMI интерфейсу, не на всех версиях Windows наверное будет работать.
На Windows 8.1 c привилегиями админа - работает.
Строго не судите я не асс в программировании.
Прикрепления: Dsk_sn.zip (1.6 Kb)
 
СообщениеДорогие форумчане.
Написаны две функции под Neobook для получения заводского номера подключенных накопителей.
Обе функции написаны под свои нужды, но, если кому пригодиться - хорошо.
Много полезного на форуме я нашёл, но такого нет.
Отличный форум!
Использую в функциях вызовы к WMI интерфейсу, не на всех версиях Windows наверное будет работать.
На Windows 8.1 c привилегиями админа - работает.
Строго не судите я не асс в программировании.

Автор - backbancher
Дата добавления - 16 Октября 2015 в 20:17
PeterДата: Пт, 16 Октября 2015, 20:44 | Сообщение # 2
Админ NeoBook
backbancher, спасибо за функции!
Вот только одна неувязка - в Win XP первая функция не работает.
Выдает только вот это:


Да, и лучше функции организовать так, чтобы пользователь мог сам определять имена переменных для вывода результата.
Прикрепления: 8648024.png (4.7 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщениеbackbancher, спасибо за функции!
Вот только одна неувязка - в Win XP первая функция не работает.
Выдает только вот это:


Да, и лучше функции организовать так, чтобы пользователь мог сам определять имена переменных для вывода результата.

Автор - Peter
Дата добавления - 16 Октября 2015 в 20:44
backbancherДата: Пт, 16 Октября 2015, 21:00 | Сообщение # 3
Прохожий
Цитата Peter ()
в Win XP первая функция не работает.

Да, это предсказуемо, там другой набор свойств классов, некоторых нет, там нужно уже на С или паскале к WINAPI обращаться, если руки дойдут попробую написать плагин.

Цитата Peter ()
лучше функции организовать так, чтобы пользователь мог сам определять имена переменных для вывода результата.

С выбором имен переменных согласен, бум исправляться.

немного обновил: добавил вывод информации о логическом диске по букве.
Прикрепления: 7842933.zip (2.4 Kb)
 
Сообщение
Цитата Peter ()
в Win XP первая функция не работает.

Да, это предсказуемо, там другой набор свойств классов, некоторых нет, там нужно уже на С или паскале к WINAPI обращаться, если руки дойдут попробую написать плагин.

Цитата Peter ()
лучше функции организовать так, чтобы пользователь мог сам определять имена переменных для вывода результата.

С выбором имен переменных согласен, бум исправляться.

немного обновил: добавил вывод информации о логическом диске по букве.

Автор - backbancher
Дата добавления - 16 Октября 2015 в 21:00
backbancherДата: Сб, 17 Октября 2015, 03:11 | Сообщение # 4
Прохожий
Обновил:

Появилась возможность назначать имена переменных.
Если значение пустое, то результат не обрабатывается, вывода нет.
немного оптимизировал код.

Добавлено (17 Октября 2015, 03:11)
---------------------------------------------
В WinXP WMI не содержит именованного поля(свойства) заводской номер:

Узел - VM_E
ОШИБКА:
Код = 0x80041017
Описание = Недопустимый запрос
Услуга = WMI

На Win ХР нужно допиливать отдельно.

Прикрепления: 6852478.zip (2.9 Kb)
 
СообщениеОбновил:

Появилась возможность назначать имена переменных.
Если значение пустое, то результат не обрабатывается, вывода нет.
немного оптимизировал код.

Добавлено (17 Октября 2015, 03:11)
---------------------------------------------
В WinXP WMI не содержит именованного поля(свойства) заводской номер:

Узел - VM_E
ОШИБКА:
Код = 0x80041017
Описание = Недопустимый запрос
Услуга = WMI

На Win ХР нужно допиливать отдельно.


Автор - backbancher
Дата добавления - 17 Октября 2015 в 03:11
backbancherДата: Сб, 17 Октября 2015, 10:01 | Сообщение # 5
Прохожий
Исправил ошибки:
Прикрепления: 7061378.zip (2.8 Kb)
 
СообщениеИсправил ошибки:

Автор - backbancher
Дата добавления - 17 Октября 2015 в 10:01
PeterДата: Вс, 18 Октября 2015, 00:08 | Сообщение # 6
Админ NeoBook
Цитата backbancher ()
Исправил ошибки:

И все же....

Заголовки полей ввода параметров (красные стрелки) лучше бы привести в более лаконичный вид:


а подробное описание параметров перенести в описание функции (синяя стрелка).

Цитата backbancher ()
Если значение пустое, то результат не обрабатывается, вывода нет.

Было бы весьма полезным предусмотреть какое-либо "предупреждение" о результате работы функции, или хотя бы на случай ошибки, например, что такая-то функция не работает в WinXP.

Да, имена переменных (для вывода результата) можно указывать со скобками (так и проще и привычнее), для этого надо указать в соответствующих параметрах функции тип параметра не 'Text", а "Variable", в этом случае NB передаст в функцию имя переменной, а не ее содержимое, и не важно есть скобки или нет.
Прикрепления: 4660273.png (30.0 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата backbancher ()
Исправил ошибки:

И все же....

Заголовки полей ввода параметров (красные стрелки) лучше бы привести в более лаконичный вид:


а подробное описание параметров перенести в описание функции (синяя стрелка).

Цитата backbancher ()
Если значение пустое, то результат не обрабатывается, вывода нет.

Было бы весьма полезным предусмотреть какое-либо "предупреждение" о результате работы функции, или хотя бы на случай ошибки, например, что такая-то функция не работает в WinXP.

Да, имена переменных (для вывода результата) можно указывать со скобками (так и проще и привычнее), для этого надо указать в соответствующих параметрах функции тип параметра не 'Text", а "Variable", в этом случае NB передаст в функцию имя переменной, а не ее содержимое, и не важно есть скобки или нет.

Автор - Peter
Дата добавления - 18 Октября 2015 в 00:08
DEMBELДата: Вс, 18 Октября 2015, 12:37 | Сообщение # 7
Наш дизайнер
Была тема на форуме давно. Не со всеми накопителями получение через WMI прокатывает, потом еще нек-рые производители по-разному записывают серийники, например когда я тестил чето в той теме, в моем старом винте WD порядок байт серийника был обратным (хотя в целях привязки к железу это не критично).

Добавлено (18 Октября 2015, 12:37)
---------------------------------------------
Win32_DiskDrive -> SerialNumber не поддерживается на Windows Server 2003 и Windows XP.
Попробуй из Win32_PhysicalMedia доставать.

Цитата DEMBEL ()
Не со всеми накопителями получение через WMI прокатывает
об этом должен производитель позаботиться, чтоб в драйверах инфа делалась доступной системе.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СообщениеБыла тема на форуме давно. Не со всеми накопителями получение через WMI прокатывает, потом еще нек-рые производители по-разному записывают серийники, например когда я тестил чето в той теме, в моем старом винте WD порядок байт серийника был обратным (хотя в целях привязки к железу это не критично).

Добавлено (18 Октября 2015, 12:37)
---------------------------------------------
Win32_DiskDrive -> SerialNumber не поддерживается на Windows Server 2003 и Windows XP.
Попробуй из Win32_PhysicalMedia доставать.

Цитата DEMBEL ()
Не со всеми накопителями получение через WMI прокатывает
об этом должен производитель позаботиться, чтоб в драйверах инфа делалась доступной системе.

Автор - DEMBEL
Дата добавления - 18 Октября 2015 в 12:37
backbancherДата: Вс, 09 Декабря 2018, 13:01 | Сообщение # 8
Прохожий
Здравствуйте всем.

Написал небольшую функцию для определения типа подключения диска и некоторых его других параметров.
Написал потому, чтобы иметь возможность быстро определять как диск подключен и пользоваться этой информацией.
Тип диска крайне не надежная штука и некоторые USB накопители не идентифицируются по типу 2 хотя и являются USB накопителями... этому есть основание но, данная функция этого не учитывает и возвращает все допустимые в системе типы подключения, что позволяет видеть все подключенные диски по шине USB.

Не судите строго. Отдаю дань уважаемому форуму и участникам, так как активно пользуюсь инструментами как форума, так и платформой для быстрого написания программ, neobook, он-же VisualNeoWin.
Прикрепления: HwdDriveInfo.zip (0.9 Kb)
 
СообщениеЗдравствуйте всем.

Написал небольшую функцию для определения типа подключения диска и некоторых его других параметров.
Написал потому, чтобы иметь возможность быстро определять как диск подключен и пользоваться этой информацией.
Тип диска крайне не надежная штука и некоторые USB накопители не идентифицируются по типу 2 хотя и являются USB накопителями... этому есть основание но, данная функция этого не учитывает и возвращает все допустимые в системе типы подключения, что позволяет видеть все подключенные диски по шине USB.

Не судите строго. Отдаю дань уважаемому форуму и участникам, так как активно пользуюсь инструментами как форума, так и платформой для быстрого написания программ, neobook, он-же VisualNeoWin.

Автор - backbancher
Дата добавления - 09 Декабря 2018 в 13:01
ВадимДата: Пн, 10 Декабря 2018, 09:35 | Сообщение # 9
Генератор идей
Андрей (backbancher), получается, что функция выдаёт заводской серийный номер накопителя, а не номер назначенный виндой? Это полезно, спасибо!

У меня функция не распознала только облачный диск (см. скриншот).
Прикрепления: 0171557.png (75.4 Kb)


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеАндрей (backbancher), получается, что функция выдаёт заводской серийный номер накопителя, а не номер назначенный виндой? Это полезно, спасибо!

У меня функция не распознала только облачный диск (см. скриншот).

Автор - Вадим
Дата добавления - 10 Декабря 2018 в 09:35
backbancherДата: Вт, 11 Декабря 2018, 20:19 | Сообщение # 10
Прохожий
Цитата Вадим ()
У меня функция не распознала только облачный диск


Вадим.
В функции используются вызовы только к точке монтирования физических устройств, поэтому сетевые, облачные, виртуальные диски, не будут отработаны функцией, для этого можно использовать функцию работы с логическими дисками.
Но там уже может быть как нормальная информация, т.е. "логический серийный номер" так и просто любая, как например для рейда у меня: Volume0.
В таких случаях я ориентируюсь на Серийный номер тома: 9035-BDDB (как пример), имя тома, их можно менять и они тоже не повторяются.
Прикрепления: 5698009.zip (2.8 Kb)
 
Сообщение
Цитата Вадим ()
У меня функция не распознала только облачный диск


Вадим.
В функции используются вызовы только к точке монтирования физических устройств, поэтому сетевые, облачные, виртуальные диски, не будут отработаны функцией, для этого можно использовать функцию работы с логическими дисками.
Но там уже может быть как нормальная информация, т.е. "логический серийный номер" так и просто любая, как например для рейда у меня: Volume0.
В таких случаях я ориентируюсь на Серийный номер тома: 9035-BDDB (как пример), имя тома, их можно менять и они тоже не повторяются.

Автор - backbancher
Дата добавления - 11 Декабря 2018 в 20:19
ВадимДата: Ср, 12 Декабря 2018, 10:12 | Сообщение # 11
Генератор идей
Андрей, понял, спасибо за примеры!

Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеАндрей, понял, спасибо за примеры!

Автор - Вадим
Дата добавления - 12 Декабря 2018 в 10:12
  • Страница 1 из 1
  • 1
Поиск: