Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
1

Как узнать лицензионный ключ Windows

26.06.2015, 01:09. Просмотров 524. Ответов 2
Метки нет (Все метки)

Доброе время суток.
Подскажите пожалуйста как можно узнать Prodyct key от Windows в таком виде в котором он приходит с коробкой?
Ну или как вставить этот код в Visual basic что бы он отработался и вывел данные в label1.text на форме?
Кликните здесь для просмотра всего текста

vb.net
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
47
48
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
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2015, 01:09
Ответы с готовыми решениями:

Узнать лицензионный ключ Windows
Всем привет! Есть код, но не знаю конечно на сколько он правильно и корректно...

Как создать лицензионный ключ для своего приложения?
Здравствуйте Уважаемые форумчане. как составить лицензионный ключ для своей...

Как узнать уровень громкости Windows 7 ?
Пожалуйста.

Как програмным путём добавить ключ в реестр?
Как на VB .NET програмным путём добавить ключ типа DWORD со значением 1...

Можно ли узнать имя учетной записи для входа в Windows
VB 2010 Подскажите как узнать и извлеч из него скажем 4ю и 5ю цифру.

2
vova_king
24 / 24 / 9
Регистрация: 29.07.2010
Сообщений: 264
04.07.2015, 00:41  [ТС] 2
Продолжаем.
Начал писать и у меня посыпались ошибки, в чем может быть дело?
vb.net
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
    Public Function mywinkey(ByVal path As String, ByVal name As String) As String
        Dim A As Object = My.Computer.Registry.GetValue(path, name, 0)
        Dim B As String = ""
        Dim C As String = ""
        Dim D As Integer = 52
        Dim E As Integer = 67
        Dim F(24) As String
        Dim G As Integer = 29
        Dim H As Integer = 15
        Dim J(15) As String
        Dim K(30) As String
        Dim L As String = ""
 
        If A Is Nothing Then Return "No Value"
 
        Try
            For i As Integer = LBound(A) To UBound(A)
                B = B & "" & Hex(A(i))
            Next
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        End Try
        F(0) = "B" : F(1) = "C" : F(2) = "D" : F(3) = "F" : F(4) = "G" : F(5) = "H"
        F(6) = "J" : F(7) = "K" : F(8) = "M" : F(9) = "P" : F(10) = "Q" : F(11) = "R"
        F(12) = "T" : F(13) = "V" : F(14) = "W" : F(15) = "X" : F(16) = "Y"
        F(17) = "2" : F(18) = "3" : F(19) = "4" : F(20) = "5" : F(21) = "6" : F(22) = "7"
        F(23) = "8" : F(24) = "9"
 
        Try
            For i = D To E
                J(1 - D) = A(i)
                C = C & "" & Hex(J(i - D))
 
            Next
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        End Try
 
        For i As Integer = G - 1 To 0 Step -1
            If ((i + 1) Mod 6) = 0 Then
                K(i) = "-"
                L = L & "-"
            Else
                Dim M As Integer = 0
                For n As Integer = (H - 1) To 0 Step -1
                    Dim O As Integer = ((M * 2 ^ 8) Or J(n)) ' this dim is not a zero but the letter O
                    J(n) = O \ 24 ' this is also the letter O
                    M = (O Mod 24) ' this is alsi the letter O
                Next
                K(i) = F(M)
                L = L & F(M)
 
            End If
        Next
        Return StrReverse(L)
 
    End Function
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        TextBox20.Text = mywinkey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductId")
 
    End Sub
0
Миниатюры
Как узнать лицензионный ключ Windows   Как узнать лицензионный ключ Windows   Как узнать лицензионный ключ Windows  

diller
Заблокирован
05.07.2015, 23:11 3
Меня тоже интересует этот вопрос!
У кого нибудь есть предложения по решению вопроса?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2015, 23:11

Ключ для своей программы - как продумать логику
Всем привет, Лазил по Готовым решениям и просвещался. Заинтересовала эта...

Как зашифровать XOR-ом так чтобы ключ был более 256 символов?
Как зашифровать данные методом XOR так чтобы ключ был более 256 символов?...

Узнать лицензионный ключ Windows
Как узнать лицензионный ключ Windows? Возможно ли это сделать на удаленном...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru