Requested API Structure and constants

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
Fred
Administrator
Administrator
Posts: 16619
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Requested API Structure and constants

Post by Fred »

Hi there,

Please post here the missing WinAPI structures or constants which aren't predeclared in PureBasic (and you actually needed it). It has to be in PureBasic code format, and you should have tested the structures on Windows x86 and Windows x64 to ensures it's correct. Posts like 'here is a link to WinAPI structure to convert' will be ignored.

Thanks !
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Re: Requested API Structure and constants

Post by nco2k »

If OSVersion() = #PB_OS_Windows_ME : End : EndIf
PureLust
Enthusiast
Enthusiast
Posts: 477
Joined: Mon Apr 16, 2007 3:57 am
Location: Germany, NRW

Re: Requested API Structure and constants

Post by PureLust »

Code: Select all

; List of unknown Windows Messanges (if not added since PureBasic 5.42 Beta 3 LTS)
;
; Source => https://wiki.winehq.org/List_Of_Windows_Messages
;
#WM_COPYGLOBALDATA = 73
#EM_SETFONT = 195
#EM_SETWORDBREAK = 202
#SBM_GETSCROLLBARINFO = 235
#BM_SETDONTCLICK = 248
#WM_SYSTIMER = 280
#WM_RCRESULT = 897
#WM_HOOKRCRESULT = 898
#WM_GLOBALRCCHANGE = 899
#WM_PENMISCINFO = 899
#WM_SKB = 900
#WM_HEDITCTL = 901
#WM_PENCTL = 901
#WM_PENMISC = 902
#WM_CTLINIT = 903
#WM_PENEVENT = 904
#DDM_SETFMT = 1024
#DDM_DRAW = 1025
#CBEM_SETIMAGELIST = 1026
#DDM_CLOSE = 1026
#DM_REPOSITION = 1026
#CBEM_GETIMAGELIST = 1027
#DDM_BEGIN = 1027
#DDM_END = 1028
#CBEM_GETCOMBOCONTROL = 1030
#TB_MARKBUTTON = 1030
#CBEM_GETEDITCONTROL = 1031
#PBM_GETRANGE = 1031
#CBEM_SETEXSTYLE = 1032
#PBM_GETPOS = 1032
#CBEM_GETEXSTYLE = 1033
#CBEM_GETEXTENDEDSTYLE = 1033
#PBM_SETBARCOLOR = 1033
#CBEM_HASEDITCHANGED = 1034
#WIZ_QUERYNUMPAGES = 1034
#WIZ_NEXT = 1035
#WIZ_PREV = 1036
#CBEM_SETEXTENDEDSTYLE = 1038
#SB_ISSIMPLE = 1038
#TB_ISBUTTONHIGHLIGHTED = 1038
#SB_SETICON = 1039
#SB_GETICON = 1044
#TBM_SETTOOLTIPS = 1053
#TBM_GETTOOLTIPS = 1054
#TBM_SETTIPSIDE = 1055
#TBM_SETBUDDY = 1056
#TTM_SETTITLEA = 1056
#MSG_FTS_JUMP_VA = 1057
#TBM_GETBUDDY = 1057
#TTM_SETTITLEW = 1057
#MSG_FTS_JUMP_QWORD = 1059
#MSG_REINDEX_REQUEST = 1060
#MSG_FTS_WHERE_IS_IT = 1061
#RB_PUSHCHEVRON = 1067
#MSG_GET_DEFFONT = 1069
#TAPI_REPLY = 1123
#BFFM_SETSTATUSTEXTA = 1124
#PSM_SETCURSEL = 1125
#BFFM_SETSELECTIONA = 1126
#PSM_REMOVEPAGE = 1126
#BFFM_SETSELECTIONW = 1127
#PSM_ADDPAGE = 1127
#BFFM_SETSTATUSTEXTW = 1128
#PSM_CHANGED = 1128
#PSM_RESTARTWINDOWS = 1129
#PSM_REBOOTSYSTEM = 1130
#PSM_CANCELTOCLOSE = 1131
#PSM_QUERYSIBLINGS = 1132
#MCIWNDM_GETZOOM = 1133
#PSM_UNCHANGED = 1133
#PSM_APPLY = 1134
#PSM_SETTITLEA = 1135
#PSM_SETWIZBUTTONS = 1136
#PSM_PRESSBUTTON = 1137
#PSM_SETCURSELID = 1138
#PSM_SETFINISHTEXTA = 1139
#PSM_GETTABCONTROL = 1140
#PSM_ISDIALOGMESSAGE = 1141
#MCIWNDM_REALIZE = 1142
#PSM_GETCURRENTPAGEHWND = 1142
#MCIWNDM_SETTIMEFORMATA = 1143
#PSM_INSERTPAGE = 1143
#MCIWNDM_GETTIMEFORMATA = 1144
#PSM_SETTITLEW = 1144
#MCIWNDM_VALIDATEMEDIA = 1145
#PSM_SETFINISHTEXTW = 1145
#MCIWNDM_PLAYTO = 1147
#MCIWNDM_GETFILENAMEA = 1148
#MCIWNDM_GETDEVICEA = 1149
#PSM_SETHEADERTITLEA = 1149
#MCIWNDM_GETPALETTE = 1150
#PSM_SETHEADERTITLEW = 1150
#MCIWNDM_SETPALETTE = 1151
#PSM_SETHEADERSUBTITLEA = 1151
#MCIWNDM_GETERRORA = 1152
#PSM_SETHEADERSUBTITLEW = 1152
#PSM_HWNDTOINDEX = 1153
#PSM_INDEXTOHWND = 1154
#MCIWNDM_SETINACTIVETIMER = 1155
#PSM_PAGETOINDEX = 1155
#PSM_INDEXTOPAGE = 1156
#MCIWNDM_GETINACTIVETIMER = 1157
#PSM_IDTOINDEX = 1157
#PSM_INDEXTOID = 1158
#PSM_GETRESULT = 1159
#PSM_RECALCPAGESIZES = 1160
#MCIWNDM_GET_SOURCE = 1164
#MCIWNDM_PUT_SOURCE = 1165
#MCIWNDM_GET_DEST = 1166
#MCIWNDM_PUT_DEST = 1167
#MCIWNDM_CAN_PLAY = 1168
#MCIWNDM_CAN_WINDOW = 1169
#MCIWNDM_CAN_RECORD = 1170
#MCIWNDM_CAN_SAVE = 1171
#MCIWNDM_CAN_EJECT = 1172
#MCIWNDM_CAN_CONFIG = 1173
#IE_GETINK = 1174
#IE_MSGFIRST = 1174
#MCIWNDM_PALETTEKICK = 1174
#IE_SETINK = 1175
#IE_GETPENTIP = 1176
#IE_SETPENTIP = 1177
#IE_GETERASERTIP = 1178
#IE_SETERASERTIP = 1179
#IE_GETBKGND = 1180
#IE_SETBKGND = 1181
#IE_GETGRIDORIGIN = 1182
#IE_SETGRIDORIGIN = 1183
#IE_GETGRIDPEN = 1184
#IE_SETGRIDPEN = 1185
#IE_GETGRIDSIZE = 1186
#IE_SETGRIDSIZE = 1187
#IE_GETMODE = 1188
#IE_SETMODE = 1189
#IE_GETINKRECT = 1190
#IE_GETAPPDATA = 1208
#IE_SETAPPDATA = 1209
#IE_GETDRAWOPTS = 1210
#IE_SETDRAWOPTS = 1211
#IE_GETFORMAT = 1212
#IE_SETFORMAT = 1213
#IE_GETINKINPUT = 1214
#IE_SETINKINPUT = 1215
#IE_GETNOTIFY = 1216
#IE_SETNOTIFY = 1217
#IE_GETRECOG = 1218
#IE_SETRECOG = 1219
#IE_GETSECURITY = 1220
#IE_SETSECURITY = 1221
#IE_GETSEL = 1222
#IE_SETSEL = 1223
#IE_DOCOMMAND = 1224
#MCIWNDM_NOTIFYMODE = 1224
#IE_GETCOMMAND = 1225
#IE_GETCOUNT = 1226
#IE_GETGESTURE = 1227
#MCIWNDM_NOTIFYMEDIA = 1227
#IE_GETMENU = 1228
#IE_GETPAINTDC = 1229
#MCIWNDM_NOTIFYERROR = 1229
#IE_GETPDEVENT = 1230
#IE_GETSELCOUNT = 1231
#IE_GETSELITEMS = 1232
#IE_GETSTYLE = 1233
#MCIWNDM_SETTIMEFORMATW = 1243
#MCIWNDM_GETTIMEFORMATW = 1244
#MCIWNDM_GETFILENAMEW = 1248
#MCIWNDM_GETDEVICEW = 1249
#MCIWNDM_GETERRORW = 1252
#EM_GETQUERYRTFOBJ = 1293
#EM_SETQUERYRTFOBJ = 1294
#FM_GETFOCUS = 1536
#FM_GETDRIVEINFOA = 1537
#FM_GETSELCOUNT = 1538
#FM_GETSELCOUNTLFN = 1539
#FM_GETFILESELA = 1540
#FM_GETFILESELLFNA = 1541
#FM_REFRESH_WINDOWS = 1542
#FM_RELOAD_EXTENSIONS = 1543
#FM_GETDRIVEINFOW = 1553
#FM_GETFILESELW = 1556
#FM_GETFILESELLFNW = 1557
#WLX_WM_SAS = 1625
#SM_GETSELCOUNT = 2024
#UM_GETSELCOUNT = 2024
#SM_GETSERVERSELA = 2025
#UM_GETUSERSELA = 2025
#SM_GETSERVERSELW = 2026
#UM_GETUSERSELW = 2026
#SM_GETCURFOCUSA = 2027
#UM_GETGROUPSELA = 2027
#SM_GETCURFOCUSW = 2028
#UM_GETGROUPSELW = 2028
#SM_GETOPTIONS = 2029
#UM_GETCURFOCUSA = 2029
#UM_GETCURFOCUSW = 2030
#UM_GETOPTIONS = 2031
#UM_GETOPTIONS2 = 2032
#OCM__BASE = 8192
#OCM_CTLCOLOR = 8217
#OCM_DRAWITEM = 8235
#OCM_MEASUREITEM = 8236
#OCM_DELETEITEM = 8237
#OCM_VKEYTOITEM = 8238
#OCM_CHARTOITEM = 8239
#OCM_COMPAREITEM = 8249
#OCM_NOTIFY = 8270
#OCM_COMMAND = 8465
#OCM_HSCROLL = 8468
#OCM_VSCROLL = 8469
#OCM_CTLCOLORMSGBOX = 8498
#OCM_CTLCOLOREDIT = 8499
#OCM_CTLCOLORLISTBOX = 8500
#OCM_CTLCOLORBTN = 8501
#OCM_CTLCOLORDLG = 8502
#OCM_CTLCOLORSCROLLBAR = 8503
#OCM_CTLCOLORSTATIC = 8504
#OCM_PARENTNOTIFY = 8720
Thx, PL.
[Dynamic-Dialogs] - create complex GUIs the easy way
[DeFlicker] - easily deflicker your resizeable Windows
[WinFX] - Window Effects (incl. 'click-through' Window)
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Re: Requested API Structure and constants

Post by nco2k »

https://msdn.microsoft.com/de-de/librar ... s.85).aspx

Code: Select all

#GUI_CARETBLINKING = $00000001
#GUI_INMOVESIZE = $00000002
#GUI_INMENUMODE = $00000004
#GUI_SYSTEMMENUMODE = $00000008
#GUI_POPUPMENUMODE = $00000010
c ya,
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Re: Requested API Structure and constants

Post by nco2k »

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

Code: Select all

#HID_USAGE_PAGE_UNDEFINED = $00
#HID_USAGE_PAGE_GENERIC = $01
#HID_USAGE_PAGE_SIMULATION = $02
#HID_USAGE_PAGE_VR = $03
#HID_USAGE_PAGE_SPORT = $04
#HID_USAGE_PAGE_GAME = $05
#HID_USAGE_PAGE_KEYBOARD = $07
#HID_USAGE_PAGE_LED = $08
#HID_USAGE_PAGE_BUTTON = $09
#HID_USAGE_PAGE_ORDINAL = $0A
#HID_USAGE_PAGE_TELEPHONY = $0B
#HID_USAGE_PAGE_CONSUMER = $0C
#HID_USAGE_PAGE_DIGITIZER = $0D
#HID_USAGE_PAGE_UNICODE = $10
#HID_USAGE_PAGE_ALPHANUMERIC = $14
#HID_USAGE_PAGE_SENSOR = $20
#HID_USAGE_PAGE_BARCODE_SCANNER = $8C
#HID_USAGE_PAGE_WEIGHING_DEVICE = $8D
#HID_USAGE_PAGE_MAGNETIC_STRIPE_READER = $8E
#HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE = $FFF3
#HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN = $FF00
#HID_USAGE_PAGE_VENDOR_DEFINED_END = $FFFF

#HID_USAGE_GENERIC_POINTER = $01
#HID_USAGE_GENERIC_MOUSE = $02
#HID_USAGE_GENERIC_JOYSTICK = $04
#HID_USAGE_GENERIC_GAMEPAD = $05
#HID_USAGE_GENERIC_KEYBOARD = $06
#HID_USAGE_GENERIC_KEYPAD = $07
#HID_USAGE_GENERIC_SYSTEM_CTL = $80

#HID_USAGE_GENERIC_X = $30
#HID_USAGE_GENERIC_Y = $31
#HID_USAGE_GENERIC_Z = $32
#HID_USAGE_GENERIC_RX = $33
#HID_USAGE_GENERIC_RY = $34
#HID_USAGE_GENERIC_RZ = $35
#HID_USAGE_GENERIC_SLIDER = $36
#HID_USAGE_GENERIC_DIAL = $37
#HID_USAGE_GENERIC_WHEEL = $38
#HID_USAGE_GENERIC_HATSWITCH = $39
#HID_USAGE_GENERIC_COUNTED_BUFFER = $3A
#HID_USAGE_GENERIC_BYTE_COUNT = $3B
#HID_USAGE_GENERIC_MOTION_WAKEUP = $3C
#HID_USAGE_GENERIC_VX = $40
#HID_USAGE_GENERIC_VY = $41
#HID_USAGE_GENERIC_VZ = $42
#HID_USAGE_GENERIC_VBRX = $43
#HID_USAGE_GENERIC_VBRY = $44
#HID_USAGE_GENERIC_VBRZ = $45
#HID_USAGE_GENERIC_VNO = $46
#HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER = $48
#HID_USAGE_GENERIC_SYSCTL_POWER = $81
#HID_USAGE_GENERIC_SYSCTL_SLEEP = $82
#HID_USAGE_GENERIC_SYSCTL_WAKE = $83
#HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU = $84
#HID_USAGE_GENERIC_SYSCTL_MAIN_MENU = $85
#HID_USAGE_GENERIC_SYSCTL_APP_MENU = $86
#HID_USAGE_GENERIC_SYSCTL_HELP_MENU = $87
#HID_USAGE_GENERIC_SYSCTL_MENU_EXIT = $88
#HID_USAGE_GENERIC_SYSCTL_MENU_SELECT = $89
#HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT = $8A
#HID_USAGE_GENERIC_SYSCTL_MENU_LEFT = $8B
#HID_USAGE_GENERIC_SYSCTL_MENU_UP = $8C
#HID_USAGE_GENERIC_SYSCTL_MENU_DOWN = $8D

#HID_USAGE_SIMULATION_RUDDER = $BA
#HID_USAGE_SIMULATION_THROTTLE = $BB

#HID_USAGE_KEYBOARD_NOEVENT = $00
#HID_USAGE_KEYBOARD_ROLLOVER = $01
#HID_USAGE_KEYBOARD_POSTFAIL = $02
#HID_USAGE_KEYBOARD_UNDEFINED = $03

#HID_USAGE_KEYBOARD_aA = $04
#HID_USAGE_KEYBOARD_zZ = $1D

#HID_USAGE_KEYBOARD_ONE = $1E
#HID_USAGE_KEYBOARD_ZERO = $27

#HID_USAGE_KEYBOARD_LCTRL = $E0
#HID_USAGE_KEYBOARD_LSHFT = $E1
#HID_USAGE_KEYBOARD_LALT = $E2
#HID_USAGE_KEYBOARD_LGUI = $E3
#HID_USAGE_KEYBOARD_RCTRL = $E4
#HID_USAGE_KEYBOARD_RSHFT = $E5
#HID_USAGE_KEYBOARD_RALT = $E6
#HID_USAGE_KEYBOARD_RGUI = $E7
#HID_USAGE_KEYBOARD_SCROLL_LOCK = $47
#HID_USAGE_KEYBOARD_NUM_LOCK = $53
#HID_USAGE_KEYBOARD_CAPS_LOCK = $39

#HID_USAGE_KEYBOARD_F1 = $3A
#HID_USAGE_KEYBOARD_F12 = $45

#HID_USAGE_KEYBOARD_RETURN = $28
#HID_USAGE_KEYBOARD_ESCAPE = $29
#HID_USAGE_KEYBOARD_DELETE = $2A

#HID_USAGE_KEYBOARD_PRINT_SCREEN = $46

