annotate win95kggui/src/win95kggui.c @ 133:0d8eabdd12ab default tip

create: write H:MM:SS timestamps, add option to fill with gaussian-blur instead of black many albums are longer than one hour so writing H:MM:SS is a necessity. if anything there will just be verbose info that isn't important for my use-case. however the gaussian-blur is simply broken. It works, and it plays locally just fine, but YouTube in particular elongates the video to fit the full width. I'm not entirely sure why it does this, but it makes it useless and ugly.
author Paper <paper@tflc.us>
date Sat, 03 Jan 2026 20:25:38 -0500
parents 677f84ada082
children
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) {
111
677f84ada082 Update win95kggui.c
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents: 75
diff changeset
65 int first_digits, last_digit, second_segment;
677f84ada082 Update win95kggui.c
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents: 75
diff changeset
66 do {
64
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);
111
677f84ada082 Update win95kggui.c
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents: 75
diff changeset
77 } while (get_sum(second_segment) % 7 != 0);
64
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() {
111
677f84ada082 Update win95kggui.c
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents: 75
diff changeset
82 int new_site, ez_pwned;
677f84ada082 Update win95kggui.c
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents: 75
diff changeset
83 do {
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
84 new_site = rand() % 99;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
85 ez_pwned = (new_site % 10) + 2;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
86 if (ez_pwned >= 10) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
87 ez_pwned -= 10;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
88 }
111
677f84ada082 Update win95kggui.c
Paper <37962225+mrpapersonic@users.noreply.github.com>
parents: 75
diff changeset
89 } while (CONCAT_INTS(new_site, ez_pwned) == 0);
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
90 return CONCAT_INTS(new_site, ez_pwned);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
91 }
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 int oem_prefix() {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
94 const char* years[] = {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
95 "95",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
96 "96",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
97 "97",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
98 "98",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
99 "99",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
100 "00",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
101 "01",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
102 "02",
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
103 "03"
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
104 };
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
105 char buf[6];
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
106 sprintf(buf, "%03d", (rand() % 366) + 1);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
107 strcat(buf, years[rand() % 9]);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
108 int buf2 = atoi(buf);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
109 return buf2;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
110 }
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 void AddControls(HWND hWnd) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
113 int i = 0;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
114 /* Open File */
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
115 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
116 /* Type */
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
117 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
118 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
119 for (i = 0; i < ARRAYSIZE(listbox_items); i++) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
120 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
121 SendMessage(hWndListBox, LB_SETITEMDATA, pos, (LPARAM) i);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
122 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
123 SendMessage(hWndListBox, LB_SETCURSEL, (WPARAM)0, (LPARAM)0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
124 // idk
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
125 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
126 if (gen_button == NULL || hWndListBox == NULL || key_box == NULL)
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
127 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
128 }
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 bool CALLBACK SetFont(HWND child, LPARAM font) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
131 SendMessage(child, WM_SETFONT, font, true);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
132 return true;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
133 }
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 LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
136 switch(msg) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
137 case WM_COMMAND:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
138 if(HIWORD(wParam) == CBN_SELCHANGE) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
139 if (LOWORD(wParam) == LISTBOX)
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
140 type = SendMessageA((HWND) lParam, (UINT) LB_GETCURSEL, (WPARAM) 0, (LPARAM) 0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
141 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
142 switch(wParam) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
143 case GENERATE_KEY: {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
144 char* p = calloc(24, sizeof(char));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
145 switch(type) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
146 case 0:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
147 snprintf(p, 24, "%04d-%07d", office_prefix(), win95_suffix(false));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
148 SendMessageA(key_box, WM_SETTEXT, (WPARAM)0, (LPARAM)p);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
149 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
150 case 2:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
151 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
152 SendMessageA(key_box, WM_SETTEXT, (WPARAM)0, (LPARAM)p);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
153 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
154 case 1:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
155 snprintf(p, 24, "%03d-%07d", win95_nt4_prefix(), win95_suffix(false));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
156 SendMessageA(key_box, WM_SETTEXT, (WPARAM)0, (LPARAM)p);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
157 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
158 }
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 case LISTBOX:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
161 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
162 case KEY:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
163 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
164 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
165 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
166 case WM_CREATE: {
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
167 /* freq, buf, inter, ramp */
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
168 if (!initMusic(44100, 1024, false, true)) {
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
169 printf("init music\n");
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
170 EndDialog(hWnd, 0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
171 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
172 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
173 AddControls(hWnd);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
174 EnumChildWindows(hWnd, (WNDENUMPROC)SetFont, (LPARAM)GetStockObject(DEFAULT_GUI_FONT));
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
175 if (!loadMusicFromData(hdata, ARRAYSIZE(hdata))) {
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
176 printf("load music\n");
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
177 EndDialog(hWnd, 0);
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
178 break;
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
179 }
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
180 if (!startMusic())
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
181 {
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
182 printf("start music\n");
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
183 freeMusic();
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
184 EndDialog(hWnd, 0);
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
185 break;
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
186 }
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
187 startPlaying();
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
188 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
189 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
190 case WM_DESTROY:
75
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
191 stopMusic();
dbf5ce219fe3 Switch from BASS to ft2play
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
192 freeMusic();
64
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
193 PostQuitMessage(0);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
194 break;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
195 default:
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
196 return DefWindowProcA(hWnd, msg, wParam, lParam);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
197 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
198 return false;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
199 }
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 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR args, int ncmdshow) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
202 srand((unsigned) time(NULL)); // magic rand() stuff :p
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
203 WNDCLASSA wc = {0};
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
204
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
205 wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
206 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
207 wc.hInstance = hInstance;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
208 wc.lpszClassName = "win95kg";
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
209 wc.lpfnWndProc = WindowProcedure;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
210 wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(PEED));
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
211
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
212 if (!RegisterClassA(&wc)) return -1;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
213
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
214 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
215
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
216 MSG msg = {0};
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
217
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
218 while (GetMessage(&msg, NULL, 0, 0)) {
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
219 TranslateMessage(&msg);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
220 DispatchMessage(&msg);
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
221 }
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
222 return 0;
1508aee998df Add Windows 95 Keygen GUI
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
223 }