' PBXA64 V23 declarations for user32.pbi
#IF NOT %DEF(PBX_USER32_PBI)
#DEFINE PBX_USER32_PBI
#INCLUDE ONCE "Legacy/Platform/win_types.inc"
#INCLUDE ONCE "Legacy/Platform/win_consts.inc"

DECLARE FUNCTION MessageBoxA LIB "user32.dll" ALIAS "MessageBoxA" (BYVAL hWnd AS QUAD, BYVAL lpText AS ASCIIZ PTR, BYVAL lpCaption AS ASCIIZ PTR, BYVAL uType AS LONG) AS LONG
DECLARE FUNCTION MessageBoxW LIB "user32.dll" ALIAS "MessageBoxW" (BYVAL hWnd AS QUAD, BYVAL lpText AS WSTRING, BYVAL lpCaption AS WSTRING, BYVAL uType AS LONG) AS LONG
DECLARE FUNCTION wsprintfA LIB "user32.dll" ALIAS "wsprintfA" (BYVAL lpOut AS ASCIIZ PTR, BYVAL lpFmt AS ASCIIZ PTR, VARARG) AS LONG
DECLARE FUNCTION wsprintfW LIB "user32.dll" ALIAS "wsprintfW" (BYVAL lpOut AS WSTRING, BYVAL lpFmt AS WSTRING, VARARG) AS LONG
DECLARE FUNCTION LoadIconA LIB "user32.dll" ALIAS "LoadIconA" (BYVAL hInstance AS QUAD, BYVAL lpIconName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION LoadIconW LIB "user32.dll" ALIAS "LoadIconW" (BYVAL hInstance AS QUAD, BYVAL lpIconName AS WSTRING) AS QUAD
DECLARE FUNCTION LoadCursorA LIB "user32.dll" ALIAS "LoadCursorA" (BYVAL hInstance AS QUAD, BYVAL lpCursorName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION LoadCursorW LIB "user32.dll" ALIAS "LoadCursorW" (BYVAL hInstance AS QUAD, BYVAL lpCursorName AS WSTRING) AS QUAD
DECLARE FUNCTION RegisterClassExA LIB "user32.dll" ALIAS "RegisterClassExA" (BYVAL lpWndClass AS QUAD) AS WORD
DECLARE FUNCTION RegisterClassExW LIB "user32.dll" ALIAS "RegisterClassExW" (BYVAL lpWndClass AS QUAD) AS WORD
DECLARE FUNCTION UnregisterClassA LIB "user32.dll" ALIAS "UnregisterClassA" (BYVAL lpClassName AS ASCIIZ PTR, BYVAL hInstance AS QUAD) AS LONG
DECLARE FUNCTION UnregisterClassW LIB "user32.dll" ALIAS "UnregisterClassW" (BYVAL lpClassName AS WSTRING, BYVAL hInstance AS QUAD) AS LONG
DECLARE FUNCTION CreateWindowExA LIB "user32.dll" ALIAS "CreateWindowExA" (BYVAL dwExStyle AS DWORD, BYVAL lpClassName AS ASCIIZ PTR, BYVAL lpWindowName AS ASCIIZ PTR, BYVAL dwStyle AS DWORD, BYVAL X AS LONG, BYVAL Y AS LONG, BYVAL nWidth AS LONG, BYVAL nHeight AS LONG, BYVAL hWndParent AS QUAD, BYVAL hMenu AS QUAD, BYVAL hInstance AS QUAD, BYVAL lpParam AS QUAD) AS QUAD
DECLARE FUNCTION CreateWindowExW LIB "user32.dll" ALIAS "CreateWindowExW" (BYVAL dwExStyle AS DWORD, BYVAL lpClassName AS WSTRING, BYVAL lpWindowName AS WSTRING, BYVAL dwStyle AS DWORD, BYVAL X AS LONG, BYVAL Y AS LONG, BYVAL nWidth AS LONG, BYVAL nHeight AS LONG, BYVAL hWndParent AS QUAD, BYVAL hMenu AS QUAD, BYVAL hInstance AS QUAD, BYVAL lpParam AS QUAD) AS QUAD
DECLARE FUNCTION DefWindowProcA LIB "user32.dll" ALIAS "DefWindowProcA" (BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS QUAD
DECLARE FUNCTION DefWindowProcW LIB "user32.dll" ALIAS "DefWindowProcW" (BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS QUAD
DECLARE FUNCTION CallWindowProcA LIB "user32.dll" ALIAS "CallWindowProcA" (BYVAL lpPrevWndFunc AS QUAD, BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS QUAD
DECLARE FUNCTION CallWindowProcW LIB "user32.dll" ALIAS "CallWindowProcW" (BYVAL lpPrevWndFunc AS QUAD, BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS QUAD
DECLARE FUNCTION DestroyWindow LIB "user32.dll" ALIAS "DestroyWindow" (BYVAL hWnd AS QUAD) AS LONG
DECLARE FUNCTION ShowWindow LIB "user32.dll" ALIAS "ShowWindow" (BYVAL hWnd AS QUAD, BYVAL nCmdShow AS LONG) AS LONG
DECLARE FUNCTION UpdateWindow LIB "user32.dll" ALIAS "UpdateWindow" (BYVAL hWnd AS QUAD) AS LONG
DECLARE FUNCTION GetMessageA LIB "user32.dll" ALIAS "GetMessageA" (BYVAL lpMsg AS QUAD, BYVAL hWnd AS QUAD, BYVAL wMsgFilterMin AS LONG, BYVAL wMsgFilterMax AS LONG) AS LONG
DECLARE FUNCTION GetMessageW LIB "user32.dll" ALIAS "GetMessageW" (BYVAL lpMsg AS QUAD, BYVAL hWnd AS QUAD, BYVAL wMsgFilterMin AS LONG, BYVAL wMsgFilterMax AS LONG) AS LONG
DECLARE FUNCTION PeekMessageA LIB "user32.dll" ALIAS "PeekMessageA" (BYVAL lpMsg AS QUAD, BYVAL hWnd AS QUAD, BYVAL wMsgFilterMin AS LONG, BYVAL wMsgFilterMax AS LONG, BYVAL wRemoveMsg AS LONG) AS LONG
DECLARE FUNCTION PeekMessageW LIB "user32.dll" ALIAS "PeekMessageW" (BYVAL lpMsg AS QUAD, BYVAL hWnd AS QUAD, BYVAL wMsgFilterMin AS LONG, BYVAL wMsgFilterMax AS LONG, BYVAL wRemoveMsg AS LONG) AS LONG
DECLARE FUNCTION TranslateMessage LIB "user32.dll" ALIAS "TranslateMessage" (BYVAL lpMsg AS QUAD) AS LONG
DECLARE FUNCTION DispatchMessageA LIB "user32.dll" ALIAS "DispatchMessageA" (BYVAL lpMsg AS QUAD) AS QUAD
DECLARE FUNCTION DispatchMessageW LIB "user32.dll" ALIAS "DispatchMessageW" (BYVAL lpMsg AS QUAD) AS QUAD
DECLARE SUB PostQuitMessage LIB "user32.dll" ALIAS "PostQuitMessage" (BYVAL nExitCode AS LONG)
DECLARE FUNCTION SendMessageA LIB "user32.dll" ALIAS "SendMessageA" (BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS QUAD
DECLARE FUNCTION SendMessageW LIB "user32.dll" ALIAS "SendMessageW" (BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS QUAD
DECLARE FUNCTION PostMessageA LIB "user32.dll" ALIAS "PostMessageA" (BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS LONG
DECLARE FUNCTION PostMessageW LIB "user32.dll" ALIAS "PostMessageW" (BYVAL hWnd AS QUAD, BYVAL Msg AS LONG, BYVAL wParam AS QUAD, BYVAL lParam AS QUAD) AS LONG
DECLARE FUNCTION BeginPaint LIB "user32.dll" ALIAS "BeginPaint" (BYVAL hWnd AS QUAD, BYVAL lpPaint AS QUAD) AS QUAD
DECLARE FUNCTION EndPaint LIB "user32.dll" ALIAS "EndPaint" (BYVAL hWnd AS QUAD, BYVAL lpPaint AS QUAD) AS LONG
DECLARE FUNCTION GetDC LIB "user32.dll" ALIAS "GetDC" (BYVAL hWnd AS QUAD) AS QUAD
DECLARE FUNCTION ReleaseDC LIB "user32.dll" ALIAS "ReleaseDC" (BYVAL hWnd AS QUAD, BYVAL hDC AS QUAD) AS LONG
DECLARE FUNCTION InvalidateRect LIB "user32.dll" ALIAS "InvalidateRect" (BYVAL hWnd AS QUAD, BYVAL lpRect AS QUAD, BYVAL bErase AS LONG) AS LONG
DECLARE FUNCTION ValidateRect LIB "user32.dll" ALIAS "ValidateRect" (BYVAL hWnd AS QUAD, BYVAL lpRect AS QUAD) AS LONG
DECLARE FUNCTION GetClientRect LIB "user32.dll" ALIAS "GetClientRect" (BYVAL hWnd AS QUAD, BYVAL lpRect AS QUAD) AS LONG
DECLARE FUNCTION GetWindowRect LIB "user32.dll" ALIAS "GetWindowRect" (BYVAL hWnd AS QUAD, BYVAL lpRect AS QUAD) AS LONG
DECLARE FUNCTION SetWindowTextA LIB "user32.dll" ALIAS "SetWindowTextA" (BYVAL hWnd AS QUAD, BYVAL lpString AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION SetWindowTextW LIB "user32.dll" ALIAS "SetWindowTextW" (BYVAL hWnd AS QUAD, BYVAL lpString AS WSTRING) AS LONG
DECLARE FUNCTION GetWindowTextA LIB "user32.dll" ALIAS "GetWindowTextA" (BYVAL hWnd AS QUAD, BYVAL lpString AS QUAD, BYVAL nMaxCount AS LONG) AS LONG
DECLARE FUNCTION GetWindowTextW LIB "user32.dll" ALIAS "GetWindowTextW" (BYVAL hWnd AS QUAD, BYVAL lpString AS QUAD, BYVAL nMaxCount AS LONG) AS LONG
DECLARE FUNCTION GetWindowTextLengthA LIB "user32.dll" ALIAS "GetWindowTextLengthA" (BYVAL hWnd AS QUAD) AS LONG
DECLARE FUNCTION GetWindowTextLengthW LIB "user32.dll" ALIAS "GetWindowTextLengthW" (BYVAL hWnd AS QUAD) AS LONG
DECLARE FUNCTION SetWindowLongPtrA LIB "user32.dll" ALIAS "SetWindowLongPtrA" (BYVAL hWnd AS QUAD, BYVAL nIndex AS LONG, BYVAL dwNewLong AS QUAD) AS QUAD
DECLARE FUNCTION SetWindowLongPtrW LIB "user32.dll" ALIAS "SetWindowLongPtrW" (BYVAL hWnd AS QUAD, BYVAL nIndex AS LONG, BYVAL dwNewLong AS QUAD) AS QUAD
DECLARE FUNCTION GetWindowLongPtrA LIB "user32.dll" ALIAS "GetWindowLongPtrA" (BYVAL hWnd AS QUAD, BYVAL nIndex AS LONG) AS QUAD
DECLARE FUNCTION GetWindowLongPtrW LIB "user32.dll" ALIAS "GetWindowLongPtrW" (BYVAL hWnd AS QUAD, BYVAL nIndex AS LONG) AS QUAD
DECLARE FUNCTION MoveWindow LIB "user32.dll" ALIAS "MoveWindow" (BYVAL hWnd AS QUAD, BYVAL X AS LONG, BYVAL Y AS LONG, BYVAL nWidth AS LONG, BYVAL nHeight AS LONG, BYVAL bRepaint AS LONG) AS LONG
DECLARE FUNCTION SetWindowPos LIB "user32.dll" ALIAS "SetWindowPos" (BYVAL hWnd AS QUAD, BYVAL hWndInsertAfter AS QUAD, BYVAL X AS LONG, BYVAL Y AS LONG, BYVAL cx AS LONG, BYVAL cy AS LONG, BYVAL uFlags AS LONG) AS LONG
DECLARE FUNCTION EnableWindow LIB "user32.dll" ALIAS "EnableWindow" (BYVAL hWnd AS QUAD, BYVAL bEnable AS LONG) AS LONG
DECLARE FUNCTION SetFocus LIB "user32.dll" ALIAS "SetFocus" (BYVAL hWnd AS QUAD) AS QUAD
DECLARE FUNCTION GetFocus LIB "user32.dll" ALIAS "GetFocus" () AS QUAD
DECLARE FUNCTION GetParent LIB "user32.dll" ALIAS "GetParent" (BYVAL hWnd AS QUAD) AS QUAD
DECLARE FUNCTION SetParent LIB "user32.dll" ALIAS "SetParent" (BYVAL hWndChild AS QUAD, BYVAL hWndNewParent AS QUAD) AS QUAD
DECLARE FUNCTION CreateMenu LIB "user32.dll" ALIAS "CreateMenu" () AS QUAD
DECLARE FUNCTION CreatePopupMenu LIB "user32.dll" ALIAS "CreatePopupMenu" () AS QUAD
DECLARE FUNCTION AppendMenuA LIB "user32.dll" ALIAS "AppendMenuA" (BYVAL hMenu AS QUAD, BYVAL uFlags AS LONG, BYVAL uIDNewItem AS QUAD, BYVAL lpNewItem AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION AppendMenuW LIB "user32.dll" ALIAS "AppendMenuW" (BYVAL hMenu AS QUAD, BYVAL uFlags AS LONG, BYVAL uIDNewItem AS QUAD, BYVAL lpNewItem AS WSTRING) AS LONG
DECLARE FUNCTION SetMenu LIB "user32.dll" ALIAS "SetMenu" (BYVAL hWnd AS QUAD, BYVAL hMenu AS QUAD) AS LONG
DECLARE FUNCTION DestroyMenu LIB "user32.dll" ALIAS "DestroyMenu" (BYVAL hMenu AS QUAD) AS LONG
DECLARE FUNCTION SetTimer LIB "user32.dll" ALIAS "SetTimer" (BYVAL hWnd AS QUAD, BYVAL nIDEvent AS QUAD, BYVAL uElapse AS LONG, BYVAL lpTimerFunc AS QUAD) AS QUAD
DECLARE FUNCTION KillTimer LIB "user32.dll" ALIAS "KillTimer" (BYVAL hWnd AS QUAD, BYVAL uIDEvent AS QUAD) AS LONG
DECLARE FUNCTION GetSystemMetrics LIB "user32.dll" ALIAS "GetSystemMetrics" (BYVAL nIndex AS LONG) AS LONG
DECLARE FUNCTION GetDesktopWindow LIB "user32.dll" ALIAS "GetDesktopWindow" () AS QUAD
DECLARE FUNCTION FindWindowA LIB "user32.dll" ALIAS "FindWindowA" (BYVAL lpClassName AS ASCIIZ PTR, BYVAL lpWindowName AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION FindWindowW LIB "user32.dll" ALIAS "FindWindowW" (BYVAL lpClassName AS WSTRING, BYVAL lpWindowName AS WSTRING) AS QUAD
DECLARE FUNCTION FindWindowExA LIB "user32.dll" ALIAS "FindWindowExA" (BYVAL hWndParent AS QUAD, BYVAL hWndChildAfter AS QUAD, BYVAL lpszClass AS ASCIIZ PTR, BYVAL lpszWindow AS ASCIIZ PTR) AS QUAD
DECLARE FUNCTION FindWindowExW LIB "user32.dll" ALIAS "FindWindowExW" (BYVAL hWndParent AS QUAD, BYVAL hWndChildAfter AS QUAD, BYVAL lpszClass AS WSTRING, BYVAL lpszWindow AS WSTRING) AS QUAD
DECLARE FUNCTION OpenClipboard LIB "user32.dll" ALIAS "OpenClipboard" (BYVAL hWndNewOwner AS QUAD) AS LONG
DECLARE FUNCTION CloseClipboard LIB "user32.dll" ALIAS "CloseClipboard" () AS LONG
DECLARE FUNCTION EmptyClipboard LIB "user32.dll" ALIAS "EmptyClipboard" () AS LONG
DECLARE FUNCTION SetClipboardData LIB "user32.dll" ALIAS "SetClipboardData" (BYVAL uFormat AS LONG, BYVAL hMem AS QUAD) AS QUAD
DECLARE FUNCTION GetClipboardData LIB "user32.dll" ALIAS "GetClipboardData" (BYVAL uFormat AS LONG) AS QUAD
DECLARE FUNCTION IsClipboardFormatAvailable LIB "user32.dll" ALIAS "IsClipboardFormatAvailable" (BYVAL format AS LONG) AS LONG
DECLARE FUNCTION RegisterClipboardFormatA LIB "user32.dll" ALIAS "RegisterClipboardFormatA" (BYVAL lpszFormat AS ASCIIZ PTR) AS LONG
DECLARE FUNCTION RegisterClipboardFormatW LIB "user32.dll" ALIAS "RegisterClipboardFormatW" (BYVAL lpszFormat AS WSTRING) AS LONG
DECLARE FUNCTION GetKeyState LIB "user32.dll" ALIAS "GetKeyState" (BYVAL nVirtKey AS LONG) AS INTEGER
DECLARE FUNCTION GetAsyncKeyState LIB "user32.dll" ALIAS "GetAsyncKeyState" (BYVAL vKey AS LONG) AS INTEGER
DECLARE FUNCTION MapVirtualKeyA LIB "user32.dll" ALIAS "MapVirtualKeyA" (BYVAL uCode AS LONG, BYVAL uMapType AS LONG) AS LONG
DECLARE FUNCTION MapVirtualKeyW LIB "user32.dll" ALIAS "MapVirtualKeyW" (BYVAL uCode AS LONG, BYVAL uMapType AS LONG) AS LONG
DECLARE FUNCTION GetCursorPos LIB "user32.dll" ALIAS "GetCursorPos" (BYVAL lpPoint AS QUAD) AS LONG
DECLARE FUNCTION SetCursorPos LIB "user32.dll" ALIAS "SetCursorPos" (BYVAL X AS LONG, BYVAL Y AS LONG) AS LONG
DECLARE FUNCTION ScreenToClient LIB "user32.dll" ALIAS "ScreenToClient" (BYVAL hWnd AS QUAD, BYVAL lpPoint AS QUAD) AS LONG
DECLARE FUNCTION ClientToScreen LIB "user32.dll" ALIAS "ClientToScreen" (BYVAL hWnd AS QUAD, BYVAL lpPoint AS QUAD) AS LONG

#ENDIF
