CommonLibSSE NG
Loading...
Searching...
No Matches
WinAPI.h
Go to the documentation of this file.
1#pragma once
2
3#undef CP_UTF8
4#undef IMAGE_SCN_MEM_EXECUTE
5#undef IMAGE_SCN_MEM_WRITE
6#undef INVALID_HANDLE_VALUE
7#undef MAX_PATH
8#undef MEM_COMMIT
9#undef MEM_RESERVE
10#undef MEM_RELEASE
11#undef PAGE_EXECUTE_READWRITE
12#undef HKEY_LOCAL_MACHINE
13
14#undef GetEnvironmentVariable
15#undef GetFileVersionInfoSize
16#undef GetModuleFileName
17#undef VerQueryValue
18#undef GetFileVersionInfo
19#undef GetModuleHandle
20#undef LoadLibrary
21#undef MessageBox
22#undef OutputDebugString
23
24namespace SKSE::WinAPI
25{
26 inline constexpr auto CP_UTF8{ 65001u };
27 inline constexpr auto FILE_ATTRIBUTE_READONLY{ 0x00000001u };
28 inline constexpr auto FILE_ATTRIBUTE_HIDDEN{ 0x00000002u };
29 inline constexpr auto FILE_ATTRIBUTE_SYSTEM{ 0x00000004u };
30 inline constexpr auto FILE_ATTRIBUTE_DIRECTORY{ 0x00000010u };
31 inline constexpr auto FILE_ATTRIBUTE_ARCHIVE{ 0x00000020u };
32 inline constexpr auto IMAGE_SCN_MEM_EXECUTE{ 0x20000000u };
33 inline constexpr auto IMAGE_SCN_MEM_WRITE{ 0x80000000u };
34 inline const auto INVALID_HANDLE_VALUE{ reinterpret_cast<void*>(static_cast<std::intptr_t>(-1)) };
35 inline constexpr auto MAX_PATH{ 260u };
36 inline constexpr auto MEM_COMMIT{ 0x00001000u };
37 inline constexpr auto MEM_RESERVE{ 0x00002000u };
38 inline constexpr auto MEM_RELEASE{ 0x00008000u };
39 inline constexpr auto PAGE_EXECUTE_READWRITE{ 0x40u };
40
42 {
43 public:
44 // members
45 void* DebugInfo; // 00
46 std::int32_t LockCount; // 08
47 std::int32_t RecursionCount; // 0C
48 void* OwningThread; // 10
49 void* LockSemaphore; // 18
50 std::uint64_t* SpinCount; // 20
51 };
52 static_assert(sizeof(CRITICAL_SECTION) == 0x28);
53
54 struct _FILETIME
55 {
56 public:
57 // members
58 std::uint32_t dwLowDateTime; // 00
59 std::uint32_t dwHighDateTime; // 04
60 };
61 static_assert(sizeof(_FILETIME) == 0x8);
63
64 struct _GUID
65 {
66 std::uint32_t Data1;
67 std::uint16_t Data2;
68 std::uint16_t Data3;
69 std::uint8_t Data4[8];
70 };
71 static_assert(sizeof(_GUID) == 0x10);
72 using GUID = _GUID;
73
74 struct HWND__;
75 using HWND = HWND__*;
76
77 struct HINSTANCE__;
78 using HINSTANCE = HINSTANCE__*;
80
81 struct HKEY__;
82 using HKEY = HKEY__*;
83
84 inline auto HKEY_LOCAL_MACHINE = reinterpret_cast<HKEY>(static_cast<uintptr_t>(0x80000002));
85
87 {
88 public:
89 // members
90 std::uint32_t dwFileAttributes;
94 std::uint32_t nFileSizeHigh;
95 std::uint32_t nFileSizeLow;
96 std::uint32_t dwReserved0;
97 std::uint32_t dwReserved1;
100 };
101 static_assert(sizeof(_WIN32_FIND_DATAA) == 0x140);
103
105 {
106 public:
107 // members
108 std::uint32_t dwFileAttributes;
112 std::uint32_t nFileSizeHigh;
113 std::uint32_t nFileSizeLow;
114 std::uint32_t dwReserved0;
115 std::uint32_t dwReserved1;
118 };
119 static_assert(sizeof(_WIN32_FIND_DATAW) == 0x250);
121
122 struct tagRECT
123 {
124 std::int32_t left;
125 std::int32_t top;
126 std::int32_t right;
127 std::int32_t bottom;
128 };
129 using RECT = tagRECT;
130
131 struct tagPOINT
132 {
133 std::int32_t x;
134 std::int32_t y;
135 };
137
138 using HRESULT = std::int32_t;
139
140 enum VKEnum : std::uint32_t
141 {
148 VK_BACK = 0x8,
149 VK_TAB = 0x9,
152 VK_CLEAR = 0xC,
154 VK_SHIFT = 0x10,
156 VK_MENU = 0x12,
157 VK_PAUSE = 0x13,
159 VK_KANA = 0x15,
161 VK_HANGUL = 0x15,
162 VK_IME_ON = 0x16,
163 VK_JUNJA = 0x17,
164 VK_FINAL = 0x18,
165 VK_HANJA = 0x19,
168 VK_ESCAPE = 0x1B,
171 VK_ACCEPT = 0x1E,
173 VK_SPACE = 0x20,
174 VK_PRIOR = 0x21,
175 VK_NEXT = 0x22,
176 VK_END = 0x23,
177 VK_HOME = 0x24,
178 VK_LEFT = 0x25,
179 VK_UP = 0x26,
180 VK_RIGHT = 0x27,
181 VK_DOWN = 0x28,
182 VK_SELECT = 0x29,
183 VK_PRINT = 0x2A,
186 VK_INSERT = 0x2D,
187 VK_DELETE = 0x2E,
188 VK_HELP = 0x2F,
189 VK_0 = 0x30,
190 VK_1 = 0x31,
191 VK_2 = 0x32,
192 VK_3 = 0x33,
193 VK_4 = 0x34,
194 VK_5 = 0x35,
195 VK_6 = 0x36,
196 VK_7 = 0x37,
197 VK_8 = 0x38,
198 VK_9 = 0x39,
199 VK_A = 0x41,
200 VK_B = 0x42,
201 VK_C = 0x43,
202 VK_D = 0x44,
203 VK_E = 0x45,
204 VK_F = 0x46,
205 VK_G = 0x47,
206 VK_H = 0x48,
207 VK_I = 0x49,
208 VK_J = 0x4A,
209 VK_K = 0x4B,
210 VK_L = 0x4C,
211 VK_M = 0x4D,
212 VK_N = 0x4E,
213 VK_O = 0x4F,
214 VK_P = 0x50,
215 VK_Q = 0x51,
216 VK_R = 0x52,
217 VK_S = 0x53,
218 VK_T = 0x54,
219 VK_U = 0x55,
220 VK_V = 0x56,
221 VK_W = 0x57,
222 VK_X = 0x58,
223 VK_Y = 0x59,
224 VK_Z = 0x5A,
225 VK_LWIN = 0x5B,
226 VK_RWIN = 0x5C,
227 VK_APPS = 0x5D,
229 VK_SLEEP = 0x5F,
241 VK_ADD = 0x6B,
245 VK_DIVIDE = 0x6F,
246 VK_F1 = 0x70,
247 VK_F2 = 0x71,
248 VK_F3 = 0x72,
249 VK_F4 = 0x73,
250 VK_F5 = 0x74,
251 VK_F6 = 0x75,
252 VK_F7 = 0x76,
253 VK_F8 = 0x77,
254 VK_F9 = 0x78,
255 VK_F10 = 0x79,
256 VK_F11 = 0x7A,
257 VK_F12 = 0x7B,
258 VK_F13 = 0x7C,
259 VK_F14 = 0x7D,
260 VK_F15 = 0x7E,
261 VK_F16 = 0x7F,
262 VK_F17 = 0x80,
263 VK_F18 = 0x81,
264 VK_F19 = 0x82,
265 VK_F20 = 0x83,
266 VK_F21 = 0x84,
267 VK_F22 = 0x85,
268 VK_F23 = 0x86,
269 VK_F24 = 0x87,
271 VK_SCROLL = 0x91,
277 VK_LSHIFT = 0xA0,
278 VK_RSHIFT = 0xA1,
281 VK_LMENU = 0xA4,
282 VK_RMENU = 0xA5,
303 VK_OEM_1 = 0xBA,
308 VK_OEM_2 = 0xBF,
309 VK_OEM_3 = 0xC0,
333 VK_OEM_4 = 0xDB,
334 VK_OEM_5 = 0xDC,
335 VK_OEM_6 = 0xDD,
336 VK_OEM_7 = 0xDE,
337 VK_OEM_8 = 0xDF,
345 VK_PACKET = 0xE7,
359 VK_ATTN = 0xF6,
360 VK_CRSEL = 0xF7,
361 VK_EXSEL = 0xF8,
362 VK_EREOF = 0xF9,
363 VK_PLAY = 0xFA,
364 VK_ZOOM = 0xFB,
365 VK_NONAME = 0xFC,
366 VK_PA1 = 0xFD,
368 VK_RESERVED_FF = 0xFF
369 };
370
371 [[nodiscard]] bool FindClose(void* a_findFile) noexcept;
372
373 [[nodiscard]] void* FindFirstFile(
374 const char* a_fileName,
375 WIN32_FIND_DATAA* a_findFileData) noexcept;
376
377 [[nodiscard]] void* FindFirstFile(
378 const wchar_t* a_fileName,
379 WIN32_FIND_DATAW* a_findFileData) noexcept;
380
381 [[nodiscard]] bool FindNextFile(
382 void* a_findFile,
383 WIN32_FIND_DATAA* a_findFileData) noexcept;
384
385 [[nodiscard]] bool FindNextFile(
386 void* a_findFile,
387 WIN32_FIND_DATAW* a_findFileData) noexcept;
388
389 bool FreeLibrary(HMODULE a_module) noexcept;
390
391 [[nodiscard]] void* GetCurrentModule() noexcept;
392
393 [[nodiscard]] void* GetCurrentProcess() noexcept;
394
395 [[nodiscard]] std::uint32_t GetCurrentThreadID() noexcept;
396
397 [[nodiscard]] std::uint32_t GetEnvironmentVariable(
398 const char* a_name,
399 char* a_buffer,
400 std::uint32_t a_size) noexcept;
401
402 [[nodiscard]] std::uint32_t GetEnvironmentVariable(
403 const wchar_t* a_name,
404 wchar_t* a_buffer,
405 std::uint32_t a_size) noexcept;
406
407 [[nodiscard]] bool GetFileVersionInfo(
408 const char* a_filename,
409 std::uint32_t a_handle,
410 std::uint32_t a_len,
411 void* a_data) noexcept;
412
413 [[nodiscard]] bool GetFileVersionInfo(
414 const wchar_t* a_filename,
415 std::uint32_t a_handle,
416 std::uint32_t a_len,
417 void* a_data) noexcept;
418
419 [[nodiscard]] std::uint32_t GetFileVersionInfoSize(
420 const char* a_filename,
421 std::uint32_t* a_handle) noexcept;
422
423 [[nodiscard]] std::uint32_t GetFileVersionInfoSize(
424 const wchar_t* a_filename,
425 std::uint32_t* a_handle) noexcept;
426
427 [[nodiscard]] int GetKeyNameText(
428 std::int32_t a_lParam,
429 char* a_buffer,
430 int a_size) noexcept;
431
432 [[nodiscard]] int GetKeyNameText(
433 std::int32_t a_lParam,
434 wchar_t* a_buffer,
435 int a_size) noexcept;
436
437 [[nodiscard]] std::int16_t GetKeyState(int nVirtKey) noexcept;
438
439 [[nodiscard]] std::size_t GetMaxPath() noexcept;
440
441 [[nodiscard]] std::uint32_t GetModuleFileName(
442 void* a_module,
443 char* a_filename,
444 std::uint32_t a_size) noexcept;
445
446 [[nodiscard]] std::uint32_t GetModuleFileName(
447 void* a_module,
448 wchar_t* a_filename,
449 std::uint32_t a_size) noexcept;
450
451 [[nodiscard]] HMODULE GetModuleHandle(const char* a_moduleName) noexcept;
452
453 [[nodiscard]] HMODULE GetModuleHandle(const wchar_t* a_moduleName) noexcept;
454
455 [[nodiscard]] std::uint32_t GetPrivateProfileString(
456 const char* a_appName,
457 const char* a_keyName,
458 const char* a_default,
459 char* a_outString,
460 std::uint32_t a_size,
461 const char* a_fileName) noexcept;
462
463 [[nodiscard]] std::uint32_t GetPrivateProfileString(
464 const wchar_t* a_appName,
465 const wchar_t* a_keyName,
466 const wchar_t* a_default,
467 wchar_t* a_outString,
468 std::uint32_t a_size,
469 const wchar_t* a_fileName) noexcept;
470
471 [[nodiscard]] void* GetProcAddress(
472 void* a_module,
473 const char* a_procName) noexcept;
474
475 [[nodiscard]] bool IsDebuggerPresent() noexcept;
476
477 [[nodiscard]] HMODULE LoadLibrary(const char* a_libFileName) noexcept;
478
479 [[nodiscard]] HMODULE LoadLibrary(const wchar_t* a_libFileName) noexcept;
480
481 std::int32_t MessageBox(
482 void* a_wnd,
483 const char* a_text,
484 const char* a_caption,
485 unsigned int a_type) noexcept;
486
487 std::int32_t MessageBox(
488 void* a_wnd,
489 const wchar_t* a_text,
490 const wchar_t* a_caption,
491 unsigned int a_type) noexcept;
492
493 [[nodiscard]] int MultiByteToWideChar(
494 unsigned int a_codePage,
495 std::uint32_t a_flags,
496 const char* a_multiByteStr,
497 int a_multiByte,
498 wchar_t* a_wideCharStr,
499 int a_wideChar);
500
502 const char* a_outputString) noexcept;
503
505 const wchar_t* a_outputString) noexcept;
506
507 long RegGetValueW(HKEY hkey, const char* subKey, const char* value, unsigned long flags, unsigned long* type,
508 void* data, unsigned long* length);
509
510 long RegGetValueW(HKEY hkey, const wchar_t* subKey, const wchar_t* value, unsigned long flags, unsigned long* type,
511 void* data, unsigned long* length);
512
513 [[nodiscard]] int ShowCursor(bool bShow) noexcept;
514
515 [[noreturn]] void TerminateProcess(
516 void* a_process,
517 unsigned int a_exitCode) noexcept;
518
519 [[nodiscard]] void* TlsGetValue(std::uint32_t a_tlsIndex) noexcept;
520
522 std::uint32_t a_tlsIndex,
523 void* a_tlsValue) noexcept;
524
526 void* a_address,
527 std::size_t a_size,
528 std::uint32_t a_freeType) noexcept;
529
530 [[nodiscard]] bool VerQueryValue(
531 const void* a_block,
532 const char* a_subBlock,
533 void** a_buffer,
534 unsigned int* a_len) noexcept;
535
536 [[nodiscard]] bool VerQueryValue(
537 const void* a_block,
538 const wchar_t* a_subBlock,
539 void** a_buffer,
540 unsigned int* a_len) noexcept;
541
542 [[nodiscard]] bool VirtualProtect(
543 void* a_address,
544 std::size_t a_size,
545 std::uint32_t a_newProtect,
546 std::uint32_t* a_oldProtect) noexcept;
547
548 [[nodiscard]] int WideCharToMultiByte(
549 unsigned int a_codePage,
550 std::uint32_t a_flags,
551 const wchar_t* a_wideCharStr,
552 int a_wideChar,
553 char* a_multiByteStr,
554 int a_multiByte,
555 const char* a_defaultChar,
556 int* a_usedDefaultChar);
557}
558
559namespace RE::DirectX
560{
562 {
563 public:
564 // members
565 float m[4][4];
566 };
567 static_assert(sizeof(XMFLOAT4X4) == 0x40);
568}
569
570#define CP_UTF8 ::SKSE::WinAPI::CP_UTF8
571#define IMAGE_SCN_MEM_EXECUTE ::SKSE::WinAPI::IMAGE_SCN_MEM_EXECUTE
572#define IMAGE_SCN_MEM_WRITE ::SKSE::WinAPI::IMAGE_SCN_MEM_WRITE
573#define INVALID_HANDLE_VALUE ::SKSE::WinAPI::INVALID_HANDLE_VALUE
574#define MAX_PATH ::SKSE::WinAPI::MAX_PATH
575#define MEM_COMMIT ::SKSE::WinAPI::MEM_COMMIT
576#define MEM_RESERVE ::SKSE::WinAPI::MEM_RESERVE
577#define MEM_RELEASE ::SKSE::WinAPI::MEM_RELEASE
578#define PAGE_EXECUTE_READWRITE ::SKSE::WinAPI::PAGE_EXECUTE_READWRITE
579
580#define GetEnvironmentVariable ::SKSE::WinAPI::GetEnvironmentVariable
581#define GetFileVersionInfoSize ::SKSE::WinAPI::GetFileVersionInfoSize
582#define GetModuleFileName ::SKSE::WinAPI::GetModuleFileName
583#define VerQueryValue ::SKSE::WinAPI::VerQueryValue
584#define GetFileVersionInfo ::SKSE::WinAPI::GetFileVersionInfo
585#define GetModuleHandle ::SKSE::WinAPI::GetModuleHandle
586#define LoadLibrary ::SKSE::WinAPI::LoadLibrary
587#define MessageBox ::SKSE::WinAPI::MessageBox
588#define OutputDebugString ::SKSE::WinAPI::OutputDebugString
#define GetEnvironmentVariable
Definition WinAPI.h:580
#define VerQueryValue
Definition WinAPI.h:583
#define LoadLibrary
Definition WinAPI.h:586
#define GetFileVersionInfo
Definition WinAPI.h:584
#define GetModuleHandle
Definition WinAPI.h:585
#define OutputDebugString
Definition WinAPI.h:588
#define MessageBox
Definition WinAPI.h:587
#define GetFileVersionInfoSize
Definition WinAPI.h:581
#define GetModuleFileName
Definition WinAPI.h:582
Definition AbsorbEffect.h:6
Definition WinAPI.h:25
constexpr auto FILE_ATTRIBUTE_DIRECTORY
Definition WinAPI.h:30
constexpr auto FILE_ATTRIBUTE_SYSTEM
Definition WinAPI.h:29
bool VirtualProtect(void *a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t *a_oldProtect) noexcept
auto HKEY_LOCAL_MACHINE
Definition WinAPI.h:84
void * GetCurrentProcess() noexcept
std::size_t GetMaxPath() noexcept
bool FindClose(void *a_findFile) noexcept
constexpr auto IMAGE_SCN_MEM_WRITE
Definition WinAPI.h:33
constexpr auto MEM_RESERVE
Definition WinAPI.h:37
void * GetCurrentModule() noexcept
std::uint32_t GetCurrentThreadID() noexcept
void * GetProcAddress(void *a_module, const char *a_procName) noexcept
constexpr auto MEM_RELEASE
Definition WinAPI.h:38
constexpr auto PAGE_EXECUTE_READWRITE
Definition WinAPI.h:39
HWND__ * HWND
Definition WinAPI.h:75
void * TlsGetValue(std::uint32_t a_tlsIndex) noexcept
bool TlsSetValue(std::uint32_t a_tlsIndex, void *a_tlsValue) noexcept
constexpr auto FILE_ATTRIBUTE_ARCHIVE
Definition WinAPI.h:31
std::int32_t HRESULT
Definition WinAPI.h:138
bool IsDebuggerPresent() noexcept
constexpr auto IMAGE_SCN_MEM_EXECUTE
Definition WinAPI.h:32
VKEnum
Definition WinAPI.h:141
@ VK_F11
Definition WinAPI.h:256
@ VK_FINAL
Definition WinAPI.h:164
@ VK_M
Definition WinAPI.h:211
@ VK_OEM_5
Definition WinAPI.h:334
@ VK_G
Definition WinAPI.h:205
@ VK_MEDIA_STOP
Definition WinAPI.h:295
@ VK_D
Definition WinAPI.h:202
@ VK_OEMSPECIFIC_F0
Definition WinAPI.h:353
@ VK_SPACE
Definition WinAPI.h:173
@ VK_HELP
Definition WinAPI.h:188
@ VK_ACCEPT
Definition WinAPI.h:171
@ VK_HANJA
Definition WinAPI.h:165
@ VK_RETURN
Definition WinAPI.h:153
@ VK_CLEAR
Definition WinAPI.h:152
@ VK_F10
Definition WinAPI.h:255
@ VK_OEMSPECIFIC_EB
Definition WinAPI.h:348
@ VK_RESERVED_C3
Definition WinAPI.h:312
@ VK_RESERVED_FF
Definition WinAPI.h:368
@ VK_MODECHANGE
Definition WinAPI.h:172
@ VK_OEM_2
Definition WinAPI.h:308
@ VK_I
Definition WinAPI.h:207
@ VK_PLAY
Definition WinAPI.h:363
@ VK_EXECUTE
Definition WinAPI.h:184
@ VK_NUMLOCK
Definition WinAPI.h:270
@ VK_OEMSPECIFIC_95
Definition WinAPI.h:275
@ VK_RESERVED_C1
Definition WinAPI.h:310
@ VK_W
Definition WinAPI.h:221
@ VK_OEM_PLUS
Definition WinAPI.h:304
@ VK_BROWSER_SEARCH
Definition WinAPI.h:287
@ VK_PACKET
Definition WinAPI.h:345
@ VK_NUMPAD6
Definition WinAPI.h:236
@ VK_RSHIFT
Definition WinAPI.h:278
@ VK_F19
Definition WinAPI.h:264
@ VK_KANJI
Definition WinAPI.h:166
@ VK_RESERVED_D1
Definition WinAPI.h:326
@ VK_RESERVED_C5
Definition WinAPI.h:314
@ VK_T
Definition WinAPI.h:218
@ VK_RWIN
Definition WinAPI.h:226
@ VK_SELECT
Definition WinAPI.h:182
@ VK_NUMPAD1
Definition WinAPI.h:231
@ VK_RBUTTON
Definition WinAPI.h:143
@ VK_HANGUL
Definition WinAPI.h:161
@ VK_OEMSPECIFIC_94
Definition WinAPI.h:274
@ VK_3
Definition WinAPI.h:192
@ VK_LAUNCH_APP1
Definition WinAPI.h:299
@ VK_NUMPAD7
Definition WinAPI.h:237
@ VK_OEMSPECIFIC_93
Definition WinAPI.h:273
@ VK_RESERVED_C2
Definition WinAPI.h:311
@ VK_PRIOR
Definition WinAPI.h:174
@ VK_CONTROL
Definition WinAPI.h:155
@ VK_OEM_PERIOD
Definition WinAPI.h:307
@ VK_Y
Definition WinAPI.h:223
@ VK_RESERVED_0B
Definition WinAPI.h:151
@ VK_LEFT
Definition WinAPI.h:178
@ VK_IME_ON
Definition WinAPI.h:162
@ VK_SHIFT
Definition WinAPI.h:154
@ VK_HANGUEL
Definition WinAPI.h:160
@ VK_RESERVED_CB
Definition WinAPI.h:320
@ VK_RESERVED_CE
Definition WinAPI.h:323
@ VK_UP
Definition WinAPI.h:179
@ VK_R
Definition WinAPI.h:216
@ VK_F23
Definition WinAPI.h:268
@ VK_RESERVED_D7
Definition WinAPI.h:332
@ VK_OEM_CLEAR
Definition WinAPI.h:367
@ VK_OEMSPECIFIC_F4
Definition WinAPI.h:357
@ VK_LMENU
Definition WinAPI.h:281
@ VK_NUMPAD0
Definition WinAPI.h:230
@ VK_OEM_7
Definition WinAPI.h:336
@ VK_OEMSPECIFIC_E6
Definition WinAPI.h:344
@ VK_XBUTTON1
Definition WinAPI.h:146
@ VK_OEM_3
Definition WinAPI.h:309
@ VK_DIVIDE
Definition WinAPI.h:245
@ VK_NUMPAD5
Definition WinAPI.h:235
@ VK_X
Definition WinAPI.h:222
@ VK_F9
Definition WinAPI.h:254
@ VK_EXSEL
Definition WinAPI.h:361
@ VK_RESERVED_CF
Definition WinAPI.h:324
@ VK_RESERVED_CD
Definition WinAPI.h:322
@ VK_BROWSER_HOME
Definition WinAPI.h:289
@ VK_NUMPAD9
Definition WinAPI.h:239
@ VK_OEM_4
Definition WinAPI.h:333
@ VK_6
Definition WinAPI.h:195
@ VK_F7
Definition WinAPI.h:252
@ VK_OEMSPECIFIC_F1
Definition WinAPI.h:354
@ VK_F18
Definition WinAPI.h:263
@ VK_OEMSPECIFIC_E1
Definition WinAPI.h:339
@ VK_ESCAPE
Definition WinAPI.h:168
@ VK_RIGHT
Definition WinAPI.h:180
@ VK_OEMSPECIFIC_92
Definition WinAPI.h:272
@ VK_ATTN
Definition WinAPI.h:359
@ VK_OEM_COMMA
Definition WinAPI.h:305
@ VK_LAUNCH_MAIL
Definition WinAPI.h:297
@ VK_NUMPAD3
Definition WinAPI.h:233
@ VK_7
Definition WinAPI.h:196
@ VK_OEMSPECIFIC_E3
Definition WinAPI.h:341
@ VK_RMENU
Definition WinAPI.h:282
@ VK_F3
Definition WinAPI.h:248
@ VK_Z
Definition WinAPI.h:224
@ VK_OEMSPECIFIC_EE
Definition WinAPI.h:351
@ VK_L
Definition WinAPI.h:210
@ VK_RESERVED_D6
Definition WinAPI.h:331
@ VK_F12
Definition WinAPI.h:257
@ VK_RESERVED_CC
Definition WinAPI.h:321
@ VK_OEMSPECIFIC_E9
Definition WinAPI.h:346
@ VK_BROWSER_REFRESH
Definition WinAPI.h:285
@ VK_VOLUME_MUTE
Definition WinAPI.h:290
@ VK_VOLUME_DOWN
Definition WinAPI.h:291
@ VK_RESERVED_D4
Definition WinAPI.h:329
@ VK_F6
Definition WinAPI.h:251
@ VK_0
Definition WinAPI.h:189
@ VK_MEDIA_PLAY_PAUSE
Definition WinAPI.h:296
@ VK_F5
Definition WinAPI.h:250
@ VK_RESERVED_D2
Definition WinAPI.h:327
@ VK_OEMSPECIFIC_F2
Definition WinAPI.h:355
@ VK_MEDIA_NEXT_TRACK
Definition WinAPI.h:293
@ VK_NUMPAD4
Definition WinAPI.h:234
@ VK_RESERVED_C4
Definition WinAPI.h:313
@ VK_DOWN
Definition WinAPI.h:181
@ VK_CRSEL
Definition WinAPI.h:360
@ VK_HOME
Definition WinAPI.h:177
@ VK_APPS
Definition WinAPI.h:227
@ VK_Q
Definition WinAPI.h:215
@ VK_NUMPAD8
Definition WinAPI.h:238
@ VK_NEXT
Definition WinAPI.h:175
@ VK_PROCESSKEY
Definition WinAPI.h:343
@ VK_LSHIFT
Definition WinAPI.h:277
@ VK_TAB
Definition WinAPI.h:149
@ VK_5
Definition WinAPI.h:194
@ VK_OEM_MINUS
Definition WinAPI.h:306
@ VK_SCROLL
Definition WinAPI.h:271
@ VK_BROWSER_BACK
Definition WinAPI.h:283
@ VK_8
Definition WinAPI.h:197
@ VK_SUBTRACT
Definition WinAPI.h:243
@ VK_MBUTTON
Definition WinAPI.h:145
@ VK_F16
Definition WinAPI.h:261
@ VK_LCONTROL
Definition WinAPI.h:279
@ VK_F24
Definition WinAPI.h:269
@ VK_RESERVED_B8
Definition WinAPI.h:301
@ VK_S
Definition WinAPI.h:217
@ VK_BACK
Definition WinAPI.h:148
@ VK_IME_OFF
Definition WinAPI.h:167
@ VK_RESERVED_C9
Definition WinAPI.h:318
@ VK_4
Definition WinAPI.h:193
@ VK_RESERVED_5E
Definition WinAPI.h:228
@ VK_PRINT
Definition WinAPI.h:183
@ VK_F17
Definition WinAPI.h:262
@ VK_F22
Definition WinAPI.h:267
@ VK_PA1
Definition WinAPI.h:366
@ VK_NUMPAD2
Definition WinAPI.h:232
@ VK_RCONTROL
Definition WinAPI.h:280
@ VK_LAUNCH_MEDIA_SELECT
Definition WinAPI.h:298
@ VK_ZOOM
Definition WinAPI.h:364
@ VK_MEDIA_PREV_TRACK
Definition WinAPI.h:294
@ VK_F20
Definition WinAPI.h:265
@ VK_OEMSPECIFIC_EC
Definition WinAPI.h:349
@ VK_KANA
Definition WinAPI.h:159
@ VK_OEM_102
Definition WinAPI.h:340
@ VK_OEM_8
Definition WinAPI.h:337
@ VK_XBUTTON2
Definition WinAPI.h:147
@ VK_JUNJA
Definition WinAPI.h:163
@ VK_EREOF
Definition WinAPI.h:362
@ VK_F
Definition WinAPI.h:204
@ VK_H
Definition WinAPI.h:206
@ VK_RESERVED_C6
Definition WinAPI.h:315
@ VK_E
Definition WinAPI.h:203
@ VK_CONVERT
Definition WinAPI.h:169
@ VK_K
Definition WinAPI.h:209
@ VK_F13
Definition WinAPI.h:258
@ VK_OEMSPECIFIC_EA
Definition WinAPI.h:347
@ VK_CAPITAL
Definition WinAPI.h:158
@ VK_OEMSPECIFIC_F5
Definition WinAPI.h:358
@ VK_F8
Definition WinAPI.h:253
@ VK_BROWSER_FORWARD
Definition WinAPI.h:284
@ VK_SNAPSHOT
Definition WinAPI.h:185
@ VK_F14
Definition WinAPI.h:259
@ VK_F1
Definition WinAPI.h:246
@ VK_N
Definition WinAPI.h:212
@ VK_OEMSPECIFIC_F3
Definition WinAPI.h:356
@ VK_BROWSER_FAVORITES
Definition WinAPI.h:288
@ VK_RESERVED_E0
Definition WinAPI.h:338
@ VK_MULTIPLY
Definition WinAPI.h:240
@ VK_RESERVED_C8
Definition WinAPI.h:317
@ VK_C
Definition WinAPI.h:201
@ VK_LWIN
Definition WinAPI.h:225
@ VK_F15
Definition WinAPI.h:260
@ VK_DELETE
Definition WinAPI.h:187
@ VK_2
Definition WinAPI.h:191
@ VK_9
Definition WinAPI.h:198
@ VK_RESERVED_C7
Definition WinAPI.h:316
@ VK_OEM_6
Definition WinAPI.h:335
@ VK_OEMSPECIFIC_E4
Definition WinAPI.h:342
@ VK_CANCEL
Definition WinAPI.h:144
@ VK_DECIMAL
Definition WinAPI.h:244
@ VK_RESERVED_B9
Definition WinAPI.h:302
@ VK_B
Definition WinAPI.h:200
@ VK_A
Definition WinAPI.h:199
@ VK_NONAME
Definition WinAPI.h:365
@ VK_NONCONVERT
Definition WinAPI.h:170
@ VK_OEMSPECIFIC_ED
Definition WinAPI.h:350
@ VK_VOLUME_UP
Definition WinAPI.h:292
@ VK_INSERT
Definition WinAPI.h:186
@ VK_LBUTTON
Definition WinAPI.h:142
@ VK_RESERVED_D3
Definition WinAPI.h:328
@ VK_F21
Definition WinAPI.h:266
@ VK_BROWSER_STOP
Definition WinAPI.h:286
@ VK_1
Definition WinAPI.h:190
@ VK_RESERVED_D5
Definition WinAPI.h:330
@ VK_OEMSPECIFIC_96
Definition WinAPI.h:276
@ VK_END
Definition WinAPI.h:176
@ VK_OEM_1
Definition WinAPI.h:303
@ VK_J
Definition WinAPI.h:208
@ VK_F2
Definition WinAPI.h:247
@ VK_RESERVED_CA
Definition WinAPI.h:319
@ VK_F4
Definition WinAPI.h:249
@ VK_RESERVED_0A
Definition WinAPI.h:150
@ VK_P
Definition WinAPI.h:214
@ VK_ADD
Definition WinAPI.h:241
@ VK_OEMSPECIFIC_EF
Definition WinAPI.h:352
@ VK_LAUNCH_APP2
Definition WinAPI.h:300
@ VK_U
Definition WinAPI.h:219
@ VK_MENU
Definition WinAPI.h:156
@ VK_V
Definition WinAPI.h:220
@ VK_O
Definition WinAPI.h:213
@ VK_SEPARATOR
Definition WinAPI.h:242
@ VK_PAUSE
Definition WinAPI.h:157
@ VK_SLEEP
Definition WinAPI.h:229
@ VK_RESERVED_D0
Definition WinAPI.h:325
HKEY__ * HKEY
Definition WinAPI.h:82
int MultiByteToWideChar(unsigned int a_codePage, std::uint32_t a_flags, const char *a_multiByteStr, int a_multiByte, wchar_t *a_wideCharStr, int a_wideChar)
bool FindNextFile(void *a_findFile, WIN32_FIND_DATAA *a_findFileData) noexcept
HINSTANCE HMODULE
Definition WinAPI.h:79
long RegGetValueW(HKEY hkey, const char *subKey, const char *value, unsigned long flags, unsigned long *type, void *data, unsigned long *length)
std::uint32_t GetPrivateProfileString(const char *a_appName, const char *a_keyName, const char *a_default, char *a_outString, std::uint32_t a_size, const char *a_fileName) noexcept
constexpr auto CP_UTF8
Definition WinAPI.h:26
const auto INVALID_HANDLE_VALUE
Definition WinAPI.h:34
HINSTANCE__ * HINSTANCE
Definition WinAPI.h:78
int WideCharToMultiByte(unsigned int a_codePage, std::uint32_t a_flags, const wchar_t *a_wideCharStr, int a_wideChar, char *a_multiByteStr, int a_multiByte, const char *a_defaultChar, int *a_usedDefaultChar)
int ShowCursor(bool bShow) noexcept
int GetKeyNameText(std::int32_t a_lParam, char *a_buffer, int a_size) noexcept
void TerminateProcess(void *a_process, unsigned int a_exitCode) noexcept
bool VirtualFree(void *a_address, std::size_t a_size, std::uint32_t a_freeType) noexcept
constexpr auto FILE_ATTRIBUTE_HIDDEN
Definition WinAPI.h:28
std::int16_t GetKeyState(int nVirtKey) noexcept
bool FreeLibrary(HMODULE a_module) noexcept
constexpr auto MEM_COMMIT
Definition WinAPI.h:36
constexpr auto FILE_ATTRIBUTE_READONLY
Definition WinAPI.h:27
void * FindFirstFile(const char *a_fileName, WIN32_FIND_DATAA *a_findFileData) noexcept
constexpr auto MAX_PATH
Definition WinAPI.h:35
Definition ActorValueList.h:28
Definition WinAPI.h:562
Definition WinAPI.h:55
std::uint32_t dwLowDateTime
Definition WinAPI.h:58
std::uint32_t dwHighDateTime
Definition WinAPI.h:59
Definition WinAPI.h:65
std::uint16_t Data2
Definition WinAPI.h:67
std::uint16_t Data3
Definition WinAPI.h:68
std::uint32_t Data1
Definition WinAPI.h:66
std::uint8_t Data4[8]
Definition WinAPI.h:69
Definition WinAPI.h:87
std::uint32_t nFileSizeLow
Definition WinAPI.h:95
char cFileName[MAX_PATH]
Definition WinAPI.h:98
std::uint32_t dwReserved1
Definition WinAPI.h:97
std::uint32_t dwFileAttributes
Definition WinAPI.h:90
std::uint32_t nFileSizeHigh
Definition WinAPI.h:94
FILETIME ftCreationTime
Definition WinAPI.h:91
char cAlternateFileName[14]
Definition WinAPI.h:99
std::uint32_t dwReserved0
Definition WinAPI.h:96
FILETIME ftLastAccessTime
Definition WinAPI.h:92
FILETIME ftLastWriteTime
Definition WinAPI.h:93
Definition WinAPI.h:105
FILETIME ftCreationTime
Definition WinAPI.h:109
wchar_t cFileName[MAX_PATH]
Definition WinAPI.h:116
FILETIME ftLastWriteTime
Definition WinAPI.h:111
wchar_t cAlternateFileName[14]
Definition WinAPI.h:117
FILETIME ftLastAccessTime
Definition WinAPI.h:110
std::uint32_t dwReserved1
Definition WinAPI.h:115
std::uint32_t nFileSizeHigh
Definition WinAPI.h:112
std::uint32_t dwFileAttributes
Definition WinAPI.h:108
std::uint32_t dwReserved0
Definition WinAPI.h:114
std::uint32_t nFileSizeLow
Definition WinAPI.h:113
Definition WinAPI.h:42
void * DebugInfo
Definition WinAPI.h:45
void * LockSemaphore
Definition WinAPI.h:49
std::uint64_t * SpinCount
Definition WinAPI.h:50
std::int32_t LockCount
Definition WinAPI.h:46
std::int32_t RecursionCount
Definition WinAPI.h:47
void * OwningThread
Definition WinAPI.h:48
Definition WinAPI.h:132
std::int32_t y
Definition WinAPI.h:134
std::int32_t x
Definition WinAPI.h:133
Definition WinAPI.h:123
std::int32_t top
Definition WinAPI.h:125
std::int32_t right
Definition WinAPI.h:126
std::int32_t left
Definition WinAPI.h:124
std::int32_t bottom
Definition WinAPI.h:127