Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI/HTA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
ddp
1

Запись ключа windows в текстовый файл

12.01.2013, 16:58. Показов 2178. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Подскажите пожалуйста, имеется vbs скрипт для определения ключа продукта Windows. Он выводит его в сообщение [MsgBox(Win8ProductKey)]. Как сделать, чтобы он записал его в текстовый файл во временную папку (скажем %TEMP%\1.txt)? Заранее спасибо.
Скрипт:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Set WshShell = CreateObject("WScript.Shell")
regKey = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
DigitalProductId = WshShell.RegRead(regKey & "DigitalProductId")
 
Win8ProductName = "Windows Product Name: " & WshShell.RegRead(regKey & "ProductName") & vbNewLine
Win8ProductID = "Windows Product ID: " & WshShell.RegRead(regKey & "ProductID") & vbNewLine
Win8ProductKey = ConvertToKey(DigitalProductId)
strProductKey ="Windows 8 Key: " & Win8ProductKey 
Win8ProductID = Win8ProductName & Win8ProductID & strProductKey 
 
MsgBox(Win8ProductKey)
 
 
Function ConvertToKey(regKey)
    Const KeyOffset = 52
    isWin8 = (regKey(66) \ 6) And 1
    regKey(66) = (regKey(66) And &HF7) Or ((isWin8 And 2) * 4)
    j = 24
    Chars = "BCDFGHJKMPQRTVWXY2346789"
    Do
        Cur = 0
        y = 14
        Do
            Cur = Cur * 256
            Cur = regKey(y + KeyOffset) + Cur
            regKey(y + KeyOffset) = (Cur \ 24)
            Cur = Cur Mod 24
            y = y -1
        Loop While y >= 0
        j = j -1
        winKeyOutput = Mid(Chars, Cur + 1, 1) & winKeyOutput
        Last = Cur
    Loop While j >= 0
    If (isWin8 = 1) Then
        keypart1 = Mid(winKeyOutput, 2, Last)
        insert = "N"
        winKeyOutput = Replace(winKeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
        If Last = 0 Then winKeyOutput = insert & winKeyOutput
    End If
    a = Mid(winKeyOutput, 1, 5)
    b = Mid(winKeyOutput, 6, 5)
    c = Mid(winKeyOutput, 11, 5)
    d = Mid(winKeyOutput, 16, 5)
    e = Mid(winKeyOutput, 21, 5)
    ConvertToKey = a & "-" & b & "-" & c & "-" & d & "-" & e
End Function
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2013, 16:58
Ответы с готовыми решениями:

Select + запись данных из формы в текстовый файл. Freebsd+Windows
Доброго времени суток. Подскажите почему сей код некорректно выдает значения и упорно отказывается...

Запись в текстовый файл (каждая запись - отдельная строка)
Добрый вечер) Программа берет данные таблицы Access и записывает их в строчку. Проблема заключается...

Поместить список файлов текущего каталога в текстовый файл и в зависимости от ключа сортировать по какому-либо полю
Условие:"Разработать командный файл, который помещает список файлов текущего каталога в текстовый...

Запись в текстовый файл
Создать текстовый файл и записать в него 6 строк. Записываемые строки вводятся с клавиатуры. ...

2
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
12.01.2013, 17:35 2
Вставьте в строку № 10:
Visual Basic
1
2
3
4
5
6
Dim fso, txtfile
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtfile = fso.CreateTextFile(WshShell.ExpandEnvironmentStrings("%temp%") & "\1.txt", True)
txtfile.WriteLine(Win8ProductKey)
txtfile.Close
Set txtfile=nothing: Set fso=nothing
Вот статейка: FileSystemObject – тяжелая артиллерия VB6 (статья)
0
ddp
12.01.2013, 18:44 3
Dragokas, большое спасибо.
12.01.2013, 18:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2013, 18:44
Помогаю со студенческими работами здесь

Запись в текстовый файл
Помогите,пожалуйста! Нужно записать данные в файл, через TButton. Нажимаешь кнопку и данные,...

Запись в текстовый файл
Здравствуйте. Есть текстовый файл: Иванов|Очная|Кибернетика|1 Сидоров|Заочная|Машиностроение|2...

Запись в текстовый файл
Всем привет. Вот в Паскале можно работать с файлами, допустим вводишь число в программе, а она...

Запись в текстовый файл
Здравствуйте ...есть скрипт <? $num_of_mes = 1; $messages_array = file("texts.txt"); ...

Запись в текстовый файл
procedure FindFiles(StartFolder, Mask: string; List: TStrings; ScanSubFolders: Boolean = True);...

Запись в текстовый файл
Всем привет! Возникла такая проблема, хочу вывести данные массивов по id, что бы всё было в одной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru