Перевести 16-ричный ответ WMI в символьную строку - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Столкнулся с проблемой получения серийного номера жесткого диска (не разделов) - тот, что на наклейке. WMI-запрос выдает ответ в таком виде:
2020202020202020202020203157304641444b57
А нужно в таком:
W1F0DAWK
1) Вопрос 1. Чисто математический: возможно ли перевести? (но не утверждаю, что первое число вообще содержит указанную строку) 2) Возможно, нужно что-нибудь изменить в запросе? Данную проблему решил для Windows 7 путем запуска скрипта с повышенными правами. Для XP проблема остается. Прилагаю 2 скрина (запуск "с правами" и без.) Сам скрипт VBScript/Visual Basic 6 (сформирован через Scriptomatic с правками):
На всякий случай - перевод на CMD лежит здесь: Полезные BAT/CMD скрипты Данная тема обсуждается также на форуме oszone. P.S. У некоторых пользователей проблема не наблюдается. Просьба отписать также в этой теме, если у Вас Bat-файл или скрипт дает правильный ответ без повышения прав.

Решение задачи: «Перевести 16-ричный ответ WMI в символьную строку»

textual
Листинг программы
Sub bb()
Dim s$, d$, i&
s = "2020202020202020202020203157304641444b57"
For i = 1 To Len(s) Step 4
    d = d & Chr$("&h" & Mid$(s, i + 2, 2)) & Chr$("&h" & Mid$(s, i, 2))
Next
Debug.Print Trim(d)
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы