Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как получить лицензионный ключ windows через .Net Framework / 3 сообщений из 3, страница 1 из 1
26.06.2015, 01:30
    #38993191
minioracle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить лицензионный ключ windows через .Net Framework
Доброе время суток.
Вот возникла задача по работе в форму вставлять лицензионный ключи винды. В интере есть только решение через vbs (а как его подключить к форме я не знаю), работа с PowerShell (с которым я вообще не имел делов).

Подскажите пожалуйста как можно это реализовать.

Или может быть кто то знает как это можно сделать через WMI?
...
Рейтинг: 0 / 0
26.06.2015, 01:54
    #38993202
wamaco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить лицензионный ключ windows через .Net Framework
minioracle,
Код: powershell
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.
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)
MsgBox(Win8ProductID)
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
...
Рейтинг: 0 / 0
26.06.2015, 07:22
    #38993231
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить лицензионный ключ windows через .Net Framework
minioracle,

Форма своя или чужая? Html форма подойдет в виде HTA приложения? Вообщем побольше конкретики, каков результат конечный - такой и инструмент будет. Power Shell обязателен?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как получить лицензионный ключ windows через .Net Framework / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]