#HID_USAGE_LED_NUM_LOCK = $01
#HID_USAGE_LED_CAPS_LOCK = $02
#HID_USAGE_LED_SCROLL_LOCK = $03
#HID_USAGE_LED_COMPOSE = $04
#HID_USAGE_LED_KANA = $05
#HID_USAGE_LED_POWER = $06
#HID_USAGE_LED_SHIFT = $07
#HID_USAGE_LED_DO_NOT_DISTURB = $08
#HID_USAGE_LED_MUTE = $09
#HID_USAGE_LED_TONE_ENABLE = $0A
#HID_USAGE_LED_HIGH_CUT_FILTER = $0B
#HID_USAGE_LED_LOW_CUT_FILTER = $0C
#HID_USAGE_LED_EQUALIZER_ENABLE = $0D
#HID_USAGE_LED_SOUND_FIELD_ON = $0E
#HID_USAGE_LED_SURROUND_FIELD_ON = $0F
#HID_USAGE_LED_REPEAT = $10
#HID_USAGE_LED_STEREO = $11
#HID_USAGE_LED_SAMPLING_RATE_DETECT = $12
#HID_USAGE_LED_SPINNING = $13
#HID_USAGE_LED_CAV = $14
#HID_USAGE_LED_CLV = $15
#HID_USAGE_LED_RECORDING_FORMAT_DET = $16
#HID_USAGE_LED_OFF_HOOK = $17
#HID_USAGE_LED_RING = $18
#HID_USAGE_LED_MESSAGE_WAITING = $19
#HID_USAGE_LED_DATA_MODE = $1A
#HID_USAGE_LED_BATTERY_OPERATION = $1B
#HID_USAGE_LED_BATTERY_OK = $1C
#HID_USAGE_LED_BATTERY_LOW = $1D
#HID_USAGE_LED_SPEAKER = $1E
#HID_USAGE_LED_HEAD_SET = $1F
#HID_USAGE_LED_HOLD = $20
#HID_USAGE_LED_MICROPHONE = $21
#HID_USAGE_LED_COVERAGE = $22
#HID_USAGE_LED_NIGHT_MODE = $23
#HID_USAGE_LED_SEND_CALLS = $24
#HID_USAGE_LED_CALL_PICKUP = $25
#HID_USAGE_LED_CONFERENCE = $26
#HID_USAGE_LED_STAND_BY = $27
#HID_USAGE_LED_CAMERA_ON = $28
#HID_USAGE_LED_CAMERA_OFF = $29
#HID_USAGE_LED_ON_LINE = $2A
#HID_USAGE_LED_OFF_LINE = $2B
#HID_USAGE_LED_BUSY = $2C
#HID_USAGE_LED_READY = $2D
#HID_USAGE_LED_PAPER_OUT = $2E
#HID_USAGE_LED_PAPER_JAM = $2F
#HID_USAGE_LED_REMOTE = $30
#HID_USAGE_LED_FORWARD = $31
#HID_USAGE_LED_REVERSE = $32
#HID_USAGE_LED_STOP = $33
#HID_USAGE_LED_REWIND = $34
#HID_USAGE_LED_FAST_FORWARD = $35
#HID_USAGE_LED_PLAY = $36
#HID_USAGE_LED_PAUSE = $37
#HID_USAGE_LED_RECORD = $38
#HID_USAGE_LED_ERROR = $39
#HID_USAGE_LED_SELECTED_INDICATOR = $3A
#HID_USAGE_LED_IN_USE_INDICATOR = $3B
#HID_USAGE_LED_MULTI_MODE_INDICATOR = $3C
#HID_USAGE_LED_INDICATOR_ON = $3D
#HID_USAGE_LED_INDICATOR_FLASH = $3E
#HID_USAGE_LED_INDICATOR_SLOW_BLINK = $3F
#HID_USAGE_LED_INDICATOR_FAST_BLINK = $40
#HID_USAGE_LED_INDICATOR_OFF = $41
#HID_USAGE_LED_FLASH_ON_TIME = $42
#HID_USAGE_LED_SLOW_BLINK_ON_TIME = $43
#HID_USAGE_LED_SLOW_BLINK_OFF_TIME = $44
#HID_USAGE_LED_FAST_BLINK_ON_TIME = $45
#HID_USAGE_LED_FAST_BLINK_OFF_TIME = $46
#HID_USAGE_LED_INDICATOR_COLOR = $47
#HID_USAGE_LED_RED = $48
#HID_USAGE_LED_GREEN = $49
#HID_USAGE_LED_AMBER = $4A
#HID_USAGE_LED_GENERIC_INDICATOR = $4B

#HID_USAGE_TELEPHONY_PHONE = $01
#HID_USAGE_TELEPHONY_ANSWERING_MACHINE = $02
#HID_USAGE_TELEPHONY_MESSAGE_CONTROLS = $03
#HID_USAGE_TELEPHONY_HANDSET = $04
#HID_USAGE_TELEPHONY_HEADSET = $05
#HID_USAGE_TELEPHONY_KEYPAD = $06
#HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON = $07
#HID_USAGE_TELEPHONY_REDIAL = $24
#HID_USAGE_TELEPHONY_TRANSFER = $25
#HID_USAGE_TELEPHONY_DROP = $26
#HID_USAGE_TELEPHONY_LINE = $2A
#HID_USAGE_TELEPHONY_RING_ENABLE = $2D
#HID_USAGE_TELEPHONY_SEND = $31
#HID_USAGE_TELEPHONY_KEYPAD_0 = $B0
#HID_USAGE_TELEPHONY_KEYPAD_D = $BF
#HID_USAGE_TELEPHONY_HOST_AVAILABLE = $F1

#HID_USAGE_CONSUMERCTRL = $01

#HID_USAGE_CONSUMER_CHANNEL_INCREMENT = $9C
#HID_USAGE_CONSUMER_CHANNEL_DECREMENT = $9D

#HID_USAGE_CONSUMER_PLAY = $B0
#HID_USAGE_CONSUMER_PAUSE = $B1
#HID_USAGE_CONSUMER_RECORD = $B2
#HID_USAGE_CONSUMER_FAST_FORWARD = $B3
#HID_USAGE_CONSUMER_REWIND = $B4
#HID_USAGE_CONSUMER_SCAN_NEXT_TRACK = $B5
#HID_USAGE_CONSUMER_SCAN_PREV_TRACK = $B6
#HID_USAGE_CONSUMER_STOP = $B7
#HID_USAGE_CONSUMER_PLAY_PAUSE = $CD

#HID_USAGE_CONSUMER_VOLUME = $E0
#HID_USAGE_CONSUMER_BALANCE = $E1
#HID_USAGE_CONSUMER_MUTE = $E2
#HID_USAGE_CONSUMER_BASS = $E3
#HID_USAGE_CONSUMER_TREBLE = $E4
#HID_USAGE_CONSUMER_BASS_BOOST = $E5
#HID_USAGE_CONSUMER_SURROUND_MODE = $E6
#HID_USAGE_CONSUMER_LOUDNESS = $E7
#HID_USAGE_CONSUMER_MPX = $E8
#HID_USAGE_CONSUMER_VOLUME_INCREMENT = $E9
#HID_USAGE_CONSUMER_VOLUME_DECREMENT = $EA

