Серийный номер USB | |
---|---|
sphinx Автор Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Коллеги, вроде через WMI наваял на коленке, но по факту сказали не работает на разных флешках.
Может, чтобы не изобретать велосипед (и в помощь не мне, Татьяне - Олега Димухаметова жена, хороший был человек, сейчас сопровождаю его проекты, в целом успешно, но сложность высокого уровня) - кто чем богат. Я нагуглю и решу. Но время против нас. Стеб и ненужные комментарии - непродуктивно. Лучше пройдите мимо. На Сергеев надеюсь (avvhokink, я по памяти, прошу простить, буду точнее в нике, уважаю Серегу). Жаль, что не видно корифеев (Серега давно в их числе!) других - Рома, Володя (Aspid)... Ну или пните в технологию, поди ума хватит. Не жаловался на недостаток. Я написал, что через WMI на коленке. Оказывается не работает. Не хочется заново изобретать квадратный лисапед, если у кого есть решения. С уважением к ПО СУЩЕСТВУ. Спасиб! ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Серийный номер USB | |
---|---|
leonid Сообщений: 3176 Откуда: Рига Дата регистрации: 03.02.2006 |
|
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Сам никогда таким не занимался, но если бы нужно было сделать это быстро, то сначала просто бы воспользовался какими-нибудь готовыми бесплатными консольными утилитами, выдающими необходимую информацию в виде файла.
Первая же ссылка, которую выдал Гугл - USBDeview.exe - вполне подходит для решения проблемы. Запускал бы её как-то так:
---------- Сейчас посмотрел - эта утилита может явно ответить на вопрос, вставлен ли накопитель с указанным серийным номером в комп (если это и есть конечная цель): USBDeview.exe /is_connected_by_serial "3384600601" echo %ERRORLEVEL% Исправлено 3 раз(а). Последнее : akvvohinc, 04.03.23 16:47 ![]() |
Re: Серийный номер USB | |
---|---|
sphinx Автор Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Так по ней и сверял. Сказали код через ВМИ - всегда одно и то же выдает.
Леонид, как всегда выручаешь. Я гляну, должно работать. Правда, спасибо! ![]() ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Серийный номер USB | |
---|---|
sphinx Автор Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Цитата: Да все так, базара нет. Можно и через утилиту, инструкции дам, каждые пять минут точно не надо. Но хочется по фен-шую. ![]() Друзья, спасибо. ![]() ![]() ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
По поводу инструкций я не понял - пользователю вообще ничего знать о реализации не потребуется - всё будет внутри проги, даже та утилита. ![]() |
Re: Серийный номер USB | |
---|---|
sphinx Автор Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Да я на тот случай, если через батник-скриптами. Тогда Тане инструкции. А так да, все в программе.
В общем материал есть, значит меньше поиском. Все запустим. Какой вариант полетел/остановился - да, напишу. И другим пригодится. ![]() ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
И всё равно не понял - при чем здесь батник и инструкции Тане? Всё без исключения, включая батник и даже инструкции Тане, будет зашито в программу, и это сделает тот, кто пишет прогу (это Таня или ты?). Пользователь проги вообще ничего не будет знать ни об утилите, ни о том, каким образом она запускается. Недавно была похожая тема, где с помощью Powershell что-то там выясняли. Разница лишь в одном - Powershell-утилита - часть Windows, а утилиту USBDeview надо сначала скачать. ![]() Исправлено 1 раз(а). Последнее : akvvohinc, 06.03.23 01:21 ![]() |
Re: Серийный номер USB | |
---|---|
sphinx Автор Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Код от Леонида рабочий (в одном месте убрать перенос (;), протестировано.
Проблема закрыта. Всем, кто обсуждал и пытался помочь - респект! ![]() ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Особого смысла не имеет, но всё же дополню.
Леонид писал код, видимо, до появления в Фоксе функций CTOBIN() и BINTOC(). С их помощью можно заменить функцию word2str и прочие подобные функции его кода. TrimEnd тоже теперь можно заменить стандартной TRIM(). Исправлено 1 раз(а). Последнее : akvvohinc, 11.03.23 02:26 ![]() |
Re: Серийный номер USB | |
---|---|
sphinx Автор Сообщений: 30457 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Да, я обратил внимание. Дойдут руки - подправлю.
Спасибо! ![]() ------------------ "Veni, vidi, vici!"(с) ![]() |
Re: Серийный номер USB | |
---|---|
ssa Сообщений: 12922 Откуда: Москва Дата регистрации: 23.03.2005 |
А вот тебе для затравки:
------------------ Лень - это неосознанная мудрость. ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Нет, здесь иначе - функция принимает число и возвращает строку длиной 2: RETURN LEFT(BINTOC(m.wrd,'4r'),2) ![]() |
Re: Серийный номер USB | |
---|---|
ssa Сообщений: 12922 Откуда: Москва Дата регистрации: 23.03.2005 |
Угу. Я, оказалось, тестировал не некорректных данных. Недоглядел. Надо бы посыпать голову пеплом, да взять его негде, не курю. ![]() ------------------ Лень - это неосознанная мудрость. ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:А так на одну функцию меньше: Eval("0h"+Substr(m.Guid,07,2)) Исправлено 1 раз(а). Последнее : akvvohinc, 11.03.23 18:34 ![]() |
Re: Серийный номер USB | |
---|---|
of63 Сообщений: 24232 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> Eval("0h"+Substr(m.Guid,07,2))
? 0h + Substr(m.Guid,07,2) - вернет тоже самое ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:А если проверить? ![]() В первом случае извлекаемые символы трактуются как 16-ричные цифры (каждые 2 символа строки преобразуются в 1 байт), а во втором - как "просто символы", каждый из которых используется "как есть" (1 байт каждый). Иными словами, символ и код символа - совсем не одно и то же: ? EVAL('0h'+'0A') && 0h0A ? 0h+'0A' && 0h3041 Исправлено 5 раз(а). Последнее : akvvohinc, 12.03.23 03:29 ![]() |
Re: Серийный номер USB | |
---|---|
of63 Сообщений: 24232 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> EVAL('0h'+'0A') && 0h0A
естественно - это же 0h0A она же x = '0h'+'0A' ? &x && 0h0A ... да, упустил компиляцию (EVAL) в мозгу, звоночки... ) () я использую конструкцию x = 0h + строка ? &x && Q-строка, изображается в фоксовом окне как 0haabbcc... - набор 16-ричных пар чисел... удобно, что с левого (младшего) символа... все такое... Исправлено 1 раз(а). Последнее : of63, 13.03.23 19:51 ![]() |
Re: Серийный номер USB | |
---|---|
akvvohinc Сообщений: 3916 Откуда: Москва Дата регистрации: 11.11.2008 |
Цитата:Не может быть. В макро нельзя использовать переменные с типом Q - только C. ![]() |
Re: Серийный номер USB | |
---|---|
of63 Сообщений: 24232 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
[quote akvvohinc][quote]() я использую конструкцию
x = 0h + строка ? &x[/quote] Не может быть. В макро нельзя использовать переменные с типом Q - только C.[/quote] а да ошибся, блин ( x = "'0h'" + "'"+строка+"'" ? EVAL(x) && задел, Сергей )[/quote] ... туплю Исправлено 1 раз(а). Последнее : of63, 13.03.23 21:09 ![]() |
© 2000-2023 Fox Club  |