annotate win95kggui/src/win95kggui.c @ 95:5b56b6cc991f

Update Makefile committer: GitHub <noreply@github.com>
author Paper <37962225+mrpapersonic@users.noreply.github.com>
date Fri, 05 Aug 2022 23:46:19 -0400
parents dbf5ce219fe3
children 677f84ada082
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 /**
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2 * Windows 95 Keygen (Windows GUI ver.)
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
3 * Copyright (c) Paper 2022
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
4 *
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
6 * of this software and associated documentation files (the "Software"), to deal
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
7 * in the Software without restriction, including without limitation the rights
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
9 * copies of the Software, and to permit persons to whom the Software is
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
10 * furnished to do so, subject to the following conditions:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11 *
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
12 * The above copyright notice and this permission notice shall be included in all
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
13 * copies or substantial portions of the Software.
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
14 *
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
21 * SOFTWARE.
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
22 **/
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
23 #include <stdio.h>
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
24 #include <windows.h>
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
25 #include <stdint.h>
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
26 #include <stdbool.h>
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
27 #include <commdlg.h>
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
28 #include <math.h>
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
29 #include <time.h>
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
30 #include "../sub/ft2play/pmplay.h"
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
31 #include <resource.h>
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
32 #include "bergsm.h"
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
33 #ifndef WIN32_LEAN_AND_MEAN
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
34 #define WIN32_LEAN_AND_MEAN
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
35 #endif
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
36 #define _WIN32_WINNT 0x0400
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
37 #define ARRAYSIZE(a) \
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
38 sizeof(a)/sizeof(a[0])
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
39 #define CONCAT_INTS(x, y) \
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
40 x * pow(10, log10(y)+1) + y
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
41 #ifdef _MSC_VER
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
42 #define strdup(p) _strdup(p)
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
43 #endif
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
44 #define GENERATE_KEY 1
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
45 #define LISTBOX 2
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
46 #define KEY 3
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
47 int type;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
48 HWND hWndListBox, key_box;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
49
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
50 int get_sum(int n) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
51 int sum;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
52 for (sum = 0; n > 0; sum += n % 10, n /= 10); // copied this from google. sorry not sorry
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
53 return sum;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
54 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
55
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
56 int win95_nt4_prefix() {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
57 int num = rand() % 999;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
58 while ((num == 333) || (num == 444) || (num == 555) || (num == 666) || (num == 777) || (num == 888) || (num == 999)) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
59 num = num + 1;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
60 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
61 return num;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
62 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
63
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
64 int win95_suffix(bool is_oem) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
65 int first_digits, last_digit, second_segment = 5;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
66 while (get_sum(second_segment) % 7 != 0) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
67 if (is_oem == false) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
68 first_digits = rand() % 999999;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
69 } else {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
70 first_digits = rand() % 9999;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
71 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
72 last_digit = rand() % 9;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
73 while ((last_digit == 0) || (last_digit >= 8)) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
74 last_digit = rand() % 9;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
75 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
76 second_segment = CONCAT_INTS(first_digits, last_digit);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
77 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
78 return second_segment;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
79 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
80
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
81 int office_prefix() {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
82 int new_site = 0;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
83 int ez_pwned = 0;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
84 while (CONCAT_INTS(new_site, ez_pwned) == 0) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
85 new_site = rand() % 99;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
86 ez_pwned = (new_site % 10) + 2;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
87 if (ez_pwned >= 10) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
88 ez_pwned -= 10;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
89 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
90 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
91 return CONCAT_INTS(new_site, ez_pwned);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
92 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
93
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
94 int oem_prefix() {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
95 const char* years[] = {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
96 "95",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
97 "96",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
98 "97",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
99 "98",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
100 "99",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
101 "00",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
102 "01",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
103 "02",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
104 "03"
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
105 };
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
106 char buf[6];
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
107 sprintf(buf, "%03d", (rand() % 366) + 1);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
108 strcat(buf, years[rand() % 9]);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
109 int buf2 = atoi(buf);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
110 return buf2;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
111 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
112
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
113 void AddControls(HWND hWnd) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
114 int i = 0;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
115 /* Open File */
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
116 HWND gen_button = CreateWindowA("Button", "Generate Key", WS_VISIBLE | WS_CHILD, (int)((225 - 100)/2), 5, 100, 20, hWnd, (HMENU)GENERATE_KEY, NULL, NULL);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
117 /* Type */
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
118 TCHAR listbox_items[][22] = {"Windows 95 / NT 4 RTM", "Windows 95 OEM", "Office 97"};
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
119 hWndListBox = CreateWindowA("Listbox", NULL, WS_VISIBLE | WS_CHILD | LBS_STANDARD | LBS_NOTIFY, (int)((225 - 150)/2), 30, 150, 60, hWnd, (HMENU)LISTBOX, NULL, NULL);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
120 for (i = 0; i < ARRAYSIZE(listbox_items); i++) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
121 int pos = (int)SendMessage(hWndListBox, LB_ADDSTRING, i, (LPARAM) listbox_items[i]);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
122 SendMessage(hWndListBox, LB_SETITEMDATA, pos, (LPARAM) i);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
123 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
124 SendMessage(hWndListBox, LB_SETCURSEL, (WPARAM)0, (LPARAM)0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
125 // idk
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
126 key_box = CreateWindowA("Edit", "", WS_VISIBLE | WS_CHILD | WS_BORDER | ES_READONLY | ES_CENTER | ES_MULTILINE | SS_CENTER, (int)((225 - 150)/2), 100, 150, 40, hWnd, (HMENU)KEY, NULL, NULL);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
127 if (gen_button == NULL || hWndListBox == NULL || key_box == NULL)
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
128 MessageBoxA(hWnd, "how did you even trigger this", "GUI could not be initialized!", MB_ICONEXCLAMATION);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
129 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
130
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
131 bool CALLBACK SetFont(HWND child, LPARAM font) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
132 SendMessage(child, WM_SETFONT, font, true);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
133 return true;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
134 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
135
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
136 LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
137 switch(msg) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
138 case WM_COMMAND:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
139 if(HIWORD(wParam) == CBN_SELCHANGE) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
140 if (LOWORD(wParam) == LISTBOX)
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
141 type = SendMessageA((HWND) lParam, (UINT) LB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
142 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
143 switch(wParam) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
144 case GENERATE_KEY: {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
145 char* p = calloc(24, sizeof(char));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
146 switch(type) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
147 case 0:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
148 snprintf(p, 24, "%04d-%07d", office_prefix(), win95_suffix(false));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
149 SendMessageA(key_box, WM_SETTEXT, (WPARAM)0, (LPARAM)p);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
150 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
151 case 2:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
152 snprintf(p, 24, "%05d-OEM-%07d-%05d", oem_prefix(), win95_suffix(true), (rand() % 100000));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
153 SendMessageA(key_box, WM_SETTEXT, (WPARAM)0, (LPARAM)p);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
154 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
155 case 1:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
156 snprintf(p, 24, "%03d-%07d", win95_nt4_prefix(), win95_suffix(false));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
157 SendMessageA(key_box, WM_SETTEXT, (WPARAM)0, (LPARAM)p);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
158 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
159 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
160 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
161 case LISTBOX:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
162 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
163 case KEY:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
164 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
165 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
166 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
167 case WM_CREATE: {
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
168 /* freq, buf, inter, ramp */
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
169 if (!initMusic(44100, 1024, false, true)) {
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
170 printf("init music\n");
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
171 EndDialog(hWnd, 0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
172 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
173 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
174 AddControls(hWnd);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
175 EnumChildWindows(hWnd, (WNDENUMPROC)SetFont, (LPARAM)GetStockObject(DEFAULT_GUI_FONT));
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
176 if (!loadMusicFromData(hdata, ARRAYSIZE(hdata))) {
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
177 printf("load music\n");
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
178 EndDialog(hWnd, 0);
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
179 break;
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
180 }
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
181 if (!startMusic())
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
182 {
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
183 printf("start music\n");
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
184 freeMusic();
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
185 EndDialog(hWnd, 0);
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
186 break;
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
187 }
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
188 startPlaying();
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
189 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
190 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
191 case WM_DESTROY:
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
192 stopMusic();
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
193 freeMusic();
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
194 PostQuitMessage(0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
195 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
196 default:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
197 return DefWindowProcA(hWnd, msg, wParam, lParam);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
198 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
199 return false;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
200 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
201
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
202 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR args, int ncmdshow) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
203 srand((unsigned) time(NULL)); // magic rand() stuff :p
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
204 WNDCLASSA wc = {0};
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
205
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
206 wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
207 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
208 wc.hInstance = hInstance;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
209 wc.lpszClassName = "win95kg";
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
210 wc.lpfnWndProc = WindowProcedure;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
211 wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(PEED));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
212
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
213 if (!RegisterClassA(&wc)) return -1;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
214
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
215 CreateWindowA("win95kg", "Windows 95 Keygen", WS_OVERLAPPED | WS_VISIBLE | WS_MINIMIZEBOX | WS_SYSMENU, 100, 100, 225, 200, NULL, NULL, hInstance, NULL);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
216
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
217 MSG msg = {0};
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
218
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
219 while (GetMessage(&msg, NULL, 0, 0)) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
220 TranslateMessage(&msg);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
221 DispatchMessage(&msg);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
222 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
223 return 0;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
224 }