#HID_USAGE_CONSUMER_BASS_INCREMENT = $152
#HID_USAGE_CONSUMER_BASS_DECREMENT = $153
#HID_USAGE_CONSUMER_TREBLE_INCREMENT = $154
#HID_USAGE_CONSUMER_TREBLE_DECREMENT = $155

#HID_USAGE_CONSUMER_AL_CONFIGURATION = $183
#HID_USAGE_CONSUMER_AL_EMAIL = $18A
#HID_USAGE_CONSUMER_AL_CALCULATOR = $192
#HID_USAGE_CONSUMER_AL_BROWSER = $194

#HID_USAGE_CONSUMER_AC_SEARCH = $221
#HID_USAGE_CONSUMER_AC_GOTO = $222
#HID_USAGE_CONSUMER_AC_HOME = $223
#HID_USAGE_CONSUMER_AC_BACK = $224
#HID_USAGE_CONSUMER_AC_FORWARD = $225
#HID_USAGE_CONSUMER_AC_STOP = $226
#HID_USAGE_CONSUMER_AC_REFRESH = $227
#HID_USAGE_CONSUMER_AC_PREVIOUS = $228
#HID_USAGE_CONSUMER_AC_NEXT = $229
#HID_USAGE_CONSUMER_AC_BOOKMARKS = $22A
#HID_USAGE_CONSUMER_AC_PAN = $238

#HID_USAGE_DIGITIZER_PEN = $02
#HID_USAGE_DIGITIZER_IN_RANGE = $32
#HID_USAGE_DIGITIZER_TIP_SWITCH = $42
#HID_USAGE_DIGITIZER_BARREL_SWITCH = $44

#HID_USAGE_MS_BTH_HF_DIALNUMBER = $21
#HID_USAGE_MS_BTH_HF_DIALMEMORY = $22

#HIDP_STATUS_SUCCESS = 1114112
#HIDP_STATUS_NULL = 2148597761
#HIDP_STATUS_INVALID_PREPARSED_DATA = 3222339585
#HIDP_STATUS_INVALID_REPORT_TYPE = 3222339586
#HIDP_STATUS_INVALID_REPORT_LENGTH = 3222339587
#HIDP_STATUS_USAGE_NOT_FOUND = 3222339588
#HIDP_STATUS_VALUE_OUT_OF_RANGE = 3222339589
#HIDP_STATUS_BAD_LOG_PHY_VALUES = 3222339590
#HIDP_STATUS_BUFFER_TOO_SMALL = 3222339591
#HIDP_STATUS_INTERNAL_ERROR = 3222339592
#HIDP_STATUS_I8042_TRANS_UNKNOWN = 3222339593
#HIDP_STATUS_INCOMPATIBLE_REPORT_ID = 3222339594
#HIDP_STATUS_NOT_VALUE_ARRAY = 3222339595
#HIDP_STATUS_IS_VALUE_ARRAY = 3222339596
#HIDP_STATUS_DATA_INDEX_NOT_FOUND = 3222339597
#HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE = 3222339598
#HIDP_STATUS_BUTTON_NOT_PRESSED = 3222339599
#HIDP_STATUS_REPORT_DOES_NOT_EXIST = 3222339600
#HIDP_STATUS_NOT_IMPLEMENTED = 3222339616
#HIDP_STATUS_I8242_TRANS_UNKNOWN = #HIDP_STATUS_I8042_TRANS_UNKNOWN

#FACILITY_HID_ERROR_CODE = 17

#HIDP_LINK_COLLECTION_ROOT = -1
#HIDP_LINK_COLLECTION_UNSPECIFIED = 0

#HIDP_INPUT = 0
#HIDP_OUTPUT = 1
#HIDP_FEATURE = 2

#HIDP_KEYBOARD_BREAK = 0
#HIDP_KEYBOARD_MAKE = 1

Structure HID_COLLECTION_INFORMATION
  DescriptorSize.l
  Polled.b
  Reserved1.b
  VendorID.w
  ProductID.w
  VersionNumber.w
EndStructure

Structure HIDD_ATTRIBUTES
  Size.l
  VendorID.w
  ProductID.w
  VersionNumber.w
EndStructure

Structure HIDP_DATA
  DataIndex.w
  Reserved.w
  StructureUnion
    RawValue.l
    On.b
  EndStructureUnion
EndStructure

Structure HIDP_UNKNOWN_TOKEN
  Token.w
  Reserved.b[3]
  BitField.l
EndStructure

Structure HIDP_EXTENDED_ATTRIBUTES
  NumGlobalUnknowns.b
  Reserved.b[3]
  *GlobalUnknowns.HIDP_UNKNOWN_TOKEN
  StructureUnion
    Data.l[0]
    dummyData.l[1]
  EndStructureUnion
EndStructure

Structure HIDP_LINK_COLLECTION_NODE
  LinkUsage.w
  LinkUsagePage.w
  Parent.w
  NumberOfChildren.w
  NextSibling.w
  FirstChild.w
  BitField.l
  *UserContext
EndStructure

Structure USAGE_AND_PAGE 
  Usage.w
  UsagePage.w
EndStructure

Structure HIDP_KEYBOARD_MODIFIER_STATE
  BitField.l
EndStructure

Structure HIDP_CAPS
  Usage.w
  UsagePage.w
  InputReportByteLength.w
  OutputReportByteLength.w
  FeatureReportByteLength.w
  Reserved.w[17]
  NumberLinkCollectionNodes.w
  NumberInputButtonCaps.w
  NumberInputValueCaps.w
  NumberInputDataIndices.w
  NumberOutputButtonCaps.w
  NumberOutputValueCaps.w
  NumberOutputDataIndices.w
  NumberFeatureButtonCaps.w
  NumberFeatureValueCaps.w
  NumberFeatureDataIndices.w
EndStructure

Structure HIDP_CAPS_RANGE
  UsageMin.w
  UsageMax.w
  StringMin.w
  StringMax.w
  DesignatorMin.w
  DesignatorMax.w
  DataIndexMin.w
  DataIndexMax.w
EndStructure

Structure HIDP_CAPS_NOTRANGE
  Usage.w
  Reserved1.w
  StringIndex.w
  Reserved2.w
  DesignatorIndex.w
  Reserved3.w
  DataIndex.w
  Reserved4.w
EndStructure

Structure HIDP_BUTTON_CAPS
  UsagePage.w
  ReportID.b
  IsAlias.b
  BitField.w
  LinkCollection.w
  LinkUsage.w
  LinkUsagePage.w
  IsRange.b
  IsStringRange.b
  IsDesignatorRange.b
  IsAbsolute.b
  Reserved.l[10]
  StructureUnion
    Range.HIDP_CAPS_RANGE
    NotRange.HIDP_CAPS_NOTRANGE
  EndStructureUnion
EndStructure

Structure HIDP_VALUE_CAPS
  UsagePage.w
  ReportID.b
  IsAlias.b
  BitField.w
  LinkCollection.w
  LinkUsage.w
  LinkUsagePage.w
  IsRange.b
  IsStringRange.b
  IsDesignatorRange.b
  IsAbsolute.b
  HasNull.b
  Reserved.b
  BitSize.w
  ReportCount.w
  Reserved2.w[5]
  UnitsExp.l
  Units.l
  LogicalMin.l
  LogicalMax.l
  PhysicalMin.l
  PhysicalMax.l
  StructureUnion
    Range.HIDP_CAPS_RANGE
    NotRange.HIDP_CAPS_NOTRANGE
  EndStructureUnion
EndStructure
c ya,
nco2k
Last edited by nco2k on Thu Nov 24, 2016 7:12 am, edited 2 times in total.
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Re: Requested API Structure and constants

Post by nco2k »

https://msdn.microsoft.com/de-de/librar ... s.85).aspx

Code: Select all

#GIDC_ARRIVAL = 1
#GIDC_REMOVAL = 2
c ya,
nco2k
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Re: Requested API Structure and constants

Post by nco2k »

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

Code: Select all

Structure PROPVARIANT_CLIPDATA
  cbSize.l
  ulClipFmt.l
  *pClipData.BYTE
EndStructure

Structure PROPVARIANT_BSTRBLOB
  cbSize.l
  *pData.BYTE
EndStructure

Structure PROPVARIANT_BLOB
  cbSize.l
  *pBlobData.BYTE
EndStructure

Structure PROPVARIANT_VERSIONEDSTREAM
  guidVersion.GUID
  *pStream.IStream
EndStructure

Structure PROPVARIANT_CAC
  cElems.l
  *pElems.BYTE
EndStructure

Structure PROPVARIANT_CAUB
  cElems.l
  *pElems.BYTE
EndStructure

Structure PROPVARIANT_CAI
  cElems.l
  *pElems.WORD
EndStructure

Structure PROPVARIANT_CAUI
  cElems.l
  *pElems.WORD
EndStructure

Structure PROPVARIANT_CAL
  cElems.l
  *pElems.LONG
EndStructure

Structure PROPVARIANT_CAUL
  cElems.l
  *pElems.LONG
EndStructure

Structure PROPVARIANT_CAFLT
  cElems.l
  *pElems.FLOAT
EndStructure

Structure PROPVARIANT_CADBL
  cElems.l
  *pElems.DOUBLE
EndStructure

Structure PROPVARIANT_CACY
  cElems.l
  *pElems.QUAD
EndStructure

Structure PROPVARIANT_CADATE
  cElems.l
  *pElems.DOUBLE
EndStructure

Structure PROPVARIANT_CABSTR
  cElems.l
  *pElems.INTEGER
EndStructure

Structure PROPVARIANT_CABSTRBLOB
  cElems.l
  *pElems.PROPVARIANT_BSTRBLOB
EndStructure

Structure PROPVARIANT_CABOOL
  cElems.l
  *pElems.WORD
EndStructure

Structure PROPVARIANT_CASCODE
  cElems.l
  *pElems.LONG
EndStructure

Structure PROPVARIANT_CAPROPVARIANT
  cElems.l
  *pElems.PROPVARIANT
EndStructure

Structure PROPVARIANT_CAH
  cElems.l
  *pElems.QUAD
EndStructure

Structure PROPVARIANT_CAUH
  cElems.l
  *pElems.QUAD
EndStructure

Structure PROPVARIANT_CALPSTR
  cElems.l
  *pElems.INTEGER
EndStructure

Structure PROPVARIANT_CALPWSTR
  cElems.l
  *pElems.INTEGER
EndStructure

Structure PROPVARIANT_CAFILETIME
  cElems.l
  *pElems.FILETIME
EndStructure

Structure PROPVARIANT_CACLIPDATA
  cElems.l
  *pElems.PROPVARIANT_CLIPDATA
EndStructure

Structure PROPVARIANT_CACLSID
  cElems.l
  *pElems.CLSID
EndStructure

