Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Дорогие форумчане. Написаны две функции под Neobook для получения заводского номера подключенных накопителей. Обе функции написаны под свои нужды, но, если кому пригодиться - хорошо. Много полезного на форуме я нашёл, но такого нет. Отличный форум! Использую в функциях вызовы к WMI интерфейсу, не на всех версиях Windows наверное будет работать. На Windows 8.1 c привилегиями админа - работает. Строго не судите я не асс в программировании.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Да, это предсказуемо, там другой набор свойств классов, некоторых нет, там нужно уже на С или паскале к WINAPI обращаться, если руки дойдут попробую написать плагин.
ЦитатаPeter ()
лучше функции организовать так, чтобы пользователь мог сам определять имена переменных для вывода результата.
С выбором имен переменных согласен, бум исправляться.
немного обновил: добавил вывод информации о логическом диске по букве.
Заголовки полей ввода параметров (красные стрелки) лучше бы привести в более лаконичный вид:
а подробное описание параметров перенести в описание функции (синяя стрелка).
Цитатаbackbancher ()
Если значение пустое, то результат не обрабатывается, вывода нет.
Было бы весьма полезным предусмотреть какое-либо "предупреждение" о результате работы функции, или хотя бы на случай ошибки, например, что такая-то функция не работает в WinXP.
Да, имена переменных (для вывода результата) можно указывать со скобками (так и проще и привычнее), для этого надо указать в соответствующих параметрах функции тип параметра не 'Text", а "Variable", в этом случае NB передаст в функцию имя переменной, а не ее содержимое, и не важно есть скобки или нет.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Была тема на форуме давно. Не со всеми накопителями получение через WMI прокатывает, потом еще нек-рые производители по-разному записывают серийники, например когда я тестил чето в той теме, в моем старом винте WD порядок байт серийника был обратным (хотя в целях привязки к железу это не критично).
Добавлено (18 Октября 2015, 12:37) --------------------------------------------- Win32_DiskDrive -> SerialNumber не поддерживается на Windows Server 2003 и Windows XP. Попробуй из Win32_PhysicalMedia доставать.
ЦитатаDEMBEL ()
Не со всеми накопителями получение через WMI прокатывает
об этом должен производитель позаботиться, чтоб в драйверах инфа делалась доступной системе. Как задавать вопросы
Написал небольшую функцию для определения типа подключения диска и некоторых его других параметров. Написал потому, чтобы иметь возможность быстро определять как диск подключен и пользоваться этой информацией. Тип диска крайне не надежная штука и некоторые USB накопители не идентифицируются по типу 2 хотя и являются USB накопителями... этому есть основание но, данная функция этого не учитывает и возвращает все допустимые в системе типы подключения, что позволяет видеть все подключенные диски по шине USB.
Не судите строго. Отдаю дань уважаемому форуму и участникам, так как активно пользуюсь инструментами как форума, так и платформой для быстрого написания программ, neobook, он-же VisualNeoWin.
Вадим. В функции используются вызовы только к точке монтирования физических устройств, поэтому сетевые, облачные, виртуальные диски, не будут отработаны функцией, для этого можно использовать функцию работы с логическими дисками. Но там уже может быть как нормальная информация, т.е. "логический серийный номер" так и просто любая, как например для рейда у меня: Volume0. В таких случаях я ориентируюсь на Серийный номер тома: 9035-BDDB (как пример), имя тома, их можно менять и они тоже не повторяются.