mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 14:18:47 +00:00
Merge remote-tracking branch 'ftphikari/master'
This commit is contained in:
+260
-31
@@ -21,6 +21,7 @@ HINSTANCE :: HANDLE
|
|||||||
HMODULE :: distinct HINSTANCE
|
HMODULE :: distinct HINSTANCE
|
||||||
HRESULT :: distinct LONG
|
HRESULT :: distinct LONG
|
||||||
HWND :: distinct HANDLE
|
HWND :: distinct HANDLE
|
||||||
|
HDC :: distinct HANDLE
|
||||||
HMONITOR :: distinct HANDLE
|
HMONITOR :: distinct HANDLE
|
||||||
HICON :: distinct HANDLE
|
HICON :: distinct HANDLE
|
||||||
HCURSOR :: distinct HANDLE
|
HCURSOR :: distinct HANDLE
|
||||||
@@ -41,12 +42,12 @@ SIZE_T :: uint
|
|||||||
PSIZE_T :: ^SIZE_T
|
PSIZE_T :: ^SIZE_T
|
||||||
WORD :: u16
|
WORD :: u16
|
||||||
CHAR :: c_char
|
CHAR :: c_char
|
||||||
UINT_PTR :: uint
|
|
||||||
ULONG_PTR :: uint
|
ULONG_PTR :: uint
|
||||||
PULONG_PTR :: ^ULONG_PTR
|
PULONG_PTR :: ^ULONG_PTR
|
||||||
LPULONG_PTR :: ^ULONG_PTR
|
LPULONG_PTR :: ^ULONG_PTR
|
||||||
DWORD_PTR :: ULONG_PTR
|
DWORD_PTR :: ULONG_PTR
|
||||||
LONG_PTR :: int
|
LONG_PTR :: int
|
||||||
|
UINT_PTR :: uintptr
|
||||||
ULONG :: c_ulong
|
ULONG :: c_ulong
|
||||||
UCHAR :: BYTE
|
UCHAR :: BYTE
|
||||||
NTSTATUS :: c.long
|
NTSTATUS :: c.long
|
||||||
@@ -186,6 +187,82 @@ GetFileExInfoStandard: GET_FILEEX_INFO_LEVELS : 0
|
|||||||
GetFileExMaxInfoLevel: GET_FILEEX_INFO_LEVELS : 1
|
GetFileExMaxInfoLevel: GET_FILEEX_INFO_LEVELS : 1
|
||||||
|
|
||||||
|
|
||||||
|
WNDPROC :: #type proc "stdcall" (HWND, UINT, WPARAM, LPARAM) -> LRESULT
|
||||||
|
|
||||||
|
WNDCLASSA :: struct {
|
||||||
|
style: UINT,
|
||||||
|
lpfnWndProc: WNDPROC,
|
||||||
|
cbClsExtra: c_int,
|
||||||
|
cbWndExtra: c_int,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
hIcon: HICON,
|
||||||
|
hCursor: HCURSOR,
|
||||||
|
hbrBackground: HBRUSH,
|
||||||
|
lpszMenuName: LPCSTR,
|
||||||
|
lpszClassName: LPCSTR,
|
||||||
|
}
|
||||||
|
|
||||||
|
WNDCLASSW :: struct {
|
||||||
|
style: UINT,
|
||||||
|
lpfnWndProc: WNDPROC,
|
||||||
|
cbClsExtra: c_int,
|
||||||
|
cbWndExtra: c_int,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
hIcon: HICON,
|
||||||
|
hCursor: HCURSOR,
|
||||||
|
hbrBackground: HBRUSH,
|
||||||
|
lpszMenuName: LPCWSTR,
|
||||||
|
lpszClassName: LPCWSTR,
|
||||||
|
}
|
||||||
|
|
||||||
|
WNDCLASSEXA :: struct {
|
||||||
|
cbSize: UINT,
|
||||||
|
style: UINT,
|
||||||
|
lpfnWndProc: WNDPROC,
|
||||||
|
cbClsExtra: c_int,
|
||||||
|
cbWndExtra: c_int,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
hIcon: HICON,
|
||||||
|
hCursor: HCURSOR,
|
||||||
|
hbrBackground: HBRUSH,
|
||||||
|
lpszMenuName: LPCSTR,
|
||||||
|
lpszClassName: LPCSTR,
|
||||||
|
hIconSm: HICON,
|
||||||
|
}
|
||||||
|
|
||||||
|
WNDCLASSEXW :: struct {
|
||||||
|
cbSize: UINT,
|
||||||
|
style: UINT,
|
||||||
|
lpfnWndProc: WNDPROC,
|
||||||
|
cbClsExtra: c_int,
|
||||||
|
cbWndExtra: c_int,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
hIcon: HICON,
|
||||||
|
hCursor: HCURSOR,
|
||||||
|
hbrBackground: HBRUSH,
|
||||||
|
lpszMenuName: LPCWSTR,
|
||||||
|
lpszClassName: LPCWSTR,
|
||||||
|
hIconSm: HICON,
|
||||||
|
}
|
||||||
|
|
||||||
|
MSG :: struct {
|
||||||
|
hwnd: HWND,
|
||||||
|
message: UINT,
|
||||||
|
wParam: WPARAM,
|
||||||
|
lParam: LPARAM,
|
||||||
|
time: DWORD,
|
||||||
|
pt: POINT,
|
||||||
|
}
|
||||||
|
|
||||||
|
PAINTSTRUCT :: struct {
|
||||||
|
hdc: HDC,
|
||||||
|
fErase: BOOL,
|
||||||
|
rcPaint: RECT,
|
||||||
|
fRestore: BOOL,
|
||||||
|
fIncUpdate: BOOL,
|
||||||
|
rgbReserved: [32]BYTE,
|
||||||
|
}
|
||||||
|
|
||||||
WIN32_FIND_DATAW :: struct {
|
WIN32_FIND_DATAW :: struct {
|
||||||
dwFileAttributes: DWORD,
|
dwFileAttributes: DWORD,
|
||||||
ftCreationTime: FILETIME,
|
ftCreationTime: FILETIME,
|
||||||
@@ -199,6 +276,158 @@ WIN32_FIND_DATAW :: struct {
|
|||||||
cAlternateFileName: [14]wchar_t,
|
cAlternateFileName: [14]wchar_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CREATESTRUCTA :: struct {
|
||||||
|
lpCreateParams: LPVOID,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
hMenu: HMENU,
|
||||||
|
hwndParent: HWND,
|
||||||
|
cy: c_int,
|
||||||
|
cx: c_int,
|
||||||
|
y: c_int,
|
||||||
|
x: c_int,
|
||||||
|
style: LONG,
|
||||||
|
lpszName: LPCSTR,
|
||||||
|
lpszClass: LPCSTR,
|
||||||
|
dwExStyle: DWORD,
|
||||||
|
}
|
||||||
|
|
||||||
|
CREATESTRUCTW:: struct {
|
||||||
|
lpCreateParams: LPVOID,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
hMenu: HMENU,
|
||||||
|
hwndParent: HWND,
|
||||||
|
cy: c_int,
|
||||||
|
cx: c_int,
|
||||||
|
y: c_int,
|
||||||
|
x: c_int,
|
||||||
|
style: LONG,
|
||||||
|
lpszName: LPCWSTR,
|
||||||
|
lpszClass: LPCWSTR,
|
||||||
|
dwExStyle: DWORD,
|
||||||
|
}
|
||||||
|
|
||||||
|
CS_VREDRAW : UINT : 0x0001
|
||||||
|
CS_HREDRAW : UINT : 0x0002
|
||||||
|
CS_DBLCLKS : UINT : 0x0008
|
||||||
|
CS_OWNDC : UINT : 0x0020
|
||||||
|
CS_CLASSDC : UINT : 0x0040
|
||||||
|
CS_PARENTDC : UINT : 0x0080
|
||||||
|
CS_NOCLOSE : UINT : 0x0200
|
||||||
|
CS_SAVEBITS : UINT : 0x0800
|
||||||
|
CS_BYTEALIGNCLIENT : UINT : 0x1000
|
||||||
|
CS_BYTEALIGNWINDOW : UINT : 0x2000
|
||||||
|
CS_GLOBALCLASS : UINT : 0x4000
|
||||||
|
CS_DROPSHADOW : UINT : 0x0002_0000
|
||||||
|
|
||||||
|
GWL_EXSTYLE : c_int : -20
|
||||||
|
GWLP_HINSTANCE : c_int : -6
|
||||||
|
GWLP_ID : c_int : -12
|
||||||
|
GWL_STYLE : c_int : -16
|
||||||
|
GWLP_USERDATA : c_int : -21
|
||||||
|
GWLP_WNDPROC : c_int : -4
|
||||||
|
|
||||||
|
WS_BORDER : UINT : 0x0080_0000
|
||||||
|
WS_CAPTION : UINT : 0x00C0_0000
|
||||||
|
WS_CHILD : UINT : 0x4000_0000
|
||||||
|
WS_CHILDWINDOW : UINT : WS_CHILD
|
||||||
|
WS_CLIPCHILDREN : UINT : 0x0200_0000
|
||||||
|
WS_CLIPSIBLINGS : UINT : 0x0400_0000
|
||||||
|
WS_DISABLED : UINT : 0x0800_0000
|
||||||
|
WS_DLGFRAME : UINT : 0x0040_0000
|
||||||
|
WS_GROUP : UINT : 0x0002_0000
|
||||||
|
WS_HSCROLL : UINT : 0x0010_0000
|
||||||
|
WS_ICONIC : UINT : 0x2000_0000
|
||||||
|
WS_MAXIMIZE : UINT : 0x0100_0000
|
||||||
|
WS_MAXIMIZEBOX : UINT : 0x0001_0000
|
||||||
|
WS_MINIMIZE : UINT : 0x2000_0000
|
||||||
|
WS_MINIMIZEBOX : UINT : 0x0002_0000
|
||||||
|
WS_OVERLAPPED : UINT : 0x0000_0000
|
||||||
|
WS_OVERLAPPEDWINDOW : UINT : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
|
||||||
|
WS_POPUP : UINT : 0x8000_0000
|
||||||
|
WS_POPUPWINDOW : UINT : WS_POPUP | WS_BORDER | WS_SYSMENU
|
||||||
|
WS_SIZEBOX : UINT : 0x0004_0000
|
||||||
|
WS_SYSMENU : UINT : 0x0008_0000
|
||||||
|
WS_TABSTOP : UINT : 0x0001_0000
|
||||||
|
WS_THICKFRAME : UINT : 0x0004_0000
|
||||||
|
WS_TILED : UINT : 0x0000_0000
|
||||||
|
WS_TILEDWINDOW : UINT : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE
|
||||||
|
WS_VISIBLE : UINT : 0x1000_0000
|
||||||
|
WS_VSCROLL : UINT : 0x0020_0000
|
||||||
|
|
||||||
|
QS_ALLEVENTS : UINT : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY
|
||||||
|
QS_ALLINPUT : UINT : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE
|
||||||
|
QS_ALLPOSTMESSAGE : UINT : 0x0100
|
||||||
|
QS_HOTKEY : UINT : 0x0080
|
||||||
|
QS_INPUT : UINT : QS_MOUSE | QS_KEY | QS_RAWINPUT
|
||||||
|
QS_KEY : UINT : 0x0001
|
||||||
|
QS_MOUSE : UINT : QS_MOUSEMOVE | QS_MOUSEBUTTON
|
||||||
|
QS_MOUSEBUTTON : UINT : 0x0004
|
||||||
|
QS_MOUSEMOVE : UINT : 0x0002
|
||||||
|
QS_PAINT : UINT : 0x0020
|
||||||
|
QS_POSTMESSAGE : UINT : 0x0008
|
||||||
|
QS_RAWINPUT : UINT : 0x0400
|
||||||
|
QS_SENDMESSAGE : UINT : 0x0040
|
||||||
|
QS_TIMER : UINT : 0x0010
|
||||||
|
|
||||||
|
PM_NOREMOVE : UINT : 0x0000
|
||||||
|
PM_REMOVE : UINT : 0x0001
|
||||||
|
PM_NOYIELD : UINT : 0x0002
|
||||||
|
|
||||||
|
PM_QS_INPUT : UINT : QS_INPUT << 16
|
||||||
|
PM_QS_PAINT : UINT : QS_PAINT << 16
|
||||||
|
PM_QS_POSTMESSAGE : UINT : (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16
|
||||||
|
PM_QS_SENDMESSAGE : UINT : QS_SENDMESSAGE << 16
|
||||||
|
|
||||||
|
SW_HIDE : c_int : 0
|
||||||
|
SW_SHOWNORMAL : c_int : SW_NORMAL
|
||||||
|
SW_NORMAL : c_int : 1
|
||||||
|
SW_SHOWMINIMIZED : c_int : 2
|
||||||
|
SW_SHOWMAXIMIZED : c_int : SW_MAXIMIZE
|
||||||
|
SW_MAXIMIZE : c_int : 3
|
||||||
|
SW_SHOWNOACTIVATE : c_int : 4
|
||||||
|
SW_SHOW : c_int : 5
|
||||||
|
SW_MINIMIZE : c_int : 6
|
||||||
|
SW_SHOWMINNOACTIVE : c_int : 7
|
||||||
|
SW_SHOWNA : c_int : 8
|
||||||
|
SW_RESTORE : c_int : 9
|
||||||
|
SW_SHOWDEFAULT : c_int : 10
|
||||||
|
SW_FORCEMINIMIZE : c_int : 11
|
||||||
|
|
||||||
|
CW_USEDEFAULT : c_int : -2147483648
|
||||||
|
|
||||||
|
_IDC_APPSTARTING := rawptr(uintptr(32650))
|
||||||
|
_IDC_ARROW := rawptr(uintptr(32512))
|
||||||
|
_IDC_CROSS := rawptr(uintptr(32515))
|
||||||
|
_IDC_HAND := rawptr(uintptr(32649))
|
||||||
|
_IDC_HELP := rawptr(uintptr(32651))
|
||||||
|
_IDC_IBEAM := rawptr(uintptr(32513))
|
||||||
|
_IDC_ICON := rawptr(uintptr(32641))
|
||||||
|
_IDC_NO := rawptr(uintptr(32648))
|
||||||
|
_IDC_SIZE := rawptr(uintptr(32640))
|
||||||
|
_IDC_SIZEALL := rawptr(uintptr(32646))
|
||||||
|
_IDC_SIZENESW := rawptr(uintptr(32643))
|
||||||
|
_IDC_SIZENS := rawptr(uintptr(32645))
|
||||||
|
_IDC_SIZENWSE := rawptr(uintptr(32642))
|
||||||
|
_IDC_SIZEWE := rawptr(uintptr(32644))
|
||||||
|
_IDC_UPARROW := rawptr(uintptr(32516))
|
||||||
|
_IDC_WAIT := rawptr(uintptr(32514))
|
||||||
|
IDC_APPSTARTING := cstring(_IDC_APPSTARTING)
|
||||||
|
IDC_ARROW := cstring(_IDC_ARROW)
|
||||||
|
IDC_CROSS := cstring(_IDC_CROSS)
|
||||||
|
IDC_HAND := cstring(_IDC_HAND)
|
||||||
|
IDC_HELP := cstring(_IDC_HELP)
|
||||||
|
IDC_IBEAM := cstring(_IDC_IBEAM)
|
||||||
|
IDC_ICON := cstring(_IDC_ICON)
|
||||||
|
IDC_NO := cstring(_IDC_NO)
|
||||||
|
IDC_SIZE := cstring(_IDC_SIZE)
|
||||||
|
IDC_SIZEALL := cstring(_IDC_SIZEALL)
|
||||||
|
IDC_SIZENESW := cstring(_IDC_SIZENESW)
|
||||||
|
IDC_SIZENS := cstring(_IDC_SIZENS)
|
||||||
|
IDC_SIZENWSE := cstring(_IDC_SIZENWSE)
|
||||||
|
IDC_SIZEWE := cstring(_IDC_SIZEWE)
|
||||||
|
IDC_UPARROW := cstring(_IDC_UPARROW)
|
||||||
|
IDC_WAIT := cstring(_IDC_WAIT)
|
||||||
|
|
||||||
WSA_FLAG_OVERLAPPED: DWORD : 0x01
|
WSA_FLAG_OVERLAPPED: DWORD : 0x01
|
||||||
WSA_FLAG_NO_HANDLE_INHERIT: DWORD : 0x80
|
WSA_FLAG_NO_HANDLE_INHERIT: DWORD : 0x80
|
||||||
|
|
||||||
@@ -792,17 +1021,17 @@ SYSTEM_INFO :: struct {
|
|||||||
|
|
||||||
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_osversioninfoexw
|
// https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_osversioninfoexw
|
||||||
OSVERSIONINFOEXW :: struct {
|
OSVERSIONINFOEXW :: struct {
|
||||||
dwOSVersionInfoSize: ULONG,
|
dwOSVersionInfoSize: ULONG,
|
||||||
dwMajorVersion: ULONG,
|
dwMajorVersion: ULONG,
|
||||||
dwMinorVersion: ULONG,
|
dwMinorVersion: ULONG,
|
||||||
dwBuildNumber: ULONG,
|
dwBuildNumber: ULONG,
|
||||||
dwPlatformId: ULONG,
|
dwPlatformId: ULONG,
|
||||||
szCSDVersion: [128]WCHAR,
|
szCSDVersion: [128]WCHAR,
|
||||||
wServicePackMajor: USHORT,
|
wServicePackMajor: USHORT,
|
||||||
wServicePackMinor: USHORT,
|
wServicePackMinor: USHORT,
|
||||||
wSuiteMask: USHORT,
|
wSuiteMask: USHORT,
|
||||||
wProductType: UCHAR,
|
wProductType: UCHAR,
|
||||||
wReserved: UCHAR,
|
wReserved: UCHAR,
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-quota_limits
|
// https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-quota_limits
|
||||||
@@ -845,24 +1074,24 @@ PROFILEINFOW :: struct {
|
|||||||
lpDefaultPath: LPWSTR,
|
lpDefaultPath: LPWSTR,
|
||||||
lpServerName: LPWSTR,
|
lpServerName: LPWSTR,
|
||||||
lpPolicyPath: LPWSTR,
|
lpPolicyPath: LPWSTR,
|
||||||
hProfile: HANDLE,
|
hProfile: HANDLE,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Used in LookupAccountNameW
|
// Used in LookupAccountNameW
|
||||||
SID_NAME_USE :: distinct DWORD
|
SID_NAME_USE :: distinct DWORD
|
||||||
|
|
||||||
SID_TYPE :: enum SID_NAME_USE {
|
SID_TYPE :: enum SID_NAME_USE {
|
||||||
User = 1,
|
User = 1,
|
||||||
Group,
|
Group,
|
||||||
Domain,
|
Domain,
|
||||||
Alias,
|
Alias,
|
||||||
WellKnownGroup,
|
WellKnownGroup,
|
||||||
DeletedAccount,
|
DeletedAccount,
|
||||||
Invalid,
|
Invalid,
|
||||||
Unknown,
|
Unknown,
|
||||||
Computer,
|
Computer,
|
||||||
Label,
|
Label,
|
||||||
LogonSession,
|
LogonSession,
|
||||||
}
|
}
|
||||||
|
|
||||||
SECURITY_MAX_SID_SIZE :: 68
|
SECURITY_MAX_SID_SIZE :: 68
|
||||||
@@ -877,7 +1106,7 @@ SID :: struct #packed {
|
|||||||
#assert(size_of(SID) == SECURITY_MAX_SID_SIZE)
|
#assert(size_of(SID) == SECURITY_MAX_SID_SIZE)
|
||||||
|
|
||||||
SID_IDENTIFIER_AUTHORITY :: struct #packed {
|
SID_IDENTIFIER_AUTHORITY :: struct #packed {
|
||||||
Value: [6]u8,
|
Value: [6]u8,
|
||||||
}
|
}
|
||||||
|
|
||||||
// For NetAPI32
|
// For NetAPI32
|
||||||
@@ -909,11 +1138,11 @@ USER_INFO_FLAG :: enum DWORD {
|
|||||||
Passwd_Cant_Change = 6, // 1 << 6: 0x0040,
|
Passwd_Cant_Change = 6, // 1 << 6: 0x0040,
|
||||||
Encrypted_Text_Password_Allowed = 7, // 1 << 7: 0x0080,
|
Encrypted_Text_Password_Allowed = 7, // 1 << 7: 0x0080,
|
||||||
|
|
||||||
Temp_Duplicate_Account = 8, // 1 << 8: 0x0100,
|
Temp_Duplicate_Account = 8, // 1 << 8: 0x0100,
|
||||||
Normal_Account = 9, // 1 << 9: 0x0200,
|
Normal_Account = 9, // 1 << 9: 0x0200,
|
||||||
InterDomain_Trust_Account = 11, // 1 << 11: 0x0800,
|
InterDomain_Trust_Account = 11, // 1 << 11: 0x0800,
|
||||||
Workstation_Trust_Account = 12, // 1 << 12: 0x1000,
|
Workstation_Trust_Account = 12, // 1 << 12: 0x1000,
|
||||||
Server_Trust_Account = 13, // 1 << 13: 0x2000,
|
Server_Trust_Account = 13, // 1 << 13: 0x2000,
|
||||||
}
|
}
|
||||||
USER_INFO_FLAGS :: distinct bit_set[USER_INFO_FLAG]
|
USER_INFO_FLAGS :: distinct bit_set[USER_INFO_FLAG]
|
||||||
|
|
||||||
@@ -1260,4 +1489,4 @@ SYSTEMTIME :: struct {
|
|||||||
minute: WORD,
|
minute: WORD,
|
||||||
second: WORD,
|
second: WORD,
|
||||||
milliseconds: WORD,
|
milliseconds: WORD,
|
||||||
}
|
}
|
||||||
|
|||||||
+88
-242
@@ -1,256 +1,85 @@
|
|||||||
// +build windows
|
// +build windows
|
||||||
package sys_windows
|
package sys_windows
|
||||||
|
|
||||||
foreign import user32 "system:User32.lib"
|
foreign import user32 "system:User32.lib"
|
||||||
|
|
||||||
WNDPROC :: proc "stdcall" (HWND, UINT, WPARAM, LPARAM) -> LRESULT
|
|
||||||
|
|
||||||
CS_VREDRAW : UINT : 0x0001
|
|
||||||
CS_HREDRAW : UINT : 0x0002
|
|
||||||
CS_DBLCLKS : UINT : 0x0008
|
|
||||||
CS_OWNDC : UINT : 0x0020
|
|
||||||
CS_CLASSDC : UINT : 0x0040
|
|
||||||
CS_PARENTDC : UINT : 0x0080
|
|
||||||
CS_NOCLOSE : UINT : 0x0200
|
|
||||||
CS_SAVEBITS : UINT : 0x0800
|
|
||||||
CS_BYTEALIGNCLIENT : UINT : 0x1000
|
|
||||||
CS_BYTEALIGNWINDOW : UINT : 0x2000
|
|
||||||
CS_GLOBALCLASS : UINT : 0x4000
|
|
||||||
CS_DROPSHADOW : UINT : 0x0002_0000
|
|
||||||
|
|
||||||
GWL_EXSTYLE : c_int : -20
|
|
||||||
GWLP_HINSTANCE : c_int : -6
|
|
||||||
GWLP_ID : c_int : -12
|
|
||||||
GWL_STYLE : c_int : -16
|
|
||||||
GWLP_USERDATA : c_int : -21
|
|
||||||
GWLP_WNDPROC : c_int : -4
|
|
||||||
|
|
||||||
WS_BORDER : UINT : 0x0080_0000
|
|
||||||
WS_CAPTION : UINT : 0x00C0_0000
|
|
||||||
WS_CHILD : UINT : 0x4000_0000
|
|
||||||
WS_CHILDWINDOW : UINT : WS_CHILD
|
|
||||||
WS_CLIPCHILDREN : UINT : 0x0200_0000
|
|
||||||
WS_CLIPSIBLINGS : UINT : 0x0400_0000
|
|
||||||
WS_DISABLED : UINT : 0x0800_0000
|
|
||||||
WS_DLGFRAME : UINT : 0x0040_0000
|
|
||||||
WS_GROUP : UINT : 0x0002_0000
|
|
||||||
WS_HSCROLL : UINT : 0x0010_0000
|
|
||||||
WS_ICONIC : UINT : 0x2000_0000
|
|
||||||
WS_MAXIMIZE : UINT : 0x0100_0000
|
|
||||||
WS_MAXIMIZEBOX : UINT : 0x0001_0000
|
|
||||||
WS_MINIMIZE : UINT : 0x2000_0000
|
|
||||||
WS_MINIMIZEBOX : UINT : 0x0002_0000
|
|
||||||
WS_OVERLAPPED : UINT : 0x0000_0000
|
|
||||||
WS_OVERLAPPEDWINDOW : UINT : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX
|
|
||||||
WS_POPUP : UINT : 0x8000_0000
|
|
||||||
WS_POPUPWINDOW : UINT : WS_POPUP | WS_BORDER | WS_SYSMENU
|
|
||||||
WS_SIZEBOX : UINT : 0x0004_0000
|
|
||||||
WS_SYSMENU : UINT : 0x0008_0000
|
|
||||||
WS_TABSTOP : UINT : 0x0001_0000
|
|
||||||
WS_THICKFRAME : UINT : 0x0004_0000
|
|
||||||
WS_TILED : UINT : 0x0000_0000
|
|
||||||
WS_TILEDWINDOW : UINT : WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE
|
|
||||||
WS_VISIBLE : UINT : 0x1000_0000
|
|
||||||
WS_VSCROLL : UINT : 0x0020_0000
|
|
||||||
|
|
||||||
QS_ALLEVENTS : UINT : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY
|
|
||||||
QS_ALLINPUT : UINT : QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE
|
|
||||||
QS_ALLPOSTMESSAGE : UINT : 0x0100
|
|
||||||
QS_HOTKEY : UINT : 0x0080
|
|
||||||
QS_INPUT : UINT : QS_MOUSE | QS_KEY | QS_RAWINPUT
|
|
||||||
QS_KEY : UINT : 0x0001
|
|
||||||
QS_MOUSE : UINT : QS_MOUSEMOVE | QS_MOUSEBUTTON
|
|
||||||
QS_MOUSEBUTTON : UINT : 0x0004
|
|
||||||
QS_MOUSEMOVE : UINT : 0x0002
|
|
||||||
QS_PAINT : UINT : 0x0020
|
|
||||||
QS_POSTMESSAGE : UINT : 0x0008
|
|
||||||
QS_RAWINPUT : UINT : 0x0400
|
|
||||||
QS_SENDMESSAGE : UINT : 0x0040
|
|
||||||
QS_TIMER : UINT : 0x0010
|
|
||||||
|
|
||||||
PM_NOREMOVE : UINT : 0x0000
|
|
||||||
PM_REMOVE : UINT : 0x0001
|
|
||||||
PM_NOYIELD : UINT : 0x0002
|
|
||||||
|
|
||||||
PM_QS_INPUT : UINT : QS_INPUT << 16
|
|
||||||
PM_QS_PAINT : UINT : QS_PAINT << 16
|
|
||||||
PM_QS_POSTMESSAGE : UINT : (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16
|
|
||||||
PM_QS_SENDMESSAGE : UINT : QS_SENDMESSAGE << 16
|
|
||||||
|
|
||||||
SW_HIDE : c_int : 0
|
|
||||||
SW_SHOWNORMAL : c_int : SW_NORMAL
|
|
||||||
SW_NORMAL : c_int : 1
|
|
||||||
SW_SHOWMINIMIZED : c_int : 2
|
|
||||||
SW_SHOWMAXIMIZED : c_int : SW_MAXIMIZE
|
|
||||||
SW_MAXIMIZE : c_int : 3
|
|
||||||
SW_SHOWNOACTIVATE : c_int : 4
|
|
||||||
SW_SHOW : c_int : 5
|
|
||||||
SW_MINIMIZE : c_int : 6
|
|
||||||
SW_SHOWMINNOACTIVE : c_int : 7
|
|
||||||
SW_SHOWNA : c_int : 8
|
|
||||||
SW_RESTORE : c_int : 9
|
|
||||||
SW_SHOWDEFAULT : c_int : 10
|
|
||||||
SW_FORCEMINIMIZE : c_int : 11
|
|
||||||
|
|
||||||
CW_USEDEFAULT : c_int : -2147483648
|
|
||||||
|
|
||||||
WNDCLASSA :: struct {
|
|
||||||
style: UINT,
|
|
||||||
lpfnWndProc: WNDPROC,
|
|
||||||
cbClsExtra: c_int,
|
|
||||||
cbWndExtra: c_int,
|
|
||||||
hInstance: HINSTANCE,
|
|
||||||
hIcon: HICON,
|
|
||||||
hCursor: HCURSOR,
|
|
||||||
hbrBackground: HBRUSH,
|
|
||||||
lpszMenuName: LPCSTR,
|
|
||||||
lpszClassName: LPCSTR,
|
|
||||||
}
|
|
||||||
|
|
||||||
WNDCLASSW :: struct {
|
|
||||||
style: UINT,
|
|
||||||
lpfnWndProc: WNDPROC,
|
|
||||||
cbClsExtra: c_int,
|
|
||||||
cbWndExtra: c_int,
|
|
||||||
hInstance: HINSTANCE,
|
|
||||||
hIcon: HICON,
|
|
||||||
hCursor: HCURSOR,
|
|
||||||
hbrBackground: HBRUSH,
|
|
||||||
lpszMenuName: LPCWSTR,
|
|
||||||
lpszClassName: LPCWSTR,
|
|
||||||
}
|
|
||||||
|
|
||||||
WNDCLASSEXA :: struct {
|
|
||||||
cbSize: UINT,
|
|
||||||
style: UINT,
|
|
||||||
lpfnWndProc: WNDPROC,
|
|
||||||
cbClsExtra: c_int,
|
|
||||||
cbWndExtra: c_int,
|
|
||||||
hInstance: HINSTANCE,
|
|
||||||
hIcon: HICON,
|
|
||||||
hCursor: HCURSOR,
|
|
||||||
hbrBackground: HBRUSH,
|
|
||||||
lpszMenuName: LPCSTR,
|
|
||||||
lpszClassName: LPCSTR,
|
|
||||||
hIconSm: HICON,
|
|
||||||
}
|
|
||||||
|
|
||||||
WNDCLASSEXW :: struct {
|
|
||||||
cbSize: UINT,
|
|
||||||
style: UINT,
|
|
||||||
lpfnWndProc: WNDPROC,
|
|
||||||
cbClsExtra: c_int,
|
|
||||||
cbWndExtra: c_int,
|
|
||||||
hInstance: HINSTANCE,
|
|
||||||
hIcon: HICON,
|
|
||||||
hCursor: HCURSOR,
|
|
||||||
hbrBackground: HBRUSH,
|
|
||||||
lpszMenuName: LPCWSTR,
|
|
||||||
lpszClassName: LPCWSTR,
|
|
||||||
hIconSm: HICON,
|
|
||||||
}
|
|
||||||
|
|
||||||
MSG :: struct {
|
|
||||||
hwnd: HWND,
|
|
||||||
message: UINT,
|
|
||||||
wParam: WPARAM,
|
|
||||||
lParam: LPARAM,
|
|
||||||
time: DWORD,
|
|
||||||
pt: POINT,
|
|
||||||
lPrivate: DWORD,
|
|
||||||
}
|
|
||||||
|
|
||||||
CREATESTRUCTA :: struct {
|
|
||||||
lpCreateParams: LPVOID,
|
|
||||||
hInstance: HINSTANCE,
|
|
||||||
hMenu: HMENU,
|
|
||||||
hwndParent: HWND,
|
|
||||||
cy: c_int,
|
|
||||||
cx: c_int,
|
|
||||||
y: c_int,
|
|
||||||
x: c_int,
|
|
||||||
style: LONG,
|
|
||||||
lpszName: LPCSTR,
|
|
||||||
lpszClass: LPCSTR,
|
|
||||||
dwExStyle: DWORD,
|
|
||||||
}
|
|
||||||
|
|
||||||
CREATESTRUCTW:: struct {
|
|
||||||
lpCreateParams: LPVOID,
|
|
||||||
hInstance: HINSTANCE,
|
|
||||||
hMenu: HMENU,
|
|
||||||
hwndParent: HWND,
|
|
||||||
cy: c_int,
|
|
||||||
cx: c_int,
|
|
||||||
y: c_int,
|
|
||||||
x: c_int,
|
|
||||||
style: LONG,
|
|
||||||
lpszName: LPCWSTR,
|
|
||||||
lpszClass: LPCWSTR,
|
|
||||||
dwExStyle: DWORD,
|
|
||||||
}
|
|
||||||
|
|
||||||
_IDC_APPSTARTING := rawptr(uintptr(32650))
|
|
||||||
_IDC_ARROW := rawptr(uintptr(32512))
|
|
||||||
_IDC_CROSS := rawptr(uintptr(32515))
|
|
||||||
_IDC_HAND := rawptr(uintptr(32649))
|
|
||||||
_IDC_HELP := rawptr(uintptr(32651))
|
|
||||||
_IDC_IBEAM := rawptr(uintptr(32513))
|
|
||||||
_IDC_ICON := rawptr(uintptr(32641))
|
|
||||||
_IDC_NO := rawptr(uintptr(32648))
|
|
||||||
_IDC_SIZE := rawptr(uintptr(32640))
|
|
||||||
_IDC_SIZEALL := rawptr(uintptr(32646))
|
|
||||||
_IDC_SIZENESW := rawptr(uintptr(32643))
|
|
||||||
_IDC_SIZENS := rawptr(uintptr(32645))
|
|
||||||
_IDC_SIZENWSE := rawptr(uintptr(32642))
|
|
||||||
_IDC_SIZEWE := rawptr(uintptr(32644))
|
|
||||||
_IDC_UPARROW := rawptr(uintptr(32516))
|
|
||||||
_IDC_WAIT := rawptr(uintptr(32514))
|
|
||||||
IDC_APPSTARTING := cstring(_IDC_APPSTARTING)
|
|
||||||
IDC_ARROW := cstring(_IDC_ARROW)
|
|
||||||
IDC_CROSS := cstring(_IDC_CROSS)
|
|
||||||
IDC_HAND := cstring(_IDC_HAND)
|
|
||||||
IDC_HELP := cstring(_IDC_HELP)
|
|
||||||
IDC_IBEAM := cstring(_IDC_IBEAM)
|
|
||||||
IDC_ICON := cstring(_IDC_ICON)
|
|
||||||
IDC_NO := cstring(_IDC_NO)
|
|
||||||
IDC_SIZE := cstring(_IDC_SIZE)
|
|
||||||
IDC_SIZEALL := cstring(_IDC_SIZEALL)
|
|
||||||
IDC_SIZENESW := cstring(_IDC_SIZENESW)
|
|
||||||
IDC_SIZENS := cstring(_IDC_SIZENS)
|
|
||||||
IDC_SIZENWSE := cstring(_IDC_SIZENWSE)
|
|
||||||
IDC_SIZEWE := cstring(_IDC_SIZEWE)
|
|
||||||
IDC_UPARROW := cstring(_IDC_UPARROW)
|
|
||||||
IDC_WAIT := cstring(_IDC_WAIT)
|
|
||||||
|
|
||||||
|
|
||||||
@(default_calling_convention="stdcall")
|
@(default_calling_convention="stdcall")
|
||||||
foreign user32 {
|
foreign user32 {
|
||||||
|
|
||||||
GetClassInfoA :: proc(hInstance: HINSTANCE, lpClassNAme: LPCSTR, lpWndClass: ^WNDCLASSA) -> BOOL ---
|
GetClassInfoA :: proc(hInstance: HINSTANCE, lpClassNAme: LPCSTR, lpWndClass: ^WNDCLASSA) -> BOOL ---
|
||||||
GetClassInfoW :: proc(hInstance: HINSTANCE, lpClassNAme: LPCWSTR, lpWndClass: ^WNDCLASSW) -> BOOL ---
|
GetClassInfoW :: proc(hInstance: HINSTANCE, lpClassNAme: LPCWSTR, lpWndClass: ^WNDCLASSW) -> BOOL ---
|
||||||
GetClassInfoExA :: proc(hInsatnce: HINSTANCE, lpszClass: LPCSTR, lpwcx: ^WNDCLASSEXA) -> BOOL ---
|
GetClassInfoExA :: proc(hInsatnce: HINSTANCE, lpszClass: LPCSTR, lpwcx: ^WNDCLASSEXA) -> BOOL ---
|
||||||
GetClassInfoExW :: proc(hInsatnce: HINSTANCE, lpszClass: LPCWSTR, lpwcx: ^WNDCLASSEXW) -> BOOL ---
|
GetClassInfoExW :: proc(hInsatnce: HINSTANCE, lpszClass: LPCWSTR, lpwcx: ^WNDCLASSEXW) -> BOOL ---
|
||||||
|
|
||||||
GetClassLongPtrA :: proc(hWnd: HWND, nIndex: c_int) -> DWORD ---
|
GetClassLongPtrA :: proc(hWnd: HWND, nIndex: c_int) -> DWORD ---
|
||||||
GetClassLongPtrW :: proc(hWnd: HWND, nIndex: c_int) -> DWORD ---
|
GetClassLongPtrW :: proc(hWnd: HWND, nIndex: c_int) -> DWORD ---
|
||||||
GetClassNameA :: proc(hWnd: HWND, lpClassName: LPSTR, nMaxCount: c_int) -> c_int ---
|
|
||||||
GetClassNameW :: proc(hWnd: HWND, lpClassName: LPWSTR, nMaxCount: c_int) -> c_int ---
|
|
||||||
GetWindowLongPtrA :: proc(hWnd: HWND, nIndex: c_int) -> LONG_PTR ---
|
|
||||||
GetWindowLongPtrW :: proc(hWnd: HWND, nIndex: c_int) -> LONG_PTR ---
|
|
||||||
RegisterClassA :: proc(^WNDCLASSA) -> ATOM ---
|
|
||||||
RegisterClassW :: proc(^WNDCLASSW) -> ATOM ---
|
|
||||||
RegisterClassExA :: proc(^WNDCLASSEXA) -> ATOM ---
|
|
||||||
RegisterClassExW :: proc(^WNDCLASSEXW) -> ATOM ---
|
|
||||||
SetClassLongPtrA :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> ULONG_PTR ---
|
SetClassLongPtrA :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> ULONG_PTR ---
|
||||||
SetClassLongPtrW :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> ULONG_PTR ---
|
SetClassLongPtrW :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> ULONG_PTR ---
|
||||||
|
|
||||||
|
GetClassNameA :: proc(hWnd: HWND, lpClassName: LPSTR, nMaxCount: c_int) -> c_int ---
|
||||||
|
GetClassNameW :: proc(hWnd: HWND, lpClassName: LPWSTR, nMaxCount: c_int) -> c_int ---
|
||||||
|
|
||||||
|
GetWindowLongPtrA :: proc(hWnd: HWND, nIndex: c_int) -> LONG_PTR ---
|
||||||
|
GetWindowLongPtrW :: proc(hWnd: HWND, nIndex: c_int) -> LONG_PTR ---
|
||||||
SetWindowLongPtrA :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> LONG_PTR ---
|
SetWindowLongPtrA :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> LONG_PTR ---
|
||||||
SetWindowLongPtrW :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> LONG_PTR ---
|
SetWindowLongPtrW :: proc(hWnd: HWND, nIndex: c_int, dwNewLong: LONG_PTR) -> LONG_PTR ---
|
||||||
UnregisterClassA :: proc(lpClassName: LPCSTR, hInstance: HINSTANCE) -> BOOL ---
|
|
||||||
UnregisterClassW :: proc(lpClassName: LPCWSTR, hInstance: HINSTANCE) -> BOOL ---
|
|
||||||
|
|
||||||
CreateWindowA :: proc(lpClassName: LPCSTR, lpWindowName: LPCSTR, dwStyle: DWORD, x: c_int, y: c_int, nWidth: c_int, nHeight: c_int, hWndParent: HWND, hMenu: HMENU, hInstance: HINSTANCE, lpParam: LPARAM) -> HWND ---
|
RegisterClassA :: proc(lpWndClass: ^WNDCLASSA) -> ATOM ---
|
||||||
CreateWindowW :: proc(lpClassName: LPCWSTR, lpWindowName: LPCWSTR, dwStyle: DWORD, x: c_int, y: c_int, nWidth: c_int, nHeight: c_int, hWndParent: HWND, hMenu: HMENU, hInstance: HINSTANCE, lpParam: LPARAM) -> HWND ---
|
RegisterClassW :: proc(lpWndClass: ^WNDCLASSW) -> ATOM ---
|
||||||
CreateWindowExA :: proc(dwExStyle: DWORD, lpClassName: LPCSTR, lpWindowName: LPCSTR, dwStyle: DWORD, x: c_int, y: c_int, nWidth: c_int, nHeight: c_int, hWndParent: HWND, hMenu: HMENU, hInstance: HINSTANCE, lpParam: LPARAM) -> HWND ---
|
RegisterClassExA :: proc(^WNDCLASSEXA) -> ATOM ---
|
||||||
CreateWindowExW :: proc(dwExStyle: DWORD, lpClassName: LPCWSTR, lpWindowName: LPCWSTR, dwStyle: DWORD, x: c_int, y: c_int, nWidth: c_int, nHeight: c_int, hWndParent: HWND, hMenu: HMENU, hInstance: HINSTANCE, lpParam: LPARAM) -> HWND ---
|
RegisterClassExW :: proc(^WNDCLASSEXW) -> ATOM ---
|
||||||
|
|
||||||
|
CreateWindowA :: proc(
|
||||||
|
lpClassName: LPCSTR,
|
||||||
|
lpWindowName: LPCSTR,
|
||||||
|
dwStyle: DWORD,
|
||||||
|
X: c_int,
|
||||||
|
Y: c_int,
|
||||||
|
nWidth: c_int,
|
||||||
|
nHeight: c_int,
|
||||||
|
hWndParent: HWND,
|
||||||
|
hMenu: HMENU,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
lpParam: LPARAM) -> HWND ---
|
||||||
|
CreateWindowW :: proc(
|
||||||
|
lpClassName: LPCWSTR,
|
||||||
|
lpWindowName: LPCWSTR,
|
||||||
|
dwStyle: DWORD,
|
||||||
|
X: c_int,
|
||||||
|
Y: c_int,
|
||||||
|
nWidth: c_int,
|
||||||
|
nHeight: c_int,
|
||||||
|
hWndParent: HWND,
|
||||||
|
hMenu: HMENU,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
lpParam: LPARAM) -> HWND ---
|
||||||
|
CreateWindowExA :: proc(
|
||||||
|
dwExStyle: DWORD,
|
||||||
|
lpClassName: LPCSTR,
|
||||||
|
lpWindowName: LPCSTR,
|
||||||
|
dwStyle: DWORD,
|
||||||
|
X: c_int,
|
||||||
|
Y: c_int,
|
||||||
|
nWidth: c_int,
|
||||||
|
nHeight: c_int,
|
||||||
|
hWndParent: HWND,
|
||||||
|
hMenu: HMENU,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
lpParam: LPVOID,
|
||||||
|
) -> HWND ---
|
||||||
|
CreateWindowExW :: proc(
|
||||||
|
dwExStyle: DWORD,
|
||||||
|
lpClassName: LPCWSTR,
|
||||||
|
lpWindowName: LPCWSTR,
|
||||||
|
dwStyle: DWORD,
|
||||||
|
X: c_int,
|
||||||
|
Y: c_int,
|
||||||
|
nWidth: c_int,
|
||||||
|
nHeight: c_int,
|
||||||
|
hWndParent: HWND,
|
||||||
|
hMenu: HMENU,
|
||||||
|
hInstance: HINSTANCE,
|
||||||
|
lpParam: LPVOID,
|
||||||
|
) -> HWND ---
|
||||||
|
|
||||||
DestroyWindow :: proc(hWnd: HWND) -> BOOL ---
|
DestroyWindow :: proc(hWnd: HWND) -> BOOL ---
|
||||||
|
|
||||||
@@ -258,26 +87,43 @@ foreign user32 {
|
|||||||
|
|
||||||
GetMessageA :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL ---
|
GetMessageA :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL ---
|
||||||
GetMessageW :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL ---
|
GetMessageW :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL ---
|
||||||
PeekMessageA :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT, wRemoveMsg: UINT) -> BOOL ---
|
|
||||||
PeekMessageW :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT, wRemoveMsg: UINT) -> BOOL ---
|
|
||||||
|
|
||||||
TranslateMessage :: proc(lpMsg: ^MSG) -> BOOL ---
|
TranslateMessage :: proc(lpMsg: ^MSG) -> BOOL ---
|
||||||
DispatchMessageA :: proc(lpMsg: ^MSG) -> LRESULT ---
|
DispatchMessageA :: proc(lpMsg: ^MSG) -> LRESULT ---
|
||||||
DispatchMessageW :: proc(lpMsg: ^MSG) -> LRESULT ---
|
DispatchMessageW :: proc(lpMsg: ^MSG) -> LRESULT ---
|
||||||
|
|
||||||
PostQuitMessage :: proc(nExitCode: c_int) ---
|
PeekMessageA :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT, wRemoveMsg: UINT) -> BOOL ---
|
||||||
|
PeekMessageW :: proc(lpMsg: ^MSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT, wRemoveMsg: UINT) -> BOOL ---
|
||||||
|
|
||||||
PostMessageA :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL ---
|
PostMessageA :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL ---
|
||||||
PostMessageW :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL ---
|
PostMessageW :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL ---
|
||||||
|
|
||||||
SendMessageA :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT ---
|
SendMessageA :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT ---
|
||||||
SendMessageW :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT ---
|
SendMessageW :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT ---
|
||||||
|
|
||||||
|
PostThreadMessageA :: proc(idThread: DWORD, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL ---
|
||||||
|
PostThreadMessageW :: proc(idThread: DWORD, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL ---
|
||||||
|
|
||||||
|
PostQuitMessage :: proc(nExitCode: c_int) ---
|
||||||
|
|
||||||
GetQueueStatus :: proc(flags: UINT) -> DWORD ---
|
GetQueueStatus :: proc(flags: UINT) -> DWORD ---
|
||||||
|
|
||||||
DefWindowProcA :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParma: LPARAM) -> LRESULT ---
|
DefWindowProcA :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT ---
|
||||||
DefWindowProcW :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParma: LPARAM) -> LRESULT ---
|
DefWindowProcW :: proc(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT ---
|
||||||
|
|
||||||
|
FindWindowExA :: proc(hWndParent: HWND, hWndChildAfter: HWND, lpszClass: LPCSTR, lpszWindow: LPCSTR) -> HWND ---
|
||||||
|
FindWindowExW :: proc(hWndParent: HWND, hWndChildAfter: HWND, lpszClass: LPCWSTR, lpszWindow: LPCWSTR) -> HWND ---
|
||||||
|
|
||||||
|
LoadIconA :: proc(hInstance: HINSTANCE, lpIconName: LPCSTR) -> HICON ---
|
||||||
|
LoadIconW :: proc(hInstance: HINSTANCE, lpIconName: LPCWSTR) -> HICON ---
|
||||||
LoadCursorA :: proc(hInstance: HINSTANCE, lpCursorName: LPCSTR) -> HCURSOR ---
|
LoadCursorA :: proc(hInstance: HINSTANCE, lpCursorName: LPCSTR) -> HCURSOR ---
|
||||||
LoadCursorW :: proc(hInstance: HINSTANCE, lpCursorName: LPCWSTR) -> HCURSOR ---
|
LoadCursorW :: proc(hInstance: HINSTANCE, lpCursorName: LPCWSTR) -> HCURSOR ---
|
||||||
|
|
||||||
|
GetClientRect :: proc(hWnd: HWND, lpRect: ^RECT) -> BOOL ---
|
||||||
|
|
||||||
|
GetWindowDC :: proc(hWnd: HWND) -> HDC ---
|
||||||
|
GetDC :: proc(hWnd: HWND) -> HDC ---
|
||||||
|
ReleaseDC :: proc(hWnd: HWND, hDC: HDC) -> c_int ---
|
||||||
|
|
||||||
|
BeginPaint :: proc(hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> HDC ---
|
||||||
|
EndPaint :: proc(hWnd: HWND, lpPaint: ^PAINTSTRUCT) -> BOOL ---
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user