Structure PROPVARIANT Align #PB_Structure_AlignC
  vt.w
  wReserved1.w
  wReserved2.w
  wReserved3.w
  StructureUnion
    cVal.b
    bVal.b
    iVal.w
    uiVal.w
    lVal.l
    ulVal.l
    intVal.l
    uintVal.l
    hVal.q
    uhVal.q
    fltVal.f
    dblVal.d
    boolVal.w
    scode.l
    cyVal.q
    date.d
    filetime.FILETIME
    *puuid.CLSID
    *pclipdata.PROPVARIANT_CLIPDATA
    bstrVal.i
    bstrblobVal.PROPVARIANT_BSTRBLOB
    blob.PROPVARIANT_BLOB
    *pszVal
    *pwszVal
    *punkVal.IUnknown
    *pdispVal.IDispatch
    *pStream.IStream
    *pStorage.IStorage
    *pVersionedStream.PROPVARIANT_VERSIONEDSTREAM
    *parray.SAFEARRAY
    cac.PROPVARIANT_CAC
    caub.PROPVARIANT_CAUB
    cai.PROPVARIANT_CAI
    caui.PROPVARIANT_CAUI
    cal.PROPVARIANT_CAL
    caul.PROPVARIANT_CAUL
    cah.PROPVARIANT_CAH
    cauh.PROPVARIANT_CAUH
    caflt.PROPVARIANT_CAFLT
    cadbl.PROPVARIANT_CADBL
    cabool.PROPVARIANT_CABOOL
    cascode.PROPVARIANT_CASCODE
    cacy.PROPVARIANT_CACY
    cadate.PROPVARIANT_CADATE
    cafiletime.PROPVARIANT_CAFILETIME
    cauuid.PROPVARIANT_CACLSID
    caclipdata.PROPVARIANT_CACLIPDATA
    cabstr.PROPVARIANT_CABSTR
    cabstrblob.PROPVARIANT_CABSTRBLOB
    calpstr.PROPVARIANT_CALPSTR
    calpwstr.PROPVARIANT_CALPWSTR
    capropvar.PROPVARIANT_CAPROPVARIANT
    *pcVal.BYTE
    *pbVal.BYTE
    *piVal.WORD
    *puiVal.WORD
    *plVal.LONG
    *pulVal.LONG
    *pintVal.LONG
    *puintVal.LONG
    *pfltVal.FLOAT
    *pdblVal.DOUBLE
    *pboolVal.WORD
    *pdecVal.VARIANT_DECIMAL
    *pscode.LONG
    *pcyVal.QUAD
    *pdate.DOUBLE
    *pbstrVal.INTEGER
    *ppunkVal.INTEGER
    *ppdispVal.INTEGER
    *pparray.INTEGER
    *pvarVal.PROPVARIANT
  EndStructureUnion
EndStructure
also the normal VARIANT structure is missing decVal:

Code: Select all

Structure VARIANT
  vt.w
  wReserved1.w
  wReserved2.w
  wReserved3.w
  StructureUnion
    ;...
    brecord.VARIANT_BRECORD
    decVal.VARIANT_DECIMAL;<-- this one fell of the plate
  EndStructureUnion
EndStructure
c ya,
nco2k
Last edited by nco2k on Mon Dec 05, 2016 7:20 am, edited 1 time in total.
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
User avatar
Keya
Addict
Addict
Posts: 1891
Joined: Thu Jun 04, 2015 7:10 am

Re: Requested API Structure and constants

Post by Keya »

PB already has most #THREAD_ constants but is missing these two:

Code: Select all

#define THREAD_SET_LIMITED_INFORMATION 0x0400
#define THREAD_QUERY_LIMITED_INFORMATION 0x0800
 =
#THREAD_SET_LIMITED_INFORMATION = $400
#THREAD_QUERY_LIMITED_INFORMATION = $800
OpenThread() API still remains missing also. I found the following Prototype OpenThread(dwDesiredAccess.l,bInheritHandle.l,dwThreadId.l)
User avatar
Keya
Addict
Addict
Posts: 1891
Joined: Thu Jun 04, 2015 7:10 am

Re: Requested API Structure and constants

Post by Keya »

Code: Select all

#IMAGE_DOS_SIGNATURE = $5A4D
#IMAGE_NT_SIGNATURE = $4550
#IMAGE_NT_OPTIONAL_HDR32_MAGIC = $10B
#IMAGE_NT_OPTIONAL_HDR64_MAGIC = $20B
http://research.microsoft.com/en-us/um/ ... mage.h.htm
User avatar
Keya
Addict
Addict
Posts: 1891
Joined: Thu Jun 04, 2015 7:10 am

Re: Requested API Structure and constants

Post by Keya »

PROBLEM: I'm having no luck with the current x64 version of MEMORY_BASIC_INFORMATION as it's currently defined internally to PB (i know it is intended to work due to the inserted alignment padding variables but there's still a problem):

Code: Select all

Structure MEMORY_BASIC_INFORMATION
  *BaseAddress
  *AllocationBase
  AllocationProtect.l
  PB_Alignment1.b[4]
  RegionSize.i
  State.l
  Protect.l
  Type.l
  PB_Alignment2.b[4]
EndStructure
SOLUTION: It works perfectly fine simply by adding Align #PB_Structure_AlignC to the existing internal x86 definition (i'm learning that structure alignment seems to be a common requirement on Win x64 :), very handy to have thanks Fred!):

Code: Select all

Structure MEMORY_BASIC_INFORMATION Align #PB_Structure_AlignC
  *BaseAddress
  *AllocationBase
  AllocationProtect.l
  RegionSize.i
  State.l
  Protect.l
  Type.l
EndStructure
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: Requested API Structure and constants

Post by Lunasole »

Some related to raw input API

Code: Select all

// removed as already added
Last edited by Lunasole on Mon Nov 07, 2016 9:59 am, edited 1 time in total.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
nco2k
Addict
Addict
Posts: 1344
Joined: Mon Sep 15, 2003 5:55 am

Re: Requested API Structure and constants

Post by nco2k »

edit: deleted.

c ya,
nco2k
Last edited by nco2k on Mon Nov 07, 2016 10:31 am, edited 1 time in total.
If OSVersion() = #PB_OS_Windows_ME : End : EndIf
IdeasVacuum
Always Here
Always Here
Posts: 6425
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Requested API Structure and constants

Post by IdeasVacuum »

Code: Select all

#SPDRP_DEVICEDESC = $00000000
;SetupDiGetClassDevs_()
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
User avatar
Keya
Addict
Addict
Posts: 1891
Joined: Thu Jun 04, 2015 7:10 am

Re: Requested API Structure and constants

Post by Keya »

PBWin has 30x #STATUS_ codes but recent NTSTATUS.H brings it up to 88:

Code: Select all

#STATUS_WAIT_0 = $00000000
#STATUS_WAIT_1 = $00000001
#STATUS_WAIT_2 = $00000002
#STATUS_WAIT_3 = $00000003
#STATUS_WAIT_63 = $0000003F
#STATUS_ABANDONED = $00000080
#STATUS_ABANDONED_WAIT_0 = $00000080
#STATUS_ABANDONED_WAIT_63 = $000000BF
#STATUS_USER_APC = $000000C0
#STATUS_KERNEL_APC = $00000100
#STATUS_ALERTED = $00000101
#STATUS_TIMEOUT = $00000102
#STATUS_PENDING = $00000103
#STATUS_REPARSE = $00000104
#STATUS_MORE_ENTRIES = $00000105
#STATUS_NOT_ALL_ASSIGNED = $00000106
#STATUS_SOME_NOT_MAPPED = $00000107
#STATUS_OPLOCK_BREAK_IN_PROGRESS = $00000108
#STATUS_VOLUME_MOUNTED = $00000109
#STATUS_RXACT_COMMITTED = $0000010A
#STATUS_NOTIFY_CLEANUP = $0000010B
#STATUS_NOTIFY_ENUM_DIR = $0000010C
#STATUS_NO_QUOTAS_FOR_ACCOUNT = $0000010D
#STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED = $0000010E
#STATUS_PAGE_FAULT_TRANSITION = $00000110
#STATUS_PAGE_FAULT_DEMAND_ZERO = $00000111
#STATUS_PAGE_FAULT_COPY_ON_WRITE = $00000112
#STATUS_PAGE_FAULT_GUARD_PAGE = $00000113
#STATUS_PAGE_FAULT_PAGING_FILE = $00000114
#STATUS_CACHE_PAGE_LOCKED = $00000115
#STATUS_CRASH_DUMP = $00000116
#STATUS_BUFFER_ALL_ZEROS = $00000117
#STATUS_REPARSE_OBJECT = $00000118
#STATUS_RESOURCE_REQUIREMENTS_CHANGED = $00000119
#STATUS_TRANSLATION_COMPLETE = $00000120
#STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY = $00000121
#STATUS_NOTHING_TO_TERMINATE = $00000122
#STATUS_PROCESS_NOT_IN_JOB = $00000123
#STATUS_PROCESS_IN_JOB = $00000124
#STATUS_VOLSNAP_HIBERNATE_READY = $00000125
#STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY = $00000126
#STATUS_OBJECT_NAME_EXISTS = $40000000
#STATUS_THREAD_WAS_SUSPENDED = $40000001
#STATUS_WORKING_SET_LIMIT_RANGE = $40000002
#STATUS_IMAGE_NOT_AT_BASE = $40000003
#STATUS_RXACT_STATE_CREATED = $40000004
#STATUS_SEGMENT_NOTIFICATION = $40000005
#STATUS_LOCAL_USER_SESSION_KEY = $40000006
#STATUS_BAD_CURRENT_DIRECTORY = $40000007
#STATUS_SERIAL_MORE_WRITES = $40000008
#STATUS_REGISTRY_RECOVERED = $40000009
#STATUS_FT_READ_RECOVERY_FROM_BACKUP = $4000000A
#STATUS_FT_WRITE_RECOVERY = $4000000B
#STATUS_SERIAL_COUNTER_TIMEOUT = $4000000C
#STATUS_NULL_LM_PASSWORD = $4000000D
#STATUS_IMAGE_MACHINE_TYPE_MISMATCH = $4000000E
#STATUS_RECEIVE_PARTIAL = $4000000F
#STATUS_RECEIVE_EXPEDITED = $40000010
#STATUS_RECEIVE_PARTIAL_EXPEDITED = $40000011
#STATUS_EVENT_DONE = $40000012
#STATUS_EVENT_PENDING = $40000013
#STATUS_CHECKING_FILE_SYSTEM = $40000014
#STATUS_FATAL_APP_EXIT = $40000015
#STATUS_PREDEFINED_HANDLE = $40000016
#STATUS_WAS_UNLOCKED = $40000017
#STATUS_SERVICE_NOTIFICATION = $40000018
#STATUS_WAS_LOCKED = $40000019
#STATUS_LOG_HARD_ERROR = $4000001A
#STATUS_ALREADY_WIN32 = $4000001B
#STATUS_WX86_UNSIMULATE = $4000001C
#STATUS_WX86_CONTINUE = $4000001D
#STATUS_WX86_SINGLE_STEP = $4000001E
#STATUS_WX86_BREAKPOINT = $4000001F
#STATUS_WX86_EXCEPTION_CONTINUE = $40000020
#STATUS_WX86_EXCEPTION_LASTCHANCE = $40000021
#STATUS_WX86_EXCEPTION_CHAIN = $40000022
#STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE = $40000023
#STATUS_NO_YIELD_PERFORMED = $40000024
#STATUS_TIMER_RESUME_IGNORED = $40000025
#STATUS_ARBITRATION_UNHANDLED = $40000026
#STATUS_CARDBUS_NOT_SUPPORTED = $40000027
#STATUS_WX86_CREATEWX86TIB = $40000028
#STATUS_MP_PROCESSOR_MISMATCH = $40000029
#STATUS_HIBERNATED = $4000002A
#STATUS_RESUME_HIBERNATION = $4000002B
#STATUS_FIRMWARE_UPDATED = $4000002C
#STATUS_DRIVERS_LEAKING_LOCKED_PAGES = $4000002D
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: Requested API Structure and constants

Post by Lunasole »

There is a small problem with szDevice field of MONITORINFOEX structure.

Code: Select all

EnableExplicit
; Create window and get moninor handle, where MOST of window area is located
Define mWnd = OpenWindow(#PB_Any, 0, 0, 100, 200, "")
Define hCurrentDisplay =  MonitorFromWindow_(WindowID(mWnd), #MONITOR_DEFAULTTONEAREST)

; Info about that display
; Prepare structure
Define Display.MONITORINFOEX
Display\szDevice = Space(#CCHDEVICENAME)

; Example 1
Display\cbSize = SizeOf(MONITORINFOEX)
Debug GetMonitorInfo_(hCurrentDisplay, Display) ; fails in unicode mode, but works fine in non-unicode
Debug Display\szDevice

; Example 2
Display\cbSize = SizeOf(MONITORINFO) + #CCHDEVICENAME * SizeOf(Character) ; PB has incorrect szDevice size for unicode mode? SizeOf(MONITORINFOEX) = 72, instead of 104 which should be.
Debug GetMonitorInfo_(hCurrentDisplay, Display) ; works in unicode and non-unicode
Debug Display\szDevice
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
Post Reply