A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 '' FreeBASIC binding for mingw-w64-v4.0.4 2 '' 3 '' based on the C header files: 4 '' This Software is provided under the Zope Public License (ZPL) Version 2.1. 5 '' 6 '' Copyright (c) 2009, 2010 by the mingw-w64 project 7 '' 8 '' See the AUTHORS file for the list of contributors to the mingw-w64 project. 9 '' 10 '' This license has been certified as open source. It has also been designated 11 '' as GPL compatible by the Free Software Foundation (FSF). 12 '' 13 '' Redistribution and use in source and binary forms, with or without 14 '' modification, are permitted provided that the following conditions are met: 15 '' 16 '' 1. Redistributions in source code must retain the accompanying copyright 17 '' notice, this list of conditions, and the following disclaimer. 18 '' 2. Redistributions in binary form must reproduce the accompanying 19 '' copyright notice, this list of conditions, and the following disclaimer 20 '' in the documentation and/or other materials provided with the 21 '' distribution. 22 '' 3. Names of the copyright holders must not be used to endorse or promote 23 '' products derived from this software without prior written permission 24 '' from the copyright holders. 25 '' 4. The right to distribute this software or to use it for any purpose does 26 '' not give you the right to use Servicemarks (sm) or Trademarks (tm) of 27 '' the copyright holders. Use of them is covered by separate agreement 28 '' with the copyright holders. 29 '' 5. If any files are modified, you must cause the modified files to carry 30 '' prominent notices stating that you changed the files and the date of 31 '' any change. 32 '' 33 '' Disclaimer 34 '' 35 '' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED 36 '' OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 37 '' OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 38 '' EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, 39 '' INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 40 '' LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 41 '' OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 42 '' LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 43 '' NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 44 '' EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 45 '' 46 '' translated to FreeBASIC by: 47 '' Copyright © 2015 FreeBASIC development team 48 49 #pragma once 50 51 #inclib "user32" 52 53 #include once "winapifamily.bi" 54 #include once "_mingw_unicode.bi" 55 #include once "_mingw.bi" 56 #include once "crt/stdarg.bi" 57 #include once "guiddef.bi" 58 59 '' The following symbols have been renamed: 60 '' typedef INPUT => INPUT_ 61 62 extern "Windows" 63 64 #define _WINUSER_ 65 type HDWP as HANDLE 66 type MENUTEMPLATEA as any 67 type MENUTEMPLATEW as any 68 type LPMENUTEMPLATEA as PVOID 69 type LPMENUTEMPLATEW as PVOID 70 71 #ifdef UNICODE 72 type MENUTEMPLATE as MENUTEMPLATEW 73 type LPMENUTEMPLATE as LPMENUTEMPLATEW 74 #else 75 type MENUTEMPLATE as MENUTEMPLATEA 76 type LPMENUTEMPLATE as LPMENUTEMPLATEA 77 #endif 78 79 type WNDPROC as function(byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as LRESULT 80 type DLGPROC as function(byval as HWND, byval as UINT, byval as WPARAM, byval as LPARAM) as INT_PTR 81 type TIMERPROC as sub(byval as HWND, byval as UINT, byval as UINT_PTR, byval as DWORD) 82 type GRAYSTRINGPROC as function(byval as HDC, byval as LPARAM, byval as long) as WINBOOL 83 type WNDENUMPROC as function(byval as HWND, byval as LPARAM) as WINBOOL 84 type ENUMWINDOWSPROC as WNDENUMPROC '' custom name for backwards-compatibility (it existed in old headers despite being undocumented) 85 type HOOKPROC as function(byval code as long, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 86 type SENDASYNCPROC as sub(byval as HWND, byval as UINT, byval as ULONG_PTR, byval as LRESULT) 87 type PROPENUMPROCA as function(byval as HWND, byval as LPCSTR, byval as HANDLE) as WINBOOL 88 type PROPENUMPROCW as function(byval as HWND, byval as LPCWSTR, byval as HANDLE) as WINBOOL 89 type PROPENUMPROCEXA as function(byval as HWND, byval as LPSTR, byval as HANDLE, byval as ULONG_PTR) as WINBOOL 90 type PROPENUMPROCEXW as function(byval as HWND, byval as LPWSTR, byval as HANDLE, byval as ULONG_PTR) as WINBOOL 91 type EDITWORDBREAKPROCA as function(byval lpch as LPSTR, byval ichCurrent as long, byval cch as long, byval code as long) as long 92 type EDITWORDBREAKPROCW as function(byval lpch as LPWSTR, byval ichCurrent as long, byval cch as long, byval code as long) as long 93 type DRAWSTATEPROC as function(byval hdc as HDC, byval lData as LPARAM, byval wData as WPARAM, byval cx as long, byval cy as long) as WINBOOL 94 95 #ifdef UNICODE 96 type PROPENUMPROC as PROPENUMPROCW 97 type PROPENUMPROCEX as PROPENUMPROCEXW 98 type EDITWORDBREAKPROC as EDITWORDBREAKPROCW 99 #else 100 type PROPENUMPROC as PROPENUMPROCA 101 type PROPENUMPROCEX as PROPENUMPROCEXA 102 type EDITWORDBREAKPROC as EDITWORDBREAKPROCA 103 #endif 104 105 type NAMEENUMPROCA as function(byval as LPSTR, byval as LPARAM) as WINBOOL 106 type NAMEENUMPROCW as function(byval as LPWSTR, byval as LPARAM) as WINBOOL 107 type WINSTAENUMPROCA as NAMEENUMPROCA 108 type WINSTAENUMPROCW as NAMEENUMPROCW 109 type DESKTOPENUMPROCA as NAMEENUMPROCA 110 type DESKTOPENUMPROCW as NAMEENUMPROCW 111 112 #ifdef UNICODE 113 type WINSTAENUMPROC as WINSTAENUMPROCW 114 type DESKTOPENUMPROC as DESKTOPENUMPROCW 115 #else 116 type WINSTAENUMPROC as WINSTAENUMPROCA 117 type DESKTOPENUMPROC as DESKTOPENUMPROCA 118 #endif 119 120 #define IS_INTRESOURCE(_r) ((cast(ULONG_PTR, (_r)) shr 16) = 0) 121 #define MAKEINTRESOURCEA(i) cast(LPSTR, cast(ULONG_PTR, cast(WORD, (i)))) 122 #define MAKEINTRESOURCEW(i) cast(LPWSTR, cast(ULONG_PTR, cast(WORD, (i)))) 123 124 #ifdef UNICODE 125 #define MAKEINTRESOURCE MAKEINTRESOURCEW 126 #else 127 #define MAKEINTRESOURCE MAKEINTRESOURCEA 128 #endif 129 130 #define RT_CURSOR MAKEINTRESOURCE(1) 131 #define RT_BITMAP MAKEINTRESOURCE(2) 132 #define RT_ICON MAKEINTRESOURCE(3) 133 #define RT_MENU MAKEINTRESOURCE(4) 134 #define RT_DIALOG MAKEINTRESOURCE(5) 135 #define RT_STRING MAKEINTRESOURCE(6) 136 #define RT_FONTDIR MAKEINTRESOURCE(7) 137 #define RT_FONT MAKEINTRESOURCE(8) 138 #define RT_ACCELERATOR MAKEINTRESOURCE(9) 139 #define RT_RCDATA MAKEINTRESOURCE(10) 140 #define RT_MESSAGETABLE MAKEINTRESOURCE(11) 141 const DIFFERENCE = 11 142 #define RT_GROUP_CURSOR MAKEINTRESOURCE(cast(ULONG_PTR, RT_CURSOR) + DIFFERENCE) 143 #define RT_GROUP_ICON MAKEINTRESOURCE(cast(ULONG_PTR, RT_ICON) + DIFFERENCE) 144 #define RT_VERSION MAKEINTRESOURCE(16) 145 #define RT_DLGINCLUDE MAKEINTRESOURCE(17) 146 #define RT_PLUGPLAY MAKEINTRESOURCE(19) 147 #define RT_VXD MAKEINTRESOURCE(20) 148 #define RT_ANICURSOR MAKEINTRESOURCE(21) 149 #define RT_ANIICON MAKEINTRESOURCE(22) 150 #define RT_HTML MAKEINTRESOURCE(23) 151 #define RT_MANIFEST MAKEINTRESOURCE(24) 152 #define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1) 153 #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2) 154 #define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3) 155 #define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1) 156 #define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(16) 157 158 #ifdef UNICODE 159 #define wvsprintf wvsprintfW 160 #define wsprintf wsprintfW 161 #else 162 #define wvsprintf wvsprintfA 163 #define wsprintf wsprintfA 164 #endif 165 166 declare function wvsprintfA(byval as LPSTR, byval as LPCSTR, byval arglist as va_list) as long 167 declare function wvsprintfW(byval as LPWSTR, byval as LPCWSTR, byval arglist as va_list) as long 168 declare function wsprintfA cdecl(byval as LPSTR, byval as LPCSTR, ...) as long 169 declare function wsprintfW cdecl(byval as LPWSTR, byval as LPCWSTR, ...) as long 170 171 const SETWALLPAPER_DEFAULT = cast(LPWSTR, -1) 172 const SB_HORZ = 0 173 const SB_VERT = 1 174 const SB_CTL = 2 175 const SB_BOTH = 3 176 const SB_LINEUP = 0 177 const SB_LINELEFT = 0 178 const SB_LINEDOWN = 1 179 const SB_LINERIGHT = 1 180 const SB_PAGEUP = 2 181 const SB_PAGELEFT = 2 182 const SB_PAGEDOWN = 3 183 const SB_PAGERIGHT = 3 184 const SB_THUMBPOSITION = 4 185 const SB_THUMBTRACK = 5 186 const SB_TOP = 6 187 const SB_LEFT = 6 188 const SB_BOTTOM = 7 189 const SB_RIGHT = 7 190 const SB_ENDSCROLL = 8 191 const SW_HIDE = 0 192 const SW_SHOWNORMAL = 1 193 const SW_NORMAL = 1 194 const SW_SHOWMINIMIZED = 2 195 const SW_SHOWMAXIMIZED = 3 196 const SW_MAXIMIZE = 3 197 const SW_SHOWNOACTIVATE = 4 198 const SW_SHOW = 5 199 const SW_MINIMIZE = 6 200 const SW_SHOWMINNOACTIVE = 7 201 const SW_SHOWNA = 8 202 const SW_RESTORE = 9 203 const SW_SHOWDEFAULT = 10 204 const SW_FORCEMINIMIZE = 11 205 const SW_MAX = 11 206 const HIDE_WINDOW = 0 207 const SHOW_OPENWINDOW = 1 208 const SHOW_ICONWINDOW = 2 209 const SHOW_FULLSCREEN = 3 210 const SHOW_OPENNOACTIVATE = 4 211 const SW_PARENTCLOSING = 1 212 const SW_OTHERZOOM = 2 213 const SW_PARENTOPENING = 3 214 const SW_OTHERUNZOOM = 4 215 const AW_HOR_POSITIVE = &h00000001 216 const AW_HOR_NEGATIVE = &h00000002 217 const AW_VER_POSITIVE = &h00000004 218 const AW_VER_NEGATIVE = &h00000008 219 const AW_CENTER = &h00000010 220 const AW_HIDE = &h00010000 221 const AW_ACTIVATE = &h00020000 222 const AW_SLIDE = &h00040000 223 const AW_BLEND = &h00080000 224 const KF_EXTENDED = &h0100 225 const KF_DLGMODE = &h0800 226 const KF_MENUMODE = &h1000 227 const KF_ALTDOWN = &h2000 228 const KF_REPEAT = &h4000 229 const KF_UP = &h8000 230 const VK_LBUTTON = &h01 231 const VK_RBUTTON = &h02 232 const VK_CANCEL = &h03 233 const VK_MBUTTON = &h04 234 const VK_XBUTTON1 = &h05 235 const VK_XBUTTON2 = &h06 236 const VK_BACK = &h08 237 const VK_TAB = &h09 238 const VK_CLEAR = &h0C 239 const VK_RETURN = &h0D 240 const VK_SHIFT = &h10 241 const VK_CONTROL = &h11 242 const VK_MENU = &h12 243 const VK_PAUSE = &h13 244 const VK_CAPITAL = &h14 245 const VK_KANA = &h15 246 const VK_HANGEUL = &h15 247 const VK_HANGUL = &h15 248 const VK_JUNJA = &h17 249 const VK_FINAL = &h18 250 const VK_HANJA = &h19 251 const VK_KANJI = &h19 252 const VK_ESCAPE = &h1B 253 const VK_CONVERT = &h1C 254 const VK_NONCONVERT = &h1D 255 const VK_ACCEPT = &h1E 256 const VK_MODECHANGE = &h1F 257 const VK_SPACE = &h20 258 const VK_PRIOR = &h21 259 const VK_NEXT = &h22 260 const VK_END = &h23 261 const VK_HOME = &h24 262 const VK_LEFT = &h25 263 const VK_UP = &h26 264 const VK_RIGHT = &h27 265 const VK_DOWN = &h28 266 const VK_SELECT = &h29 267 const VK_PRINT = &h2A 268 const VK_EXECUTE = &h2B 269 const VK_SNAPSHOT = &h2C 270 const VK_INSERT = &h2D 271 const VK_DELETE = &h2E 272 const VK_HELP = &h2F 273 const VK_0 = &h30 274 const VK_1 = &h31 275 const VK_2 = &h32 276 const VK_3 = &h33 277 const VK_4 = &h34 278 const VK_5 = &h35 279 const VK_6 = &h36 280 const VK_7 = &h37 281 const VK_8 = &h38 282 const VK_9 = &h39 283 const VK_A = &h41 284 const VK_B = &h42 285 const VK_C = &h43 286 const VK_D = &h44 287 const VK_E = &h45 288 const VK_F = &h46 289 const VK_G = &h47 290 const VK_H = &h48 291 const VK_I = &h49 292 const VK_J = &h4A 293 const VK_K = &h4B 294 const VK_L = &h4C 295 const VK_M = &h4D 296 const VK_N = &h4E 297 const VK_O = &h4F 298 const VK_P = &h50 299 const VK_Q = &h51 300 const VK_R = &h52 301 const VK_S = &h53 302 const VK_T = &h54 303 const VK_U = &h55 304 const VK_V = &h56 305 const VK_W = &h57 306 const VK_X = &h58 307 const VK_Y = &h59 308 const VK_Z = &h5A 309 const VK_LWIN = &h5B 310 const VK_RWIN = &h5C 311 const VK_APPS = &h5D 312 const VK_SLEEP = &h5F 313 const VK_NUMPAD0 = &h60 314 const VK_NUMPAD1 = &h61 315 const VK_NUMPAD2 = &h62 316 const VK_NUMPAD3 = &h63 317 const VK_NUMPAD4 = &h64 318 const VK_NUMPAD5 = &h65 319 const VK_NUMPAD6 = &h66 320 const VK_NUMPAD7 = &h67 321 const VK_NUMPAD8 = &h68 322 const VK_NUMPAD9 = &h69 323 const VK_MULTIPLY = &h6A 324 const VK_ADD = &h6B 325 const VK_SEPARATOR = &h6C 326 const VK_SUBTRACT = &h6D 327 const VK_DECIMAL = &h6E 328 const VK_DIVIDE = &h6F 329 const VK_F1 = &h70 330 const VK_F2 = &h71 331 const VK_F3 = &h72 332 const VK_F4 = &h73 333 const VK_F5 = &h74 334 const VK_F6 = &h75 335 const VK_F7 = &h76 336 const VK_F8 = &h77 337 const VK_F9 = &h78 338 const VK_F10 = &h79 339 const VK_F11 = &h7A 340 const VK_F12 = &h7B 341 const VK_F13 = &h7C 342 const VK_F14 = &h7D 343 const VK_F15 = &h7E 344 const VK_F16 = &h7F 345 const VK_F17 = &h80 346 const VK_F18 = &h81 347 const VK_F19 = &h82 348 const VK_F20 = &h83 349 const VK_F21 = &h84 350 const VK_F22 = &h85 351 const VK_F23 = &h86 352 const VK_F24 = &h87 353 const VK_NUMLOCK = &h90 354 const VK_SCROLL = &h91 355 const VK_OEM_NEC_EQUAL = &h92 356 const VK_OEM_FJ_JISHO = &h92 357 const VK_OEM_FJ_MASSHOU = &h93 358 const VK_OEM_FJ_TOUROKU = &h94 359 const VK_OEM_FJ_LOYA = &h95 360 const VK_OEM_FJ_ROYA = &h96 361 const VK_LSHIFT = &hA0 362 const VK_RSHIFT = &hA1 363 const VK_LCONTROL = &hA2 364 const VK_RCONTROL = &hA3 365 const VK_LMENU = &hA4 366 const VK_RMENU = &hA5 367 const VK_BROWSER_BACK = &hA6 368 const VK_BROWSER_FORWARD = &hA7 369 const VK_BROWSER_REFRESH = &hA8 370 const VK_BROWSER_STOP = &hA9 371 const VK_BROWSER_SEARCH = &hAA 372 const VK_BROWSER_FAVORITES = &hAB 373 const VK_BROWSER_HOME = &hAC 374 const VK_VOLUME_MUTE = &hAD 375 const VK_VOLUME_DOWN = &hAE 376 const VK_VOLUME_UP = &hAF 377 const VK_MEDIA_NEXT_TRACK = &hB0 378 const VK_MEDIA_PREV_TRACK = &hB1 379 const VK_MEDIA_STOP = &hB2 380 const VK_MEDIA_PLAY_PAUSE = &hB3 381 const VK_LAUNCH_MAIL = &hB4 382 const VK_LAUNCH_MEDIA_SELECT = &hB5 383 const VK_LAUNCH_APP1 = &hB6 384 const VK_LAUNCH_APP2 = &hB7 385 const VK_OEM_1 = &hBA 386 const VK_OEM_PLUS = &hBB 387 const VK_OEM_COMMA = &hBC 388 const VK_OEM_MINUS = &hBD 389 const VK_OEM_PERIOD = &hBE 390 const VK_OEM_2 = &hBF 391 const VK_OEM_3 = &hC0 392 const VK_OEM_4 = &hDB 393 const VK_OEM_5 = &hDC 394 const VK_OEM_6 = &hDD 395 const VK_OEM_7 = &hDE 396 const VK_OEM_8 = &hDF 397 const VK_OEM_AX = &hE1 398 const VK_OEM_102 = &hE2 399 const VK_ICO_HELP = &hE3 400 const VK_ICO_00 = &hE4 401 const VK_PROCESSKEY = &hE5 402 const VK_ICO_CLEAR = &hE6 403 const VK_PACKET = &hE7 404 const VK_OEM_RESET = &hE9 405 const VK_OEM_JUMP = &hEA 406 const VK_OEM_PA1 = &hEB 407 const VK_OEM_PA2 = &hEC 408 const VK_OEM_PA3 = &hED 409 const VK_OEM_WSCTRL = &hEE 410 const VK_OEM_CUSEL = &hEF 411 const VK_OEM_ATTN = &hF0 412 const VK_OEM_FINISH = &hF1 413 const VK_OEM_COPY = &hF2 414 const VK_OEM_AUTO = &hF3 415 const VK_OEM_ENLW = &hF4 416 const VK_OEM_BACKTAB = &hF5 417 const VK_ATTN = &hF6 418 const VK_CRSEL = &hF7 419 const VK_EXSEL = &hF8 420 const VK_EREOF = &hF9 421 const VK_PLAY = &hFA 422 const VK_ZOOM = &hFB 423 const VK_NONAME = &hFC 424 const VK_PA1 = &hFD 425 const VK_OEM_CLEAR = &hFE 426 const WH_MIN = -1 427 const WH_MSGFILTER = -1 428 const WH_JOURNALRECORD = 0 429 const WH_JOURNALPLAYBACK = 1 430 const WH_KEYBOARD = 2 431 const WH_GETMESSAGE = 3 432 const WH_CALLWNDPROC = 4 433 const WH_CBT = 5 434 const WH_SYSMSGFILTER = 6 435 const WH_MOUSE = 7 436 const WH_HARDWARE = 8 437 const WH_DEBUG = 9 438 const WH_SHELL = 10 439 const WH_FOREGROUNDIDLE = 11 440 const WH_CALLWNDPROCRET = 12 441 const WH_KEYBOARD_LL = 13 442 const WH_MOUSE_LL = 14 443 const WH_MAX = 14 444 const WH_MINHOOK = WH_MIN 445 const WH_MAXHOOK = WH_MAX 446 const HC_ACTION = 0 447 const HC_GETNEXT = 1 448 const HC_SKIP = 2 449 const HC_NOREMOVE = 3 450 const HC_NOREM = HC_NOREMOVE 451 const HC_SYSMODALON = 4 452 const HC_SYSMODALOFF = 5 453 const HCBT_MOVESIZE = 0 454 const HCBT_MINMAX = 1 455 const HCBT_QS = 2 456 const HCBT_CREATEWND = 3 457 const HCBT_DESTROYWND = 4 458 const HCBT_ACTIVATE = 5 459 const HCBT_CLICKSKIPPED = 6 460 const HCBT_KEYSKIPPED = 7 461 const HCBT_SYSCOMMAND = 8 462 const HCBT_SETFOCUS = 9 463 type tagCREATESTRUCTA as tagCREATESTRUCTA_ 464 465 type tagCBT_CREATEWNDA 466 lpcs as tagCREATESTRUCTA ptr 467 hwndInsertAfter as HWND 468 end type 469 470 type CBT_CREATEWNDA as tagCBT_CREATEWNDA 471 type LPCBT_CREATEWNDA as tagCBT_CREATEWNDA ptr 472 type tagCREATESTRUCTW as tagCREATESTRUCTW_ 473 474 type tagCBT_CREATEWNDW 475 lpcs as tagCREATESTRUCTW ptr 476 hwndInsertAfter as HWND 477 end type 478 479 type CBT_CREATEWNDW as tagCBT_CREATEWNDW 480 type LPCBT_CREATEWNDW as tagCBT_CREATEWNDW ptr 481 482 #ifdef UNICODE 483 type CBT_CREATEWND as CBT_CREATEWNDW 484 type LPCBT_CREATEWND as LPCBT_CREATEWNDW 485 #else 486 type CBT_CREATEWND as CBT_CREATEWNDA 487 type LPCBT_CREATEWND as LPCBT_CREATEWNDA 488 #endif 489 490 type tagCBTACTIVATESTRUCT 491 fMouse as WINBOOL 492 hWndActive as HWND 493 end type 494 495 type CBTACTIVATESTRUCT as tagCBTACTIVATESTRUCT 496 type LPCBTACTIVATESTRUCT as tagCBTACTIVATESTRUCT ptr 497 498 type tagWTSSESSION_NOTIFICATION 499 cbSize as DWORD 500 dwSessionId as DWORD 501 end type 502 503 type WTSSESSION_NOTIFICATION as tagWTSSESSION_NOTIFICATION 504 type PWTSSESSION_NOTIFICATION as tagWTSSESSION_NOTIFICATION ptr 505 const WTS_CONSOLE_CONNECT = &h1 506 const WTS_CONSOLE_DISCONNECT = &h2 507 const WTS_REMOTE_CONNECT = &h3 508 const WTS_REMOTE_DISCONNECT = &h4 509 const WTS_SESSION_LOGON = &h5 510 const WTS_SESSION_LOGOFF = &h6 511 const WTS_SESSION_LOCK = &h7 512 const WTS_SESSION_UNLOCK = &h8 513 const WTS_SESSION_REMOTE_CONTROL = &h9 514 const WTS_SESSION_CREATE = &ha 515 const WTS_SESSION_TERMINATE = &hb 516 const MSGF_DIALOGBOX = 0 517 const MSGF_MESSAGEBOX = 1 518 const MSGF_MENU = 2 519 const MSGF_SCROLLBAR = 5 520 const MSGF_NEXTWINDOW = 6 521 const MSGF_MAX = 8 522 const MSGF_USER = 4096 523 const HSHELL_WINDOWCREATED = 1 524 const HSHELL_WINDOWDESTROYED = 2 525 const HSHELL_ACTIVATESHELLWINDOW = 3 526 const HSHELL_WINDOWACTIVATED = 4 527 const HSHELL_GETMINRECT = 5 528 const HSHELL_REDRAW = 6 529 const HSHELL_TASKMAN = 7 530 const HSHELL_LANGUAGE = 8 531 const HSHELL_SYSMENU = 9 532 const HSHELL_ENDTASK = 10 533 const HSHELL_ACCESSIBILITYSTATE = 11 534 const HSHELL_APPCOMMAND = 12 535 const HSHELL_WINDOWREPLACED = 13 536 const HSHELL_WINDOWREPLACING = 14 537 538 #if _WIN32_WINNT = &h0602 539 const HSHELL_MONITORCHANGED = 16 540 #endif 541 542 const HSHELL_HIGHBIT = &h8000 543 const HSHELL_FLASH = HSHELL_REDRAW or HSHELL_HIGHBIT 544 const HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED or HSHELL_HIGHBIT 545 const ACCESS_STICKYKEYS = &h0001 546 const ACCESS_FILTERKEYS = &h0002 547 const ACCESS_MOUSEKEYS = &h0003 548 const APPCOMMAND_BROWSER_BACKWARD = 1 549 const APPCOMMAND_BROWSER_FORWARD = 2 550 const APPCOMMAND_BROWSER_REFRESH = 3 551 const APPCOMMAND_BROWSER_STOP = 4 552 const APPCOMMAND_BROWSER_SEARCH = 5 553 const APPCOMMAND_BROWSER_FAVORITES = 6 554 const APPCOMMAND_BROWSER_HOME = 7 555 const APPCOMMAND_VOLUME_MUTE = 8 556 const APPCOMMAND_VOLUME_DOWN = 9 557 const APPCOMMAND_VOLUME_UP = 10 558 const APPCOMMAND_MEDIA_NEXTTRACK = 11 559 const APPCOMMAND_MEDIA_PREVIOUSTRACK = 12 560 const APPCOMMAND_MEDIA_STOP = 13 561 const APPCOMMAND_MEDIA_PLAY_PAUSE = 14 562 const APPCOMMAND_LAUNCH_MAIL = 15 563 const APPCOMMAND_LAUNCH_MEDIA_SELECT = 16 564 const APPCOMMAND_LAUNCH_APP1 = 17 565 const APPCOMMAND_LAUNCH_APP2 = 18 566 const APPCOMMAND_BASS_DOWN = 19 567 const APPCOMMAND_BASS_BOOST = 20 568 const APPCOMMAND_BASS_UP = 21 569 const APPCOMMAND_TREBLE_DOWN = 22 570 const APPCOMMAND_TREBLE_UP = 23 571 const APPCOMMAND_MICROPHONE_VOLUME_MUTE = 24 572 const APPCOMMAND_MICROPHONE_VOLUME_DOWN = 25 573 const APPCOMMAND_MICROPHONE_VOLUME_UP = 26 574 const APPCOMMAND_HELP = 27 575 const APPCOMMAND_FIND = 28 576 const APPCOMMAND_NEW = 29 577 const APPCOMMAND_OPEN = 30 578 const APPCOMMAND_CLOSE = 31 579 const APPCOMMAND_SAVE = 32 580 const APPCOMMAND_PRINT = 33 581 const APPCOMMAND_UNDO = 34 582 const APPCOMMAND_REDO = 35 583 const APPCOMMAND_COPY = 36 584 const APPCOMMAND_CUT = 37 585 const APPCOMMAND_PASTE = 38 586 const APPCOMMAND_REPLY_TO_MAIL = 39 587 const APPCOMMAND_FORWARD_MAIL = 40 588 const APPCOMMAND_SEND_MAIL = 41 589 const APPCOMMAND_SPELL_CHECK = 42 590 const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = 43 591 const APPCOMMAND_MIC_ON_OFF_TOGGLE = 44 592 const APPCOMMAND_CORRECTION_LIST = 45 593 const APPCOMMAND_MEDIA_PLAY = 46 594 const APPCOMMAND_MEDIA_PAUSE = 47 595 const APPCOMMAND_MEDIA_RECORD = 48 596 const APPCOMMAND_MEDIA_FAST_FORWARD = 49 597 const APPCOMMAND_MEDIA_REWIND = 50 598 const APPCOMMAND_MEDIA_CHANNEL_UP = 51 599 const APPCOMMAND_MEDIA_CHANNEL_DOWN = 52 600 601 #if _WIN32_WINNT >= &h0600 602 const APPCOMMAND_DELETE = 53 603 const APPCOMMAND_DWM_FLIP3D = 54 604 #endif 605 606 const FAPPCOMMAND_MOUSE = &h8000 607 const FAPPCOMMAND_KEY = 0 608 const FAPPCOMMAND_OEM = &h1000 609 const FAPPCOMMAND_MASK = &hF000 610 #define GET_APPCOMMAND_LPARAM(lParam) cshort(HIWORD(lParam) and (not FAPPCOMMAND_MASK)) 611 #define GET_DEVICE_LPARAM(lParam) cast(WORD, HIWORD(lParam) and FAPPCOMMAND_MASK) 612 #define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM 613 #define GET_FLAGS_LPARAM(lParam) LOWORD(lParam) 614 #define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam) 615 616 type SHELLHOOKINFO 617 hwnd as HWND 618 rc as RECT 619 end type 620 621 type LPSHELLHOOKINFO as SHELLHOOKINFO ptr 622 623 type tagEVENTMSG 624 message as UINT 625 paramL as UINT 626 paramH as UINT 627 time as DWORD 628 hwnd as HWND 629 end type 630 631 type EVENTMSG as tagEVENTMSG 632 type PEVENTMSGMSG as tagEVENTMSG ptr 633 type NPEVENTMSGMSG as tagEVENTMSG ptr 634 type LPEVENTMSGMSG as tagEVENTMSG ptr 635 type PEVENTMSG as tagEVENTMSG ptr 636 type NPEVENTMSG as tagEVENTMSG ptr 637 type LPEVENTMSG as tagEVENTMSG ptr 638 639 type tagCWPSTRUCT 640 lParam as LPARAM 641 wParam as WPARAM 642 message as UINT 643 hwnd as HWND 644 end type 645 646 type CWPSTRUCT as tagCWPSTRUCT 647 type PCWPSTRUCT as tagCWPSTRUCT ptr 648 type NPCWPSTRUCT as tagCWPSTRUCT ptr 649 type LPCWPSTRUCT as tagCWPSTRUCT ptr 650 651 type tagCWPRETSTRUCT 652 lResult as LRESULT 653 lParam as LPARAM 654 wParam as WPARAM 655 message as UINT 656 hwnd as HWND 657 end type 658 659 type CWPRETSTRUCT as tagCWPRETSTRUCT 660 type PCWPRETSTRUCT as tagCWPRETSTRUCT ptr 661 type NPCWPRETSTRUCT as tagCWPRETSTRUCT ptr 662 type LPCWPRETSTRUCT as tagCWPRETSTRUCT ptr 663 664 const LLKHF_EXTENDED = KF_EXTENDED shr 8 665 const LLKHF_INJECTED = &h00000010 666 const LLKHF_ALTDOWN = KF_ALTDOWN shr 8 667 const LLKHF_UP = KF_UP shr 8 668 const LLMHF_INJECTED = &h00000001 669 670 type tagKBDLLHOOKSTRUCT 671 vkCode as DWORD 672 scanCode as DWORD 673 flags as DWORD 674 time as DWORD 675 dwExtraInfo as ULONG_PTR 676 end type 677 678 type KBDLLHOOKSTRUCT as tagKBDLLHOOKSTRUCT 679 type LPKBDLLHOOKSTRUCT as tagKBDLLHOOKSTRUCT ptr 680 type PKBDLLHOOKSTRUCT as tagKBDLLHOOKSTRUCT ptr 681 682 type tagMSLLHOOKSTRUCT 683 pt as POINT 684 mouseData as DWORD 685 flags as DWORD 686 time as DWORD 687 dwExtraInfo as ULONG_PTR 688 end type 689 690 type MSLLHOOKSTRUCT as tagMSLLHOOKSTRUCT 691 type LPMSLLHOOKSTRUCT as tagMSLLHOOKSTRUCT ptr 692 type PMSLLHOOKSTRUCT as tagMSLLHOOKSTRUCT ptr 693 694 type tagDEBUGHOOKINFO 695 idThread as DWORD 696 idThreadInstaller as DWORD 697 lParam as LPARAM 698 wParam as WPARAM 699 code as long 700 end type 701 702 type DEBUGHOOKINFO as tagDEBUGHOOKINFO 703 type PDEBUGHOOKINFO as tagDEBUGHOOKINFO ptr 704 type NPDEBUGHOOKINFO as tagDEBUGHOOKINFO ptr 705 type LPDEBUGHOOKINFO as tagDEBUGHOOKINFO ptr 706 707 type tagMOUSEHOOKSTRUCT 708 pt as POINT 709 hwnd as HWND 710 wHitTestCode as UINT 711 dwExtraInfo as ULONG_PTR 712 end type 713 714 type MOUSEHOOKSTRUCT as tagMOUSEHOOKSTRUCT 715 type LPMOUSEHOOKSTRUCT as tagMOUSEHOOKSTRUCT ptr 716 type PMOUSEHOOKSTRUCT as tagMOUSEHOOKSTRUCT ptr 717 718 type tagMOUSEHOOKSTRUCTEX 719 __unnamed as MOUSEHOOKSTRUCT 720 mouseData as DWORD 721 end type 722 723 type MOUSEHOOKSTRUCTEX as tagMOUSEHOOKSTRUCTEX 724 type LPMOUSEHOOKSTRUCTEX as tagMOUSEHOOKSTRUCTEX ptr 725 type PMOUSEHOOKSTRUCTEX as tagMOUSEHOOKSTRUCTEX ptr 726 727 type tagHARDWAREHOOKSTRUCT 728 hwnd as HWND 729 message as UINT 730 wParam as WPARAM 731 lParam as LPARAM 732 end type 733 734 type HARDWAREHOOKSTRUCT as tagHARDWAREHOOKSTRUCT 735 type LPHARDWAREHOOKSTRUCT as tagHARDWAREHOOKSTRUCT ptr 736 type PHARDWAREHOOKSTRUCT as tagHARDWAREHOOKSTRUCT ptr 737 738 const HKL_PREV = 0 739 const HKL_NEXT = 1 740 const KLF_ACTIVATE = &h00000001 741 const KLF_SUBSTITUTE_OK = &h00000002 742 const KLF_REORDER = &h00000008 743 const KLF_REPLACELANG = &h00000010 744 const KLF_NOTELLSHELL = &h00000080 745 const KLF_SETFORPROCESS = &h00000100 746 const KLF_SHIFTLOCK = &h00010000 747 const KLF_RESET = &h40000000 748 const INPUTLANGCHANGE_SYSCHARSET = &h0001 749 const INPUTLANGCHANGE_FORWARD = &h0002 750 const INPUTLANGCHANGE_BACKWARD = &h0004 751 const KL_NAMELENGTH = 9 752 declare function LoadKeyboardLayoutA(byval pwszKLID as LPCSTR, byval Flags as UINT) as HKL 753 754 #ifndef UNICODE 755 declare function LoadKeyboardLayout alias "LoadKeyboardLayoutA"(byval pwszKLID as LPCSTR, byval Flags as UINT) as HKL 756 #endif 757 758 declare function LoadKeyboardLayoutW(byval pwszKLID as LPCWSTR, byval Flags as UINT) as HKL 759 760 #ifdef UNICODE 761 declare function LoadKeyboardLayout alias "LoadKeyboardLayoutW"(byval pwszKLID as LPCWSTR, byval Flags as UINT) as HKL 762 #endif 763 764 declare function ActivateKeyboardLayout(byval hkl as HKL, byval Flags as UINT) as HKL 765 declare function ToUnicodeEx(byval wVirtKey as UINT, byval wScanCode as UINT, byval lpKeyState as const UBYTE ptr, byval pwszBuff as LPWSTR, byval cchBuff as long, byval wFlags as UINT, byval dwhkl as HKL) as long 766 declare function UnloadKeyboardLayout(byval hkl as HKL) as WINBOOL 767 declare function GetKeyboardLayoutNameA(byval pwszKLID as LPSTR) as WINBOOL 768 769 #ifndef UNICODE 770 declare function GetKeyboardLayoutName alias "GetKeyboardLayoutNameA"(byval pwszKLID as LPSTR) as WINBOOL 771 #endif 772 773 declare function GetKeyboardLayoutNameW(byval pwszKLID as LPWSTR) as WINBOOL 774 775 #ifdef UNICODE 776 declare function GetKeyboardLayoutName alias "GetKeyboardLayoutNameW"(byval pwszKLID as LPWSTR) as WINBOOL 777 #endif 778 779 declare function GetKeyboardLayoutList(byval nBuff as long, byval lpList as HKL ptr) as long 780 declare function GetKeyboardLayout(byval idThread as DWORD) as HKL 781 782 type tagMOUSEMOVEPOINT 783 x as long 784 y as long 785 time as DWORD 786 dwExtraInfo as ULONG_PTR 787 end type 788 789 type MOUSEMOVEPOINT as tagMOUSEMOVEPOINT 790 type PMOUSEMOVEPOINT as tagMOUSEMOVEPOINT ptr 791 type LPMOUSEMOVEPOINT as tagMOUSEMOVEPOINT ptr 792 declare function GetMouseMovePointsEx(byval cbSize as UINT, byval lppt as LPMOUSEMOVEPOINT, byval lpptBuf as LPMOUSEMOVEPOINT, byval nBufPoints as long, byval resolution as DWORD) as long 793 794 const GMMP_USE_DISPLAY_POINTS = 1 795 const GMMP_USE_HIGH_RESOLUTION_POINTS = 2 796 const DESKTOP_READOBJECTS = &h0001 797 const DESKTOP_CREATEWINDOW = &h0002 798 const DESKTOP_CREATEMENU = &h0004 799 const DESKTOP_HOOKCONTROL = &h0008 800 const DESKTOP_JOURNALRECORD = &h0010 801 const DESKTOP_JOURNALPLAYBACK = &h0020 802 const DESKTOP_ENUMERATE = &h0040 803 const DESKTOP_WRITEOBJECTS = &h0080 804 const DESKTOP_SWITCHDESKTOP = &h0100 805 const DF_ALLOWOTHERACCOUNTHOOK = &h0001 806 declare function CreateDesktopA(byval lpszDesktop as LPCSTR, byval lpszDevice as LPCSTR, byval pDevmode as LPDEVMODEA, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HDESK 807 808 #ifndef UNICODE 809 declare function CreateDesktop alias "CreateDesktopA"(byval lpszDesktop as LPCSTR, byval lpszDevice as LPCSTR, byval pDevmode as LPDEVMODEA, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HDESK 810 #endif 811 812 declare function CreateDesktopW(byval lpszDesktop as LPCWSTR, byval lpszDevice as LPCWSTR, byval pDevmode as LPDEVMODEW, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HDESK 813 814 #ifdef UNICODE 815 declare function CreateDesktop alias "CreateDesktopW"(byval lpszDesktop as LPCWSTR, byval lpszDevice as LPCWSTR, byval pDevmode as LPDEVMODEW, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HDESK 816 #endif 817 818 declare function CreateDesktopExA(byval lpszDesktop as LPCSTR, byval lpszDevice as LPCSTR, byval pDevmode as DEVMODEA ptr, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES, byval ulHeapSize as ULONG, byval pvoid as PVOID) as HDESK 819 820 #ifndef UNICODE 821 declare function CreateDesktopEx alias "CreateDesktopExA"(byval lpszDesktop as LPCSTR, byval lpszDevice as LPCSTR, byval pDevmode as DEVMODEA ptr, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES, byval ulHeapSize as ULONG, byval pvoid as PVOID) as HDESK 822 #endif 823 824 declare function CreateDesktopExW(byval lpszDesktop as LPCWSTR, byval lpszDevice as LPCWSTR, byval pDevmode as DEVMODEW ptr, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES, byval ulHeapSize as ULONG, byval pvoid as PVOID) as HDESK 825 826 #ifdef UNICODE 827 declare function CreateDesktopEx alias "CreateDesktopExW"(byval lpszDesktop as LPCWSTR, byval lpszDevice as LPCWSTR, byval pDevmode as DEVMODEW ptr, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES, byval ulHeapSize as ULONG, byval pvoid as PVOID) as HDESK 828 #endif 829 830 declare function OpenDesktopA(byval lpszDesktop as LPCSTR, byval dwFlags as DWORD, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HDESK 831 832 #ifndef UNICODE 833 declare function OpenDesktop alias "OpenDesktopA"(byval lpszDesktop as LPCSTR, byval dwFlags as DWORD, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HDESK 834 #endif 835 836 declare function OpenDesktopW(byval lpszDesktop as LPCWSTR, byval dwFlags as DWORD, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HDESK 837 838 #ifdef UNICODE 839 declare function OpenDesktop alias "OpenDesktopW"(byval lpszDesktop as LPCWSTR, byval dwFlags as DWORD, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HDESK 840 #endif 841 842 declare function OpenInputDesktop(byval dwFlags as DWORD, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HDESK 843 declare function EnumDesktopsA(byval hwinsta as HWINSTA, byval lpEnumFunc as DESKTOPENUMPROCA, byval lParam as LPARAM) as WINBOOL 844 845 #ifndef UNICODE 846 declare function EnumDesktops alias "EnumDesktopsA"(byval hwinsta as HWINSTA, byval lpEnumFunc as DESKTOPENUMPROCA, byval lParam as LPARAM) as WINBOOL 847 #endif 848 849 declare function EnumDesktopsW(byval hwinsta as HWINSTA, byval lpEnumFunc as DESKTOPENUMPROCW, byval lParam as LPARAM) as WINBOOL 850 851 #ifdef UNICODE 852 declare function EnumDesktops alias "EnumDesktopsW"(byval hwinsta as HWINSTA, byval lpEnumFunc as DESKTOPENUMPROCW, byval lParam as LPARAM) as WINBOOL 853 #endif 854 855 declare function EnumDesktopWindows(byval hDesktop as HDESK, byval lpfn as WNDENUMPROC, byval lParam as LPARAM) as WINBOOL 856 declare function SwitchDesktop(byval hDesktop as HDESK) as WINBOOL 857 declare function SetThreadDesktop(byval hDesktop as HDESK) as WINBOOL 858 declare function CloseDesktop(byval hDesktop as HDESK) as WINBOOL 859 declare function GetThreadDesktop(byval dwThreadId as DWORD) as HDESK 860 861 const WINSTA_ENUMDESKTOPS = &h0001 862 const WINSTA_READATTRIBUTES = &h0002 863 const WINSTA_ACCESSCLIPBOARD = &h0004 864 const WINSTA_CREATEDESKTOP = &h0008 865 const WINSTA_WRITEATTRIBUTES = &h0010 866 const WINSTA_ACCESSGLOBALATOMS = &h0020 867 const WINSTA_EXITWINDOWS = &h0040 868 const WINSTA_ENUMERATE = &h0100 869 const WINSTA_READSCREEN = &h0200 870 const WINSTA_ALL_ACCESS = (((((((WINSTA_ENUMDESKTOPS or WINSTA_READATTRIBUTES) or WINSTA_ACCESSCLIPBOARD) or WINSTA_CREATEDESKTOP) or WINSTA_WRITEATTRIBUTES) or WINSTA_ACCESSGLOBALATOMS) or WINSTA_EXITWINDOWS) or WINSTA_ENUMERATE) or WINSTA_READSCREEN 871 const CWF_CREATE_ONLY = &h00000001 872 const WSF_VISIBLE = &h0001 873 declare function CreateWindowStationA(byval lpwinsta as LPCSTR, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HWINSTA 874 875 #ifndef UNICODE 876 declare function CreateWindowStation alias "CreateWindowStationA"(byval lpwinsta as LPCSTR, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HWINSTA 877 #endif 878 879 declare function CreateWindowStationW(byval lpwinsta as LPCWSTR, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HWINSTA 880 881 #ifdef UNICODE 882 declare function CreateWindowStation alias "CreateWindowStationW"(byval lpwinsta as LPCWSTR, byval dwFlags as DWORD, byval dwDesiredAccess as ACCESS_MASK, byval lpsa as LPSECURITY_ATTRIBUTES) as HWINSTA 883 #endif 884 885 declare function OpenWindowStationA(byval lpszWinSta as LPCSTR, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HWINSTA 886 887 #ifndef UNICODE 888 declare function OpenWindowStation alias "OpenWindowStationA"(byval lpszWinSta as LPCSTR, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HWINSTA 889 #endif 890 891 declare function OpenWindowStationW(byval lpszWinSta as LPCWSTR, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HWINSTA 892 893 #ifdef UNICODE 894 declare function OpenWindowStation alias "OpenWindowStationW"(byval lpszWinSta as LPCWSTR, byval fInherit as WINBOOL, byval dwDesiredAccess as ACCESS_MASK) as HWINSTA 895 #endif 896 897 declare function EnumWindowStationsA(byval lpEnumFunc as WINSTAENUMPROCA, byval lParam as LPARAM) as WINBOOL 898 899 #ifndef UNICODE 900 declare function EnumWindowStations alias "EnumWindowStationsA"(byval lpEnumFunc as WINSTAENUMPROCA, byval lParam as LPARAM) as WINBOOL 901 #endif 902 903 declare function EnumWindowStationsW(byval lpEnumFunc as WINSTAENUMPROCW, byval lParam as LPARAM) as WINBOOL 904 905 #ifdef UNICODE 906 declare function EnumWindowStations alias "EnumWindowStationsW"(byval lpEnumFunc as WINSTAENUMPROCW, byval lParam as LPARAM) as WINBOOL 907 #endif 908 909 declare function CloseWindowStation(byval hWinSta as HWINSTA) as WINBOOL 910 declare function SetProcessWindowStation(byval hWinSta as HWINSTA) as WINBOOL 911 declare function GetProcessWindowStation() as HWINSTA 912 declare function SetUserObjectSecurity(byval hObj as HANDLE, byval pSIRequested as PSECURITY_INFORMATION, byval pSID as PSECURITY_DESCRIPTOR) as WINBOOL 913 declare function GetUserObjectSecurity(byval hObj as HANDLE, byval pSIRequested as PSECURITY_INFORMATION, byval pSID as PSECURITY_DESCRIPTOR, byval nLength as DWORD, byval lpnLengthNeeded as LPDWORD) as WINBOOL 914 915 const UOI_FLAGS = 1 916 const UOI_NAME = 2 917 const UOI_TYPE = 3 918 const UOI_USER_SID = 4 919 920 #if _WIN32_WINNT >= &h0600 921 const UOI_HEAPSIZE = 5 922 const UOI_IO = 6 923 #endif 924 925 type tagUSEROBJECTFLAGS 926 fInherit as WINBOOL 927 fReserved as WINBOOL 928 dwFlags as DWORD 929 end type 930 931 type USEROBJECTFLAGS as tagUSEROBJECTFLAGS 932 type PUSEROBJECTFLAGS as tagUSEROBJECTFLAGS ptr 933 declare function GetUserObjectInformationA(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD, byval lpnLengthNeeded as LPDWORD) as WINBOOL 934 935 #ifndef UNICODE 936 declare function GetUserObjectInformation alias "GetUserObjectInformationA"(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD, byval lpnLengthNeeded as LPDWORD) as WINBOOL 937 #endif 938 939 declare function GetUserObjectInformationW(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD, byval lpnLengthNeeded as LPDWORD) as WINBOOL 940 941 #ifdef UNICODE 942 declare function GetUserObjectInformation alias "GetUserObjectInformationW"(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD, byval lpnLengthNeeded as LPDWORD) as WINBOOL 943 #endif 944 945 declare function SetUserObjectInformationA(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD) as WINBOOL 946 947 #ifndef UNICODE 948 declare function SetUserObjectInformation alias "SetUserObjectInformationA"(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD) as WINBOOL 949 #endif 950 951 declare function SetUserObjectInformationW(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD) as WINBOOL 952 953 #ifdef UNICODE 954 declare function SetUserObjectInformation alias "SetUserObjectInformationW"(byval hObj as HANDLE, byval nIndex as long, byval pvInfo as PVOID, byval nLength as DWORD) as WINBOOL 955 #endif 956 957 type tagWNDCLASSEXA 958 cbSize as UINT 959 style as UINT 960 lpfnWndProc as WNDPROC 961 cbClsExtra as long 962 cbWndExtra as long 963 hInstance as HINSTANCE 964 hIcon as HICON 965 hCursor as HCURSOR 966 hbrBackground as HBRUSH 967 lpszMenuName as LPCSTR 968 lpszClassName as LPCSTR 969 hIconSm as HICON 970 end type 971 972 type WNDCLASSEXA as tagWNDCLASSEXA 973 type PWNDCLASSEXA as tagWNDCLASSEXA ptr 974 type NPWNDCLASSEXA as tagWNDCLASSEXA ptr 975 type LPWNDCLASSEXA as tagWNDCLASSEXA ptr 976 977 type tagWNDCLASSEXW 978 cbSize as UINT 979 style as UINT 980 lpfnWndProc as WNDPROC 981 cbClsExtra as long 982 cbWndExtra as long 983 hInstance as HINSTANCE 984 hIcon as HICON 985 hCursor as HCURSOR 986 hbrBackground as HBRUSH 987 lpszMenuName as LPCWSTR 988 lpszClassName as LPCWSTR 989 hIconSm as HICON 990 end type 991 992 type WNDCLASSEXW as tagWNDCLASSEXW 993 type PWNDCLASSEXW as tagWNDCLASSEXW ptr 994 type NPWNDCLASSEXW as tagWNDCLASSEXW ptr 995 type LPWNDCLASSEXW as tagWNDCLASSEXW ptr 996 997 #ifdef UNICODE 998 type WNDCLASSEX as WNDCLASSEXW 999 type PWNDCLASSEX as PWNDCLASSEXW 1000 type NPWNDCLASSEX as NPWNDCLASSEXW 1001 type LPWNDCLASSEX as LPWNDCLASSEXW 1002 #else 1003 type WNDCLASSEX as WNDCLASSEXA 1004 type PWNDCLASSEX as PWNDCLASSEXA 1005 type NPWNDCLASSEX as NPWNDCLASSEXA 1006 type LPWNDCLASSEX as LPWNDCLASSEXA 1007 #endif 1008 1009 type tagWNDCLASSA 1010 style as UINT 1011 lpfnWndProc as WNDPROC 1012 cbClsExtra as long 1013 cbWndExtra as long 1014 hInstance as HINSTANCE 1015 hIcon as HICON 1016 hCursor as HCURSOR 1017 hbrBackground as HBRUSH 1018 lpszMenuName as LPCSTR 1019 lpszClassName as LPCSTR 1020 end type 1021 1022 type WNDCLASSA as tagWNDCLASSA 1023 type PWNDCLASSA as tagWNDCLASSA ptr 1024 type NPWNDCLASSA as tagWNDCLASSA ptr 1025 type LPWNDCLASSA as tagWNDCLASSA ptr 1026 1027 type tagWNDCLASSW 1028 style as UINT 1029 lpfnWndProc as WNDPROC 1030 cbClsExtra as long 1031 cbWndExtra as long 1032 hInstance as HINSTANCE 1033 hIcon as HICON 1034 hCursor as HCURSOR 1035 hbrBackground as HBRUSH 1036 lpszMenuName as LPCWSTR 1037 lpszClassName as LPCWSTR 1038 end type 1039 1040 type WNDCLASSW as tagWNDCLASSW 1041 type PWNDCLASSW as tagWNDCLASSW ptr 1042 type NPWNDCLASSW as tagWNDCLASSW ptr 1043 type LPWNDCLASSW as tagWNDCLASSW ptr 1044 1045 #ifdef UNICODE 1046 type WNDCLASS as WNDCLASSW 1047 type PWNDCLASS as PWNDCLASSW 1048 type NPWNDCLASS as NPWNDCLASSW 1049 type LPWNDCLASS as LPWNDCLASSW 1050 #else 1051 type WNDCLASS as WNDCLASSA 1052 type PWNDCLASS as PWNDCLASSA 1053 type NPWNDCLASS as NPWNDCLASSA 1054 type LPWNDCLASS as LPWNDCLASSA 1055 #endif 1056 1057 declare function IsHungAppWindow(byval hwnd as HWND) as WINBOOL 1058 declare sub DisableProcessWindowsGhosting() 1059 1060 type tagMSG 1061 hwnd as HWND 1062 message as UINT 1063 wParam as WPARAM 1064 lParam as LPARAM 1065 time as DWORD 1066 pt as POINT 1067 end type 1068 1069 type MSG as tagMSG 1070 type PMSG as tagMSG ptr 1071 type NPMSG as tagMSG ptr 1072 type LPMSG as tagMSG ptr 1073 1074 #macro POINTSTOPOINT(pt, pts) 1075 scope 1076 (pt).x = cast(LONG, cast(SHORT, LOWORD(*cptr(LONG ptr, @pts)))) 1077 (pt).y = cast(LONG, cast(SHORT, HIWORD(*cptr(LONG ptr, @pts)))) 1078 end scope 1079 #endmacro 1080 #define POINTTOPOINTS(pt) MAKELONG(cshort((pt).x), cshort((pt).y)) 1081 #define MAKEWPARAM(l, h) cast(WPARAM, cast(DWORD, MAKELONG(l, h))) 1082 #define MAKELPARAM(l, h) cast(LPARAM, cast(DWORD, MAKELONG(l, h))) 1083 #define MAKELRESULT(l, h) cast(LRESULT, cast(DWORD, MAKELONG(l, h))) 1084 const GWL_WNDPROC = -4 1085 const GWL_HINSTANCE = -6 1086 const GWL_HWNDPARENT = -8 1087 const GWL_STYLE = -16 1088 const GWL_EXSTYLE = -20 1089 const GWL_USERDATA = -21 1090 const GWL_ID = -12 1091 1092 #ifdef __FB_64BIT__ 1093 #undef GWL_WNDPROC 1094 #undef GWL_HINSTANCE 1095 #undef GWL_HWNDPARENT 1096 #undef GWL_USERDATA 1097 #endif 1098 1099 const GWLP_WNDPROC = -4 1100 const GWLP_HINSTANCE = -6 1101 const GWLP_HWNDPARENT = -8 1102 const GWLP_USERDATA = -21 1103 const GWLP_ID = -12 1104 const GCL_MENUNAME = -8 1105 const GCL_HBRBACKGROUND = -10 1106 const GCL_HCURSOR = -12 1107 const GCL_HICON = -14 1108 const GCL_HMODULE = -16 1109 const GCL_CBWNDEXTRA = -18 1110 const GCL_CBCLSEXTRA = -20 1111 const GCL_WNDPROC = -24 1112 const GCL_STYLE = -26 1113 const GCW_ATOM = -32 1114 const GCL_HICONSM = -34 1115 1116 #ifdef __FB_64BIT__ 1117 #undef GCL_MENUNAME 1118 #undef GCL_HBRBACKGROUND 1119 #undef GCL_HCURSOR 1120 #undef GCL_HICON 1121 #undef GCL_HMODULE 1122 #undef GCL_WNDPROC 1123 #undef GCL_HICONSM 1124 #endif 1125 1126 const GCLP_MENUNAME = -8 1127 const GCLP_HBRBACKGROUND = -10 1128 const GCLP_HCURSOR = -12 1129 const GCLP_HICON = -14 1130 const GCLP_HMODULE = -16 1131 const GCLP_WNDPROC = -24 1132 const GCLP_HICONSM = -34 1133 const WM_NULL = &h0000 1134 const WM_CREATE = &h0001 1135 const WM_DESTROY = &h0002 1136 const WM_MOVE = &h0003 1137 const WM_SIZE = &h0005 1138 const WM_ACTIVATE = &h0006 1139 const WA_INACTIVE = 0 1140 const WA_ACTIVE = 1 1141 const WA_CLICKACTIVE = 2 1142 const WM_SETFOCUS = &h0007 1143 const WM_KILLFOCUS = &h0008 1144 const WM_ENABLE = &h000A 1145 const WM_SETREDRAW = &h000B 1146 const WM_SETTEXT = &h000C 1147 const WM_GETTEXT = &h000D 1148 const WM_GETTEXTLENGTH = &h000E 1149 const WM_PAINT = &h000F 1150 const WM_CLOSE = &h0010 1151 const WM_QUERYENDSESSION = &h0011 1152 const WM_QUERYOPEN = &h0013 1153 const WM_ENDSESSION = &h0016 1154 const WM_QUIT = &h0012 1155 const WM_ERASEBKGND = &h0014 1156 const WM_SYSCOLORCHANGE = &h0015 1157 const WM_SHOWWINDOW = &h0018 1158 const WM_WININICHANGE = &h001A 1159 const WM_SETTINGCHANGE = WM_WININICHANGE 1160 const WM_DEVMODECHANGE = &h001B 1161 const WM_ACTIVATEAPP = &h001C 1162 const WM_FONTCHANGE = &h001D 1163 const WM_TIMECHANGE = &h001E 1164 const WM_CANCELMODE = &h001F 1165 const WM_SETCURSOR = &h0020 1166 const WM_MOUSEACTIVATE = &h0021 1167 const WM_CHILDACTIVATE = &h0022 1168 const WM_QUEUESYNC = &h0023 1169 const WM_GETMINMAXINFO = &h0024 1170 1171 type tagMINMAXINFO 1172 ptReserved as POINT 1173 ptMaxSize as POINT 1174 ptMaxPosition as POINT 1175 ptMinTrackSize as POINT 1176 ptMaxTrackSize as POINT 1177 end type 1178 1179 type MINMAXINFO as tagMINMAXINFO 1180 type PMINMAXINFO as tagMINMAXINFO ptr 1181 type LPMINMAXINFO as tagMINMAXINFO ptr 1182 1183 const WM_PAINTICON = &h0026 1184 const WM_ICONERASEBKGND = &h0027 1185 const WM_NEXTDLGCTL = &h0028 1186 const WM_SPOOLERSTATUS = &h002A 1187 const WM_DRAWITEM = &h002B 1188 const WM_MEASUREITEM = &h002C 1189 const WM_DELETEITEM = &h002D 1190 const WM_VKEYTOITEM = &h002E 1191 const WM_CHARTOITEM = &h002F 1192 const WM_SETFONT = &h0030 1193 const WM_GETFONT = &h0031 1194 const WM_SETHOTKEY = &h0032 1195 const WM_GETHOTKEY = &h0033 1196 const WM_QUERYDRAGICON = &h0037 1197 const WM_COMPAREITEM = &h0039 1198 const WM_GETOBJECT = &h003D 1199 const WM_COMPACTING = &h0041 1200 const WM_COMMNOTIFY = &h0044 1201 const WM_WINDOWPOSCHANGING = &h0046 1202 const WM_WINDOWPOSCHANGED = &h0047 1203 const WM_POWER = &h0048 1204 const PWR_OK = 1 1205 const PWR_FAIL = -1 1206 const PWR_SUSPENDREQUEST = 1 1207 const PWR_SUSPENDRESUME = 2 1208 const PWR_CRITICALRESUME = 3 1209 const WM_COPYDATA = &h004A 1210 const WM_CANCELJOURNAL = &h004B 1211 1212 type tagCOPYDATASTRUCT 1213 dwData as ULONG_PTR 1214 cbData as DWORD 1215 lpData as PVOID 1216 end type 1217 1218 type COPYDATASTRUCT as tagCOPYDATASTRUCT 1219 type PCOPYDATASTRUCT as tagCOPYDATASTRUCT ptr 1220 1221 type tagMDINEXTMENU 1222 hmenuIn as HMENU 1223 hmenuNext as HMENU 1224 hwndNext as HWND 1225 end type 1226 1227 type MDINEXTMENU as tagMDINEXTMENU 1228 type PMDINEXTMENU as tagMDINEXTMENU ptr 1229 type LPMDINEXTMENU as tagMDINEXTMENU ptr 1230 1231 const WM_NOTIFY = &h004E 1232 const WM_INPUTLANGCHANGEREQUEST = &h0050 1233 const WM_INPUTLANGCHANGE = &h0051 1234 const WM_TCARD = &h0052 1235 const WM_HELP = &h0053 1236 const WM_USERCHANGED = &h0054 1237 const WM_NOTIFYFORMAT = &h0055 1238 const NFR_ANSI = 1 1239 const NFR_UNICODE = 2 1240 const NF_QUERY = 3 1241 const NF_REQUERY = 4 1242 const WM_CONTEXTMENU = &h007B 1243 const WM_STYLECHANGING = &h007C 1244 const WM_STYLECHANGED = &h007D 1245 const WM_DISPLAYCHANGE = &h007E 1246 const WM_GETICON = &h007F 1247 const WM_SETICON = &h0080 1248 const WM_NCCREATE = &h0081 1249 const WM_NCDESTROY = &h0082 1250 const WM_NCCALCSIZE = &h0083 1251 const WM_NCHITTEST = &h0084 1252 const WM_NCPAINT = &h0085 1253 const WM_NCACTIVATE = &h0086 1254 const WM_GETDLGCODE = &h0087 1255 const WM_SYNCPAINT = &h0088 1256 const WM_NCMOUSEMOVE = &h00A0 1257 const WM_NCLBUTTONDOWN = &h00A1 1258 const WM_NCLBUTTONUP = &h00A2 1259 const WM_NCLBUTTONDBLCLK = &h00A3 1260 const WM_NCRBUTTONDOWN = &h00A4 1261 const WM_NCRBUTTONUP = &h00A5 1262 const WM_NCRBUTTONDBLCLK = &h00A6 1263 const WM_NCMBUTTONDOWN = &h00A7 1264 const WM_NCMBUTTONUP = &h00A8 1265 const WM_NCMBUTTONDBLCLK = &h00A9 1266 const WM_NCXBUTTONDOWN = &h00AB 1267 const WM_NCXBUTTONUP = &h00AC 1268 const WM_NCXBUTTONDBLCLK = &h00AD 1269 const WM_INPUT_DEVICE_CHANGE = &h00fe 1270 const WM_INPUT = &h00FF 1271 const WM_KEYFIRST = &h0100 1272 const WM_KEYDOWN = &h0100 1273 const WM_KEYUP = &h0101 1274 const WM_CHAR = &h0102 1275 const WM_DEADCHAR = &h0103 1276 const WM_SYSKEYDOWN = &h0104 1277 const WM_SYSKEYUP = &h0105 1278 const WM_SYSCHAR = &h0106 1279 const WM_SYSDEADCHAR = &h0107 1280 const WM_UNICHAR = &h0109 1281 const WM_KEYLAST = &h0109 1282 const UNICODE_NOCHAR = &hFFFF 1283 const WM_IME_STARTCOMPOSITION = &h010D 1284 const WM_IME_ENDCOMPOSITION = &h010E 1285 const WM_IME_COMPOSITION = &h010F 1286 const WM_IME_KEYLAST = &h010F 1287 const WM_INITDIALOG = &h0110 1288 const WM_COMMAND = &h0111 1289 const WM_SYSCOMMAND = &h0112 1290 const WM_TIMER = &h0113 1291 const WM_HSCROLL = &h0114 1292 const WM_VSCROLL = &h0115 1293 const WM_INITMENU = &h0116 1294 const WM_INITMENUPOPUP = &h0117 1295 const WM_MENUSELECT = &h011F 1296 1297 #if _WIN32_WINNT >= &h0601 1298 const WM_GESTURE = &h0119 1299 const WM_GESTURENOTIFY = &h011A 1300 #endif 1301 1302 const WM_MENUCHAR = &h0120 1303 const WM_ENTERIDLE = &h0121 1304 const WM_MENURBUTTONUP = &h0122 1305 const WM_MENUDRAG = &h0123 1306 const WM_MENUGETOBJECT = &h0124 1307 const WM_UNINITMENUPOPUP = &h0125 1308 const WM_MENUCOMMAND = &h0126 1309 const WM_CHANGEUISTATE = &h0127 1310 const WM_UPDATEUISTATE = &h0128 1311 const WM_QUERYUISTATE = &h0129 1312 const UIS_SET = 1 1313 const UIS_CLEAR = 2 1314 const UIS_INITIALIZE = 3 1315 const UISF_HIDEFOCUS = &h1 1316 const UISF_HIDEACCEL = &h2 1317 const UISF_ACTIVE = &h4 1318 const WM_CTLCOLORMSGBOX = &h0132 1319 const WM_CTLCOLOREDIT = &h0133 1320 const WM_CTLCOLORLISTBOX = &h0134 1321 const WM_CTLCOLORBTN = &h0135 1322 const WM_CTLCOLORDLG = &h0136 1323 const WM_CTLCOLORSCROLLBAR = &h0137 1324 const WM_CTLCOLORSTATIC = &h0138 1325 const MN_GETHMENU = &h01E1 1326 const WM_MOUSEFIRST = &h0200 1327 const WM_MOUSEMOVE = &h0200 1328 const WM_LBUTTONDOWN = &h0201 1329 const WM_LBUTTONUP = &h0202 1330 const WM_LBUTTONDBLCLK = &h0203 1331 const WM_RBUTTONDOWN = &h0204 1332 const WM_RBUTTONUP = &h0205 1333 const WM_RBUTTONDBLCLK = &h0206 1334 const WM_MBUTTONDOWN = &h0207 1335 const WM_MBUTTONUP = &h0208 1336 const WM_MBUTTONDBLCLK = &h0209 1337 const WM_MOUSEWHEEL = &h020A 1338 const WM_XBUTTONDOWN = &h020B 1339 const WM_XBUTTONUP = &h020C 1340 const WM_XBUTTONDBLCLK = &h020D 1341 1342 #if _WIN32_WINNT <= &h0502 1343 const WM_MOUSELAST = &h020d 1344 #else 1345 const WM_MOUSEHWHEEL = &h020e 1346 const WM_MOUSELAST = &h020e 1347 #endif 1348 1349 const WHEEL_DELTA = 120 1350 #define GET_WHEEL_DELTA_WPARAM(wParam) cshort(HIWORD(wParam)) 1351 #define GET_KEYSTATE_WPARAM(wParam) LOWORD(wParam) 1352 #define GET_NCHITTEST_WPARAM(wParam) cshort(LOWORD(wParam)) 1353 #define GET_XBUTTON_WPARAM(wParam) HIWORD(wParam) 1354 const XBUTTON1 = &h0001 1355 const XBUTTON2 = &h0002 1356 const WM_PARENTNOTIFY = &h0210 1357 const WM_ENTERMENULOOP = &h0211 1358 const WM_EXITMENULOOP = &h0212 1359 const WM_NEXTMENU = &h0213 1360 const WM_SIZING = &h0214 1361 const WM_CAPTURECHANGED = &h0215 1362 const WM_MOVING = &h0216 1363 const WM_POWERBROADCAST = &h0218 1364 const PBT_APMQUERYSUSPEND = &h0000 1365 const PBT_APMQUERYSTANDBY = &h0001 1366 const PBT_APMQUERYSUSPENDFAILED = &h0002 1367 const PBT_APMQUERYSTANDBYFAILED = &h0003 1368 const PBT_APMSUSPEND = &h0004 1369 const PBT_APMSTANDBY = &h0005 1370 const PBT_APMRESUMECRITICAL = &h0006 1371 const PBT_APMRESUMESUSPEND = &h0007 1372 const PBT_APMRESUMESTANDBY = &h0008 1373 const PBTF_APMRESUMEFROMFAILURE = &h00000001 1374 const PBT_APMBATTERYLOW = &h0009 1375 const PBT_APMPOWERSTATUSCHANGE = &h000A 1376 const PBT_APMOEMEVENT = &h000B 1377 const PBT_APMRESUMEAUTOMATIC = &h0012 1378 1379 #if _WIN32_WINNT >= &h0502 1380 const PBT_POWERSETTINGCHANGE = 32787 1381 1382 type POWERBROADCAST_SETTING 1383 PowerSetting as GUID 1384 DataLength as DWORD 1385 Data(0 to 0) as UCHAR 1386 end type 1387 1388 type PPOWERBROADCAST_SETTING as POWERBROADCAST_SETTING ptr 1389 #endif 1390 1391 const WM_DEVICECHANGE = &h0219 1392 const WM_MDICREATE = &h0220 1393 const WM_MDIDESTROY = &h0221 1394 const WM_MDIACTIVATE = &h0222 1395 const WM_MDIRESTORE = &h0223 1396 const WM_MDINEXT = &h0224 1397 const WM_MDIMAXIMIZE = &h0225 1398 const WM_MDITILE = &h0226 1399 const WM_MDICASCADE = &h0227 1400 const WM_MDIICONARRANGE = &h0228 1401 const WM_MDIGETACTIVE = &h0229 1402 const WM_MDISETMENU = &h0230 1403 const WM_ENTERSIZEMOVE = &h0231 1404 const WM_EXITSIZEMOVE = &h0232 1405 const WM_DROPFILES = &h0233 1406 const WM_MDIREFRESHMENU = &h0234 1407 1408 #if _WIN32_WINNT = &h0602 1409 const WM_POINTERDEVICECHANGE = &h238 1410 const WM_POINTERDEVICEINRANGE = &h239 1411 const WM_POINTERDEVICEOUTOFRANGE = &h23a 1412 #endif 1413 1414 #if _WIN32_WINNT >= &h0601 1415 const WM_TOUCH = &h0240 1416 #endif 1417 1418 #if _WIN32_WINNT = &h0602 1419 const WM_NCPOINTERUPDATE = &h0241 1420 const WM_NCPOINTERDOWN = &h0242 1421 const WM_NCPOINTERUP = &h0243 1422 const WM_POINTERUPDATE = &h0245 1423 const WM_POINTERDOWN = &h0246 1424 const WM_POINTERUP = &h0247 1425 const WM_POINTERENTER = &h0249 1426 const WM_POINTERLEAVE = &h024a 1427 const WM_POINTERACTIVATE = &h024b 1428 const WM_POINTERCAPTURECHANGED = &h024c 1429 const WM_TOUCHHITTESTING = &h024d 1430 const WM_POINTERWHEEL = &h024e 1431 const WM_POINTERHWHEEL = &h024f 1432 #endif 1433 1434 const WM_IME_SETCONTEXT = &h0281 1435 const WM_IME_NOTIFY = &h0282 1436 const WM_IME_CONTROL = &h0283 1437 const WM_IME_COMPOSITIONFULL = &h0284 1438 const WM_IME_SELECT = &h0285 1439 const WM_IME_CHAR = &h0286 1440 const WM_IME_REQUEST = &h0288 1441 const WM_IME_KEYDOWN = &h0290 1442 const WM_IME_KEYUP = &h0291 1443 const WM_MOUSEHOVER = &h02A1 1444 const WM_MOUSELEAVE = &h02A3 1445 const WM_NCMOUSEHOVER = &h02A0 1446 const WM_NCMOUSELEAVE = &h02A2 1447 const WM_WTSSESSION_CHANGE = &h02B1 1448 const WM_TABLET_FIRST = &h02c0 1449 const WM_TABLET_LAST = &h02df 1450 const WM_CUT = &h0300 1451 const WM_COPY = &h0301 1452 const WM_PASTE = &h0302 1453 const WM_CLEAR = &h0303 1454 const WM_UNDO = &h0304 1455 const WM_RENDERFORMAT = &h0305 1456 const WM_RENDERALLFORMATS = &h0306 1457 const WM_DESTROYCLIPBOARD = &h0307 1458 const WM_DRAWCLIPBOARD = &h0308 1459 const WM_PAINTCLIPBOARD = &h0309 1460 const WM_VSCROLLCLIPBOARD = &h030A 1461 const WM_SIZECLIPBOARD = &h030B 1462 const WM_ASKCBFORMATNAME = &h030C 1463 const WM_CHANGECBCHAIN = &h030D 1464 const WM_HSCROLLCLIPBOARD = &h030E 1465 const WM_QUERYNEWPALETTE = &h030F 1466 const WM_PALETTEISCHANGING = &h0310 1467 const WM_PALETTECHANGED = &h0311 1468 const WM_HOTKEY = &h0312 1469 const WM_PRINT = &h0317 1470 const WM_PRINTCLIENT = &h0318 1471 const WM_APPCOMMAND = &h0319 1472 const WM_THEMECHANGED = &h031A 1473 const WM_CLIPBOARDUPDATE = &h031d 1474 1475 #if _WIN32_WINNT >= &h0600 1476 const WM_DWMCOMPOSITIONCHANGED = &h031e 1477 const WM_DWMNCRENDERINGCHANGED = &h031f 1478 const WM_DWMCOLORIZATIONCOLORCHANGED = &h0320 1479 const WM_DWMWINDOWMAXIMIZEDCHANGE = &h0321 1480 #endif 1481 1482 #if _WIN32_WINNT >= &h0601 1483 const WM_DWMSENDICONICTHUMBNAIL = &h0323 1484 const WM_DWMSENDICONICLIVEPREVIEWBITMAP = &h0326 1485 #endif 1486 1487 #if _WIN32_WINNT >= &h0600 1488 const WM_GETTITLEBARINFOEX = &h033f 1489 #endif 1490 1491 const WM_HANDHELDFIRST = &h0358 1492 const WM_HANDHELDLAST = &h035F 1493 const WM_AFXFIRST = &h0360 1494 const WM_AFXLAST = &h037F 1495 const WM_PENWINFIRST = &h0380 1496 const WM_PENWINLAST = &h038F 1497 const WM_APP = &h8000 1498 const WM_USER = &h0400 1499 const WMSZ_LEFT = 1 1500 const WMSZ_RIGHT = 2 1501 const WMSZ_TOP = 3 1502 const WMSZ_TOPLEFT = 4 1503 const WMSZ_TOPRIGHT = 5 1504 const WMSZ_BOTTOM = 6 1505 const WMSZ_BOTTOMLEFT = 7 1506 const WMSZ_BOTTOMRIGHT = 8 1507 const HTERROR = -2 1508 const HTTRANSPARENT = -1 1509 const HTNOWHERE = 0 1510 const HTCLIENT = 1 1511 const HTCAPTION = 2 1512 const HTSYSMENU = 3 1513 const HTGROWBOX = 4 1514 const HTSIZE = HTGROWBOX 1515 const HTMENU = 5 1516 const HTHSCROLL = 6 1517 const HTVSCROLL = 7 1518 const HTMINBUTTON = 8 1519 const HTMAXBUTTON = 9 1520 const HTLEFT = 10 1521 const HTRIGHT = 11 1522 const HTTOP = 12 1523 const HTTOPLEFT = 13 1524 const HTTOPRIGHT = 14 1525 const HTBOTTOM = 15 1526 const HTBOTTOMLEFT = 16 1527 const HTBOTTOMRIGHT = 17 1528 const HTBORDER = 18 1529 const HTREDUCE = HTMINBUTTON 1530 const HTZOOM = HTMAXBUTTON 1531 const HTSIZEFIRST = HTLEFT 1532 const HTSIZELAST = HTBOTTOMRIGHT 1533 const HTOBJECT = 19 1534 const HTCLOSE = 20 1535 const HTHELP = 21 1536 const SMTO_NORMAL = &h0000 1537 const SMTO_BLOCK = &h0001 1538 const SMTO_ABORTIFHUNG = &h0002 1539 const SMTO_NOTIMEOUTIFNOTHUNG = &h0008 1540 1541 #if _WIN32_WINNT >= &h0600 1542 const SMTO_ERRORONEXIT = &h0020 1543 #endif 1544 1545 const MA_ACTIVATE = 1 1546 const MA_ACTIVATEANDEAT = 2 1547 const MA_NOACTIVATE = 3 1548 const MA_NOACTIVATEANDEAT = 4 1549 const ICON_SMALL = 0 1550 const ICON_BIG = 1 1551 const ICON_SMALL2 = 2 1552 declare function RegisterWindowMessageA(byval lpString as LPCSTR) as UINT 1553 1554 #ifndef UNICODE 1555 declare function RegisterWindowMessage alias "RegisterWindowMessageA"(byval lpString as LPCSTR) as UINT 1556 #endif 1557 1558 declare function RegisterWindowMessageW(byval lpString as LPCWSTR) as UINT 1559 1560 #ifdef UNICODE 1561 declare function RegisterWindowMessage alias "RegisterWindowMessageW"(byval lpString as LPCWSTR) as UINT 1562 #endif 1563 1564 const SIZE_RESTORED = 0 1565 const SIZE_MINIMIZED = 1 1566 const SIZE_MAXIMIZED = 2 1567 const SIZE_MAXSHOW = 3 1568 const SIZE_MAXHIDE = 4 1569 const SIZENORMAL = SIZE_RESTORED 1570 const SIZEICONIC = SIZE_MINIMIZED 1571 const SIZEFULLSCREEN = SIZE_MAXIMIZED 1572 const SIZEZOOMSHOW = SIZE_MAXSHOW 1573 const SIZEZOOMHIDE = SIZE_MAXHIDE 1574 1575 type tagWINDOWPOS 1576 hwnd as HWND 1577 hwndInsertAfter as HWND 1578 x as long 1579 y as long 1580 cx as long 1581 cy as long 1582 flags as UINT 1583 end type 1584 1585 type WINDOWPOS as tagWINDOWPOS 1586 type LPWINDOWPOS as tagWINDOWPOS ptr 1587 type PWINDOWPOS as tagWINDOWPOS ptr 1588 1589 type tagNCCALCSIZE_PARAMS 1590 rgrc(0 to 2) as RECT 1591 lppos as PWINDOWPOS 1592 end type 1593 1594 type NCCALCSIZE_PARAMS as tagNCCALCSIZE_PARAMS 1595 type LPNCCALCSIZE_PARAMS as tagNCCALCSIZE_PARAMS ptr 1596 const WVR_ALIGNTOP = &h0010 1597 const WVR_ALIGNLEFT = &h0020 1598 const WVR_ALIGNBOTTOM = &h0040 1599 const WVR_ALIGNRIGHT = &h0080 1600 const WVR_HREDRAW = &h0100 1601 const WVR_VREDRAW = &h0200 1602 const WVR_REDRAW = WVR_HREDRAW or WVR_VREDRAW 1603 const WVR_VALIDRECTS = &h0400 1604 const MK_LBUTTON = &h0001 1605 const MK_RBUTTON = &h0002 1606 const MK_SHIFT = &h0004 1607 const MK_CONTROL = &h0008 1608 const MK_MBUTTON = &h0010 1609 const MK_XBUTTON1 = &h0020 1610 const MK_XBUTTON2 = &h0040 1611 const TME_HOVER = &h00000001 1612 const TME_LEAVE = &h00000002 1613 const TME_NONCLIENT = &h00000010 1614 const TME_QUERY = &h40000000 1615 const TME_CANCEL = &h80000000 1616 const HOVER_DEFAULT = &hFFFFFFFF 1617 1618 type tagTRACKMOUSEEVENT 1619 cbSize as DWORD 1620 dwFlags as DWORD 1621 hwndTrack as HWND 1622 dwHoverTime as DWORD 1623 end type 1624 1625 type TRACKMOUSEEVENT as tagTRACKMOUSEEVENT 1626 type LPTRACKMOUSEEVENT as tagTRACKMOUSEEVENT ptr 1627 declare function TrackMouseEvent(byval lpEventTrack as LPTRACKMOUSEEVENT) as WINBOOL 1628 const WS_OVERLAPPED = &h00000000 1629 const WS_POPUP = &h80000000 1630 const WS_CHILD = &h40000000 1631 const WS_MINIMIZE = &h20000000 1632 const WS_VISIBLE = &h10000000 1633 const WS_DISABLED = &h08000000 1634 const WS_CLIPSIBLINGS = &h04000000 1635 const WS_CLIPCHILDREN = &h02000000 1636 const WS_MAXIMIZE = &h01000000 1637 const WS_CAPTION = &h00C00000 1638 const WS_BORDER = &h00800000 1639 const WS_DLGFRAME = &h00400000 1640 const WS_VSCROLL = &h00200000 1641 const WS_HSCROLL = &h00100000 1642 const WS_SYSMENU = &h00080000 1643 const WS_THICKFRAME = &h00040000 1644 const WS_GROUP = &h00020000 1645 const WS_TABSTOP = &h00010000 1646 const WS_MINIMIZEBOX = &h00020000 1647 const WS_MAXIMIZEBOX = &h00010000 1648 const WS_TILED = WS_OVERLAPPED 1649 const WS_ICONIC = WS_MINIMIZE 1650 const WS_SIZEBOX = WS_THICKFRAME 1651 const WS_OVERLAPPEDWINDOW = ((((WS_OVERLAPPED or WS_CAPTION) or WS_SYSMENU) or WS_THICKFRAME) or WS_MINIMIZEBOX) or WS_MAXIMIZEBOX 1652 const WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW 1653 const WS_POPUPWINDOW = (WS_POPUP or WS_BORDER) or WS_SYSMENU 1654 const WS_CHILDWINDOW = WS_CHILD 1655 const WS_EX_DLGMODALFRAME = &h00000001 1656 const WS_EX_NOPARENTNOTIFY = &h00000004 1657 const WS_EX_TOPMOST = &h00000008 1658 const WS_EX_ACCEPTFILES = &h00000010 1659 const WS_EX_TRANSPARENT = &h00000020 1660 const WS_EX_MDICHILD = &h00000040 1661 const WS_EX_TOOLWINDOW = &h00000080 1662 const WS_EX_WINDOWEDGE = &h00000100 1663 const WS_EX_CLIENTEDGE = &h00000200 1664 const WS_EX_CONTEXTHELP = &h00000400 1665 const WS_EX_RIGHT = &h00001000 1666 const WS_EX_LEFT = &h00000000 1667 const WS_EX_RTLREADING = &h00002000 1668 const WS_EX_LTRREADING = &h00000000 1669 const WS_EX_LEFTSCROLLBAR = &h00004000 1670 const WS_EX_RIGHTSCROLLBAR = &h00000000 1671 const WS_EX_CONTROLPARENT = &h00010000 1672 const WS_EX_STATICEDGE = &h00020000 1673 const WS_EX_APPWINDOW = &h00040000 1674 const WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE or WS_EX_CLIENTEDGE 1675 const WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW) or WS_EX_TOPMOST 1676 const WS_EX_LAYERED = &h00080000 1677 const WS_EX_NOINHERITLAYOUT = &h00100000 1678 1679 #if _WIN32_WINNT = &h0602 1680 const WS_EX_NOREDIRECTIONBITMAP = &h00200000 1681 #endif 1682 1683 const WS_EX_LAYOUTRTL = &h00400000 1684 const WS_EX_COMPOSITED = &h02000000 1685 const WS_EX_NOACTIVATE = &h08000000 1686 const CS_VREDRAW = &h0001 1687 const CS_HREDRAW = &h0002 1688 const CS_DBLCLKS = &h0008 1689 const CS_OWNDC = &h0020 1690 const CS_CLASSDC = &h0040 1691 const CS_PARENTDC = &h0080 1692 const CS_NOCLOSE = &h0200 1693 const CS_SAVEBITS = &h0800 1694 const CS_BYTEALIGNCLIENT = &h1000 1695 const CS_BYTEALIGNWINDOW = &h2000 1696 const CS_GLOBALCLASS = &h4000 1697 const CS_IME = &h00010000 1698 const CS_DROPSHADOW = &h00020000 1699 const PRF_CHECKVISIBLE = &h00000001 1700 const PRF_NONCLIENT = &h00000002 1701 const PRF_CLIENT = &h00000004 1702 const PRF_ERASEBKGND = &h00000008 1703 const PRF_CHILDREN = &h00000010 1704 const PRF_OWNED = &h00000020 1705 const BDR_RAISEDOUTER = &h0001 1706 const BDR_SUNKENOUTER = &h0002 1707 const BDR_RAISEDINNER = &h0004 1708 const BDR_SUNKENINNER = &h0008 1709 const BDR_OUTER = BDR_RAISEDOUTER or BDR_SUNKENOUTER 1710 const BDR_INNER = BDR_RAISEDINNER or BDR_SUNKENINNER 1711 const BDR_RAISED = BDR_RAISEDOUTER or BDR_RAISEDINNER 1712 const BDR_SUNKEN = BDR_SUNKENOUTER or BDR_SUNKENINNER 1713 const EDGE_RAISED = BDR_RAISEDOUTER or BDR_RAISEDINNER 1714 const EDGE_SUNKEN = BDR_SUNKENOUTER or BDR_SUNKENINNER 1715 const EDGE_ETCHED = BDR_SUNKENOUTER or BDR_RAISEDINNER 1716 const EDGE_BUMP = BDR_RAISEDOUTER or BDR_SUNKENINNER 1717 const BF_LEFT = &h0001 1718 const BF_TOP = &h0002 1719 const BF_RIGHT = &h0004 1720 const BF_BOTTOM = &h0008 1721 const BF_TOPLEFT = BF_TOP or BF_LEFT 1722 const BF_TOPRIGHT = BF_TOP or BF_RIGHT 1723 const BF_BOTTOMLEFT = BF_BOTTOM or BF_LEFT 1724 const BF_BOTTOMRIGHT = BF_BOTTOM or BF_RIGHT 1725 const BF_RECT = ((BF_LEFT or BF_TOP) or BF_RIGHT) or BF_BOTTOM 1726 const BF_DIAGONAL = &h0010 1727 const BF_DIAGONAL_ENDTOPRIGHT = (BF_DIAGONAL or BF_TOP) or BF_RIGHT 1728 const BF_DIAGONAL_ENDTOPLEFT = (BF_DIAGONAL or BF_TOP) or BF_LEFT 1729 const BF_DIAGONAL_ENDBOTTOMLEFT = (BF_DIAGONAL or BF_BOTTOM) or BF_LEFT 1730 const BF_DIAGONAL_ENDBOTTOMRIGHT = (BF_DIAGONAL or BF_BOTTOM) or BF_RIGHT 1731 const BF_MIDDLE = &h0800 1732 const BF_SOFT = &h1000 1733 const BF_ADJUST = &h2000 1734 const BF_FLAT = &h4000 1735 const BF_MONO = &h8000 1736 declare function DrawEdge(byval hdc as HDC, byval qrc as LPRECT, byval edge as UINT, byval grfFlags as UINT) as WINBOOL 1737 const DFC_CAPTION = 1 1738 const DFC_MENU = 2 1739 const DFC_SCROLL = 3 1740 const DFC_BUTTON = 4 1741 const DFC_POPUPMENU = 5 1742 const DFCS_CAPTIONCLOSE = &h0000 1743 const DFCS_CAPTIONMIN = &h0001 1744 const DFCS_CAPTIONMAX = &h0002 1745 const DFCS_CAPTIONRESTORE = &h0003 1746 const DFCS_CAPTIONHELP = &h0004 1747 const DFCS_MENUARROW = &h0000 1748 const DFCS_MENUCHECK = &h0001 1749 const DFCS_MENUBULLET = &h0002 1750 const DFCS_MENUARROWRIGHT = &h0004 1751 const DFCS_SCROLLUP = &h0000 1752 const DFCS_SCROLLDOWN = &h0001 1753 const DFCS_SCROLLLEFT = &h0002 1754 const DFCS_SCROLLRIGHT = &h0003 1755 const DFCS_SCROLLCOMBOBOX = &h0005 1756 const DFCS_SCROLLSIZEGRIP = &h0008 1757 const DFCS_SCROLLSIZEGRIPRIGHT = &h0010 1758 const DFCS_BUTTONCHECK = &h0000 1759 const DFCS_BUTTONRADIOIMAGE = &h0001 1760 const DFCS_BUTTONRADIOMASK = &h0002 1761 const DFCS_BUTTONRADIO = &h0004 1762 const DFCS_BUTTON3STATE = &h0008 1763 const DFCS_BUTTONPUSH = &h0010 1764 const DFCS_INACTIVE = &h0100 1765 const DFCS_PUSHED = &h0200 1766 const DFCS_CHECKED = &h0400 1767 const DFCS_TRANSPARENT = &h0800 1768 const DFCS_HOT = &h1000 1769 const DFCS_ADJUSTRECT = &h2000 1770 const DFCS_FLAT = &h4000 1771 const DFCS_MONO = &h8000 1772 declare function DrawFrameControl(byval as HDC, byval as LPRECT, byval as UINT, byval as UINT) as WINBOOL 1773 const DC_ACTIVE = &h0001 1774 const DC_SMALLCAP = &h0002 1775 const DC_ICON = &h0004 1776 const DC_TEXT = &h0008 1777 const DC_INBUTTON = &h0010 1778 const DC_GRADIENT = &h0020 1779 const DC_BUTTONS = &h1000 1780 declare function DrawCaption(byval hwnd as HWND, byval hdc as HDC, byval lprect as const RECT ptr, byval flags as UINT) as WINBOOL 1781 const IDANI_OPEN = 1 1782 const IDANI_CAPTION = 3 1783 declare function DrawAnimatedRects(byval hwnd as HWND, byval idAni as long, byval lprcFrom as const RECT ptr, byval lprcTo as const RECT ptr) as WINBOOL 1784 const CF_TEXT = 1 1785 const CF_BITMAP = 2 1786 const CF_METAFILEPICT = 3 1787 const CF_SYLK = 4 1788 const CF_DIF = 5 1789 const CF_TIFF = 6 1790 const CF_OEMTEXT = 7 1791 const CF_DIB = 8 1792 const CF_PALETTE = 9 1793 const CF_PENDATA = 10 1794 const CF_RIFF = 11 1795 const CF_WAVE = 12 1796 const CF_UNICODETEXT = 13 1797 const CF_ENHMETAFILE = 14 1798 const CF_HDROP = 15 1799 const CF_LOCALE = 16 1800 const CF_DIBV5 = 17 1801 const CF_MAX = 18 1802 const CF_OWNERDISPLAY = &h0080 1803 const CF_DSPTEXT = &h0081 1804 const CF_DSPBITMAP = &h0082 1805 const CF_DSPMETAFILEPICT = &h0083 1806 const CF_DSPENHMETAFILE = &h008E 1807 const CF_PRIVATEFIRST = &h0200 1808 const CF_PRIVATELAST = &h02FF 1809 const CF_GDIOBJFIRST = &h0300 1810 const CF_GDIOBJLAST = &h03FF 1811 const FVIRTKEY = CTRUE 1812 const FNOINVERT = &h02 1813 const FSHIFT = &h04 1814 const FCONTROL = &h08 1815 const FALT = &h10 1816 1817 type tagACCEL 1818 fVirt as UBYTE 1819 key as WORD 1820 cmd as WORD 1821 end type 1822 1823 type ACCEL as tagACCEL 1824 type LPACCEL as tagACCEL ptr 1825 1826 type tagPAINTSTRUCT 1827 hdc as HDC 1828 fErase as WINBOOL 1829 rcPaint as RECT 1830 fRestore as WINBOOL 1831 fIncUpdate as WINBOOL 1832 rgbReserved(0 to 31) as UBYTE 1833 end type 1834 1835 type PAINTSTRUCT as tagPAINTSTRUCT 1836 type PPAINTSTRUCT as tagPAINTSTRUCT ptr 1837 type NPPAINTSTRUCT as tagPAINTSTRUCT ptr 1838 type LPPAINTSTRUCT as tagPAINTSTRUCT ptr 1839 1840 type tagCREATESTRUCTA_ 1841 lpCreateParams as LPVOID 1842 hInstance as HINSTANCE 1843 hMenu as HMENU 1844 hwndParent as HWND 1845 cy as long 1846 cx as long 1847 y as long 1848 x as long 1849 style as LONG 1850 lpszName as LPCSTR 1851 lpszClass as LPCSTR 1852 dwExStyle as DWORD 1853 end type 1854 1855 type CREATESTRUCTA as tagCREATESTRUCTA 1856 type LPCREATESTRUCTA as tagCREATESTRUCTA ptr 1857 1858 type tagCREATESTRUCTW_ 1859 lpCreateParams as LPVOID 1860 hInstance as HINSTANCE 1861 hMenu as HMENU 1862 hwndParent as HWND 1863 cy as long 1864 cx as long 1865 y as long 1866 x as long 1867 style as LONG 1868 lpszName as LPCWSTR 1869 lpszClass as LPCWSTR 1870 dwExStyle as DWORD 1871 end type 1872 1873 type CREATESTRUCTW as tagCREATESTRUCTW 1874 type LPCREATESTRUCTW as tagCREATESTRUCTW ptr 1875 1876 #ifdef UNICODE 1877 type CREATESTRUCT as CREATESTRUCTW 1878 type LPCREATESTRUCT as LPCREATESTRUCTW 1879 #else 1880 type CREATESTRUCT as CREATESTRUCTA 1881 type LPCREATESTRUCT as LPCREATESTRUCTA 1882 #endif 1883 1884 type tagWINDOWPLACEMENT 1885 length as UINT 1886 flags as UINT 1887 showCmd as UINT 1888 ptMinPosition as POINT 1889 ptMaxPosition as POINT 1890 rcNormalPosition as RECT 1891 end type 1892 1893 type WINDOWPLACEMENT as tagWINDOWPLACEMENT 1894 type PWINDOWPLACEMENT as WINDOWPLACEMENT ptr 1895 type LPWINDOWPLACEMENT as WINDOWPLACEMENT ptr 1896 1897 const WPF_SETMINPOSITION = &h0001 1898 const WPF_RESTORETOMAXIMIZED = &h0002 1899 const WPF_ASYNCWINDOWPLACEMENT = &h0004 1900 1901 type tagNMHDR 1902 hwndFrom as HWND 1903 idFrom as UINT_PTR 1904 code as UINT 1905 end type 1906 1907 type NMHDR as tagNMHDR 1908 type LPNMHDR as NMHDR ptr 1909 1910 type tagSTYLESTRUCT 1911 styleOld as DWORD 1912 styleNew as DWORD 1913 end type 1914 1915 type STYLESTRUCT as tagSTYLESTRUCT 1916 type LPSTYLESTRUCT as tagSTYLESTRUCT ptr 1917 const ODT_MENU = 1 1918 const ODT_LISTBOX = 2 1919 const ODT_COMBOBOX = 3 1920 const ODT_BUTTON = 4 1921 const ODT_STATIC = 5 1922 const ODA_DRAWENTIRE = &h0001 1923 const ODA_SELECT = &h0002 1924 const ODA_FOCUS = &h0004 1925 const ODS_SELECTED = &h0001 1926 const ODS_GRAYED = &h0002 1927 const ODS_DISABLED = &h0004 1928 const ODS_CHECKED = &h0008 1929 const ODS_FOCUS = &h0010 1930 const ODS_DEFAULT = &h0020 1931 const ODS_COMBOBOXEDIT = &h1000 1932 const ODS_HOTLIGHT = &h0040 1933 const ODS_INACTIVE = &h0080 1934 const ODS_NOACCEL = &h0100 1935 const ODS_NOFOCUSRECT = &h0200 1936 1937 type tagMEASUREITEMSTRUCT 1938 CtlType as UINT 1939 CtlID as UINT 1940 itemID as UINT 1941 itemWidth as UINT 1942 itemHeight as UINT 1943 itemData as ULONG_PTR 1944 end type 1945 1946 type MEASUREITEMSTRUCT as tagMEASUREITEMSTRUCT 1947 type PMEASUREITEMSTRUCT as tagMEASUREITEMSTRUCT ptr 1948 type LPMEASUREITEMSTRUCT as tagMEASUREITEMSTRUCT ptr 1949 1950 type tagDRAWITEMSTRUCT 1951 CtlType as UINT 1952 CtlID as UINT 1953 itemID as UINT 1954 itemAction as UINT 1955 itemState as UINT 1956 hwndItem as HWND 1957 hDC as HDC 1958 rcItem as RECT 1959 itemData as ULONG_PTR 1960 end type 1961 1962 type DRAWITEMSTRUCT as tagDRAWITEMSTRUCT 1963 type PDRAWITEMSTRUCT as tagDRAWITEMSTRUCT ptr 1964 type LPDRAWITEMSTRUCT as tagDRAWITEMSTRUCT ptr 1965 1966 type tagDELETEITEMSTRUCT 1967 CtlType as UINT 1968 CtlID as UINT 1969 itemID as UINT 1970 hwndItem as HWND 1971 itemData as ULONG_PTR 1972 end type 1973 1974 type DELETEITEMSTRUCT as tagDELETEITEMSTRUCT 1975 type PDELETEITEMSTRUCT as tagDELETEITEMSTRUCT ptr 1976 type LPDELETEITEMSTRUCT as tagDELETEITEMSTRUCT ptr 1977 1978 type tagCOMPAREITEMSTRUCT 1979 CtlType as UINT 1980 CtlID as UINT 1981 hwndItem as HWND 1982 itemID1 as UINT 1983 itemData1 as ULONG_PTR 1984 itemID2 as UINT 1985 itemData2 as ULONG_PTR 1986 dwLocaleId as DWORD 1987 end type 1988 1989 type COMPAREITEMSTRUCT as tagCOMPAREITEMSTRUCT 1990 type PCOMPAREITEMSTRUCT as tagCOMPAREITEMSTRUCT ptr 1991 type LPCOMPAREITEMSTRUCT as tagCOMPAREITEMSTRUCT ptr 1992 declare function GetMessageA(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT) as WINBOOL 1993 1994 #ifndef UNICODE 1995 declare function GetMessage alias "GetMessageA"(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT) as WINBOOL 1996 #endif 1997 1998 declare function GetMessageW(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT) as WINBOOL 1999 2000 #ifdef UNICODE 2001 declare function GetMessage alias "GetMessageW"(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT) as WINBOOL 2002 #endif 2003 2004 declare function TranslateMessage(byval lpMsg as const MSG ptr) as WINBOOL 2005 declare function DispatchMessageA(byval lpMsg as const MSG ptr) as LRESULT 2006 2007 #ifndef UNICODE 2008 declare function DispatchMessage alias "DispatchMessageA"(byval lpMsg as const MSG ptr) as LRESULT 2009 #endif 2010 2011 declare function DispatchMessageW(byval lpMsg as const MSG ptr) as LRESULT 2012 2013 #ifdef UNICODE 2014 declare function DispatchMessage alias "DispatchMessageW"(byval lpMsg as const MSG ptr) as LRESULT 2015 #endif 2016 2017 declare function SetMessageQueue(byval cMessagesMax as long) as WINBOOL 2018 declare function PeekMessageA(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT, byval wRemoveMsg as UINT) as WINBOOL 2019 2020 #ifndef UNICODE 2021 declare function PeekMessage alias "PeekMessageA"(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT, byval wRemoveMsg as UINT) as WINBOOL 2022 #endif 2023 2024 declare function PeekMessageW(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT, byval wRemoveMsg as UINT) as WINBOOL 2025 2026 #ifdef UNICODE 2027 declare function PeekMessage alias "PeekMessageW"(byval lpMsg as LPMSG, byval hWnd as HWND, byval wMsgFilterMin as UINT, byval wMsgFilterMax as UINT, byval wRemoveMsg as UINT) as WINBOOL 2028 #endif 2029 2030 const PM_NOREMOVE = &h0000 2031 const PM_REMOVE = &h0001 2032 const PM_NOYIELD = &h0002 2033 #define PM_QS_INPUT (QS_INPUT shl 16) 2034 #define PM_QS_POSTMESSAGE (((QS_POSTMESSAGE or QS_HOTKEY) or QS_TIMER) shl 16) 2035 #define PM_QS_PAINT (QS_PAINT shl 16) 2036 #define PM_QS_SENDMESSAGE (QS_SENDMESSAGE shl 16) 2037 declare function RegisterHotKey(byval hWnd as HWND, byval id as long, byval fsModifiers as UINT, byval vk as UINT) as WINBOOL 2038 declare function UnregisterHotKey(byval hWnd as HWND, byval id as long) as WINBOOL 2039 const MOD_ALT = &h0001 2040 const MOD_CONTROL = &h0002 2041 const MOD_SHIFT = &h0004 2042 const MOD_WIN = &h0008 2043 2044 #if _WIN32_WINNT >= &h0601 2045 const MOD_NOREPEAT = &h4000 2046 #endif 2047 2048 const IDHOT_SNAPWINDOW = -1 2049 const IDHOT_SNAPDESKTOP = -2 2050 const ENDSESSION_CLOSEAPP = &h00000001 2051 const ENDSESSION_CRITICAL = &h40000000 2052 const ENDSESSION_LOGOFF = &h80000000 2053 const EWX_LOGOFF = &h00000000 2054 const EWX_SHUTDOWN = &h00000001 2055 const EWX_REBOOT = &h00000002 2056 const EWX_FORCE = &h00000004 2057 const EWX_POWEROFF = &h00000008 2058 const EWX_FORCEIFHUNG = &h00000010 2059 const EWX_QUICKRESOLVE = &h00000020 2060 2061 #if _WIN32_WINNT >= &h0600 2062 const EWX_RESTARTAPPS = &h00000040 2063 #endif 2064 2065 const EWX_HYBRID_SHUTDOWN = &h00400000 2066 const EWX_BOOTOPTIONS = &h01000000 2067 #define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, &hFFFFFFFF) 2068 2069 declare function ExitWindowsEx(byval uFlags as UINT, byval dwReason as DWORD) as WINBOOL 2070 declare function SwapMouseButton(byval fSwap as WINBOOL) as WINBOOL 2071 declare function GetMessagePos() as DWORD 2072 declare function GetMessageTime() as LONG 2073 declare function GetMessageExtraInfo() as LPARAM 2074 2075 #if _WIN32_WINNT = &h0602 2076 declare function GetUnpredictedMessagePos() as DWORD 2077 #endif 2078 2079 declare function IsWow64Message() as WINBOOL 2080 declare function SetMessageExtraInfo(byval lParam as LPARAM) as LPARAM 2081 declare function SendMessageA(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2082 2083 #ifndef UNICODE 2084 declare function SendMessage alias "SendMessageA"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2085 #endif 2086 2087 declare function SendMessageW(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2088 2089 #ifdef UNICODE 2090 declare function SendMessage alias "SendMessageW"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2091 #endif 2092 2093 declare function SendMessageTimeoutA(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval fuFlags as UINT, byval uTimeout as UINT, byval lpdwResult as PDWORD_PTR) as LRESULT 2094 2095 #ifndef UNICODE 2096 declare function SendMessageTimeout alias "SendMessageTimeoutA"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval fuFlags as UINT, byval uTimeout as UINT, byval lpdwResult as PDWORD_PTR) as LRESULT 2097 #endif 2098 2099 declare function SendMessageTimeoutW(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval fuFlags as UINT, byval uTimeout as UINT, byval lpdwResult as PDWORD_PTR) as LRESULT 2100 2101 #ifdef UNICODE 2102 declare function SendMessageTimeout alias "SendMessageTimeoutW"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval fuFlags as UINT, byval uTimeout as UINT, byval lpdwResult as PDWORD_PTR) as LRESULT 2103 #endif 2104 2105 declare function SendNotifyMessageA(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2106 2107 #ifndef UNICODE 2108 declare function SendNotifyMessage alias "SendNotifyMessageA"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2109 #endif 2110 2111 declare function SendNotifyMessageW(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2112 2113 #ifdef UNICODE 2114 declare function SendNotifyMessage alias "SendNotifyMessageW"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2115 #endif 2116 2117 declare function SendMessageCallbackA(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval lpResultCallBack as SENDASYNCPROC, byval dwData as ULONG_PTR) as WINBOOL 2118 2119 #ifndef UNICODE 2120 declare function SendMessageCallback alias "SendMessageCallbackA"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval lpResultCallBack as SENDASYNCPROC, byval dwData as ULONG_PTR) as WINBOOL 2121 #endif 2122 2123 declare function SendMessageCallbackW(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval lpResultCallBack as SENDASYNCPROC, byval dwData as ULONG_PTR) as WINBOOL 2124 2125 #ifdef UNICODE 2126 declare function SendMessageCallback alias "SendMessageCallbackW"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval lpResultCallBack as SENDASYNCPROC, byval dwData as ULONG_PTR) as WINBOOL 2127 #endif 2128 2129 type BSMINFO 2130 cbSize as UINT 2131 hdesk as HDESK 2132 hwnd as HWND 2133 luid as LUID 2134 end type 2135 2136 type PBSMINFO as BSMINFO ptr 2137 declare function BroadcastSystemMessageExA(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval pbsmInfo as PBSMINFO) as long 2138 2139 #ifndef UNICODE 2140 declare function BroadcastSystemMessageEx alias "BroadcastSystemMessageExA"(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval pbsmInfo as PBSMINFO) as long 2141 #endif 2142 2143 declare function BroadcastSystemMessageExW(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval pbsmInfo as PBSMINFO) as long 2144 2145 #ifdef UNICODE 2146 declare function BroadcastSystemMessageEx alias "BroadcastSystemMessageExW"(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM, byval pbsmInfo as PBSMINFO) as long 2147 #endif 2148 2149 declare function BroadcastSystemMessageA(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as long 2150 2151 #ifndef UNICODE 2152 declare function BroadcastSystemMessage alias "BroadcastSystemMessageA"(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as long 2153 #endif 2154 2155 declare function BroadcastSystemMessageW(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as long 2156 2157 #ifdef UNICODE 2158 declare function BroadcastSystemMessage alias "BroadcastSystemMessageW"(byval flags as DWORD, byval lpInfo as LPDWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as long 2159 #endif 2160 2161 const BSM_ALLCOMPONENTS = &h00000000 2162 const BSM_VXDS = &h00000001 2163 const BSM_NETDRIVER = &h00000002 2164 const BSM_INSTALLABLEDRIVERS = &h00000004 2165 const BSM_APPLICATIONS = &h00000008 2166 const BSM_ALLDESKTOPS = &h00000010 2167 const BSF_QUERY = &h00000001 2168 const BSF_IGNORECURRENTTASK = &h00000002 2169 const BSF_FLUSHDISK = &h00000004 2170 const BSF_NOHANG = &h00000008 2171 const BSF_POSTMESSAGE = &h00000010 2172 const BSF_FORCEIFHUNG = &h00000020 2173 const BSF_NOTIMEOUTIFNOTHUNG = &h00000040 2174 const BSF_ALLOWSFW = &h00000080 2175 const BSF_SENDNOTIFYMESSAGE = &h00000100 2176 const BSF_RETURNHDESK = &h00000200 2177 const BSF_LUID = &h00000400 2178 const BROADCAST_QUERY_DENY = &h424D5144 2179 type HDEVNOTIFY as PVOID 2180 type PHDEVNOTIFY as HDEVNOTIFY ptr 2181 const DEVICE_NOTIFY_WINDOW_HANDLE = &h00000000 2182 const DEVICE_NOTIFY_SERVICE_HANDLE = &h00000001 2183 const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = &h00000004 2184 2185 #ifdef UNICODE 2186 #define PostAppMessage PostAppMessageW 2187 #elseif (not defined(UNICODE)) and (_WIN32_WINNT >= &h0502) 2188 #define PostAppMessage PostAppMessageA 2189 #endif 2190 2191 #if _WIN32_WINNT >= &h0502 2192 #define _HPOWERNOTIFY_DEF_ 2193 type HPOWERNOTIFY as HANDLE 2194 type PHPOWERNOTIFY as HPOWERNOTIFY ptr 2195 declare function RegisterPowerSettingNotification(byval hRecipient as HANDLE, byval PowerSettingGuid as LPCGUID, byval Flags as DWORD) as HPOWERNOTIFY 2196 declare function UnregisterPowerSettingNotification(byval Handle as HPOWERNOTIFY) as WINBOOL 2197 declare function RegisterSuspendResumeNotification(byval hRecipient as HANDLE, byval Flags as DWORD) as HPOWERNOTIFY 2198 declare function UnregisterSuspendResumeNotification(byval Handle as HPOWERNOTIFY) as WINBOOL 2199 #elseif (not defined(UNICODE)) and (_WIN32_WINNT <= &h0501) 2200 #define PostAppMessage PostAppMessageA 2201 #endif 2202 2203 declare function PostMessageA(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2204 2205 #ifndef UNICODE 2206 declare function PostMessage alias "PostMessageA"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2207 #endif 2208 2209 declare function PostMessageW(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2210 2211 #ifdef UNICODE 2212 declare function PostMessage alias "PostMessageW"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2213 #endif 2214 2215 declare function PostThreadMessageA(byval idThread as DWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2216 2217 #ifndef UNICODE 2218 declare function PostThreadMessage alias "PostThreadMessageA"(byval idThread as DWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2219 #endif 2220 2221 declare function PostThreadMessageW(byval idThread as DWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2222 2223 #ifdef UNICODE 2224 declare function PostThreadMessage alias "PostThreadMessageW"(byval idThread as DWORD, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as WINBOOL 2225 #endif 2226 2227 #define PostAppMessageA(idThread, wMsg, wParam, lParam) PostThreadMessageA(cast(DWORD, idThread), wMsg, wParam, lParam) 2228 #define PostAppMessageW(idThread, wMsg, wParam, lParam) PostThreadMessageW(cast(DWORD, idThread), wMsg, wParam, lParam) 2229 declare function AttachThreadInput(byval idAttach as DWORD, byval idAttachTo as DWORD, byval fAttach as WINBOOL) as WINBOOL 2230 declare function ReplyMessage(byval lResult as LRESULT) as WINBOOL 2231 declare function WaitMessage() as WINBOOL 2232 declare function WaitForInputIdle(byval hProcess as HANDLE, byval dwMilliseconds as DWORD) as DWORD 2233 declare function DefWindowProcA(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2234 2235 #ifndef UNICODE 2236 declare function DefWindowProc alias "DefWindowProcA"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2237 #endif 2238 2239 declare function DefWindowProcW(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2240 2241 #ifdef UNICODE 2242 declare function DefWindowProc alias "DefWindowProcW"(byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2243 #endif 2244 2245 declare sub PostQuitMessage(byval nExitCode as long) 2246 declare function InSendMessage() as WINBOOL 2247 declare function InSendMessageEx(byval lpReserved as LPVOID) as DWORD 2248 declare function GetDoubleClickTime() as UINT 2249 declare function SetDoubleClickTime(byval as UINT) as WINBOOL 2250 declare function RegisterClassA(byval lpWndClass as const WNDCLASSA ptr) as ATOM 2251 2252 #ifndef UNICODE 2253 declare function RegisterClass alias "RegisterClassA"(byval lpWndClass as const WNDCLASSA ptr) as ATOM 2254 #endif 2255 2256 declare function RegisterClassW(byval lpWndClass as const WNDCLASSW ptr) as ATOM 2257 2258 #ifdef UNICODE 2259 declare function RegisterClass alias "RegisterClassW"(byval lpWndClass as const WNDCLASSW ptr) as ATOM 2260 #endif 2261 2262 declare function UnregisterClassA(byval lpClassName as LPCSTR, byval hInstance as HINSTANCE) as WINBOOL 2263 2264 #ifndef UNICODE 2265 declare function UnregisterClass alias "UnregisterClassA"(byval lpClassName as LPCSTR, byval hInstance as HINSTANCE) as WINBOOL 2266 #endif 2267 2268 declare function UnregisterClassW(byval lpClassName as LPCWSTR, byval hInstance as HINSTANCE) as WINBOOL 2269 2270 #ifdef UNICODE 2271 declare function UnregisterClass alias "UnregisterClassW"(byval lpClassName as LPCWSTR, byval hInstance as HINSTANCE) as WINBOOL 2272 #endif 2273 2274 declare function GetClassInfoA(byval hInstance as HINSTANCE, byval lpClassName as LPCSTR, byval lpWndClass as LPWNDCLASSA) as WINBOOL 2275 2276 #ifndef UNICODE 2277 declare function GetClassInfo alias "GetClassInfoA"(byval hInstance as HINSTANCE, byval lpClassName as LPCSTR, byval lpWndClass as LPWNDCLASSA) as WINBOOL 2278 #endif 2279 2280 declare function GetClassInfoW(byval hInstance as HINSTANCE, byval lpClassName as LPCWSTR, byval lpWndClass as LPWNDCLASSW) as WINBOOL 2281 2282 #ifdef UNICODE 2283 declare function GetClassInfo alias "GetClassInfoW"(byval hInstance as HINSTANCE, byval lpClassName as LPCWSTR, byval lpWndClass as LPWNDCLASSW) as WINBOOL 2284 #endif 2285 2286 declare function RegisterClassExA(byval as const WNDCLASSEXA ptr) as ATOM 2287 2288 #ifndef UNICODE 2289 declare function RegisterClassEx alias "RegisterClassExA"(byval as const WNDCLASSEXA ptr) as ATOM 2290 #endif 2291 2292 declare function RegisterClassExW(byval as const WNDCLASSEXW ptr) as ATOM 2293 2294 #ifdef UNICODE 2295 declare function RegisterClassEx alias "RegisterClassExW"(byval as const WNDCLASSEXW ptr) as ATOM 2296 #endif 2297 2298 declare function GetClassInfoExA(byval hInstance as HINSTANCE, byval lpszClass as LPCSTR, byval lpwcx as LPWNDCLASSEXA) as WINBOOL 2299 2300 #ifndef UNICODE 2301 declare function GetClassInfoEx alias "GetClassInfoExA"(byval hInstance as HINSTANCE, byval lpszClass as LPCSTR, byval lpwcx as LPWNDCLASSEXA) as WINBOOL 2302 #endif 2303 2304 declare function GetClassInfoExW(byval hInstance as HINSTANCE, byval lpszClass as LPCWSTR, byval lpwcx as LPWNDCLASSEXW) as WINBOOL 2305 2306 #ifdef UNICODE 2307 declare function GetClassInfoEx alias "GetClassInfoExW"(byval hInstance as HINSTANCE, byval lpszClass as LPCWSTR, byval lpwcx as LPWNDCLASSEXW) as WINBOOL 2308 #endif 2309 2310 declare function CallWindowProcA(byval lpPrevWndFunc as WNDPROC, byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2311 2312 #ifndef UNICODE 2313 declare function CallWindowProc alias "CallWindowProcA"(byval lpPrevWndFunc as WNDPROC, byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2314 #endif 2315 2316 declare function CallWindowProcW(byval lpPrevWndFunc as WNDPROC, byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2317 2318 #ifdef UNICODE 2319 declare function CallWindowProc alias "CallWindowProcW"(byval lpPrevWndFunc as WNDPROC, byval hWnd as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2320 #endif 2321 2322 const CW_USEDEFAULT = clng(&h80000000) 2323 const HWND_BROADCAST = cast(HWND, &hffff) 2324 const HWND_MESSAGE = cast(HWND, -3) 2325 const HWND_DESKTOP = cast(HWND, 0) 2326 const ISMEX_NOSEND = &h00000000 2327 const ISMEX_SEND = &h00000001 2328 const ISMEX_NOTIFY = &h00000002 2329 const ISMEX_CALLBACK = &h00000004 2330 const ISMEX_REPLIED = &h00000008 2331 2332 #if _WIN32_WINNT >= &h0502 2333 extern GUID_POWERSCHEME_PERSONALITY as const GUID 2334 extern GUID_MIN_POWER_SAVINGS as const GUID 2335 extern GUID_MAX_POWER_SAVINGS as const GUID 2336 extern GUID_TYPICAL_POWER_SAVINGS as const GUID 2337 extern GUID_ACDC_POWER_SOURCE as const GUID 2338 extern GUID_BATTERY_PERCENTAGE_REMAINING as const GUID 2339 extern GUID_IDLE_BACKGROUND_TASK as const GUID 2340 extern GUID_SYSTEM_AWAYMODE as const GUID 2341 extern GUID_MONITOR_POWER_ON as const GUID 2342 #endif 2343 2344 declare function RegisterDeviceNotificationA(byval hRecipient as HANDLE, byval NotificationFilter as LPVOID, byval Flags as DWORD) as HDEVNOTIFY 2345 2346 #ifndef UNICODE 2347 declare function RegisterDeviceNotification alias "RegisterDeviceNotificationA"(byval hRecipient as HANDLE, byval NotificationFilter as LPVOID, byval Flags as DWORD) as HDEVNOTIFY 2348 #endif 2349 2350 declare function RegisterDeviceNotificationW(byval hRecipient as HANDLE, byval NotificationFilter as LPVOID, byval Flags as DWORD) as HDEVNOTIFY 2351 2352 #ifdef UNICODE 2353 declare function RegisterDeviceNotification alias "RegisterDeviceNotificationW"(byval hRecipient as HANDLE, byval NotificationFilter as LPVOID, byval Flags as DWORD) as HDEVNOTIFY 2354 #endif 2355 2356 declare function UnregisterDeviceNotification(byval Handle as HDEVNOTIFY) as WINBOOL 2357 type PREGISTERCLASSNAMEW as function(byval as LPCWSTR) as WINBOOLEAN 2358 2359 #ifdef UNICODE 2360 #define CreateWindow CreateWindowW 2361 #else 2362 #define CreateWindow CreateWindowA 2363 #endif 2364 2365 declare function CreateWindowExA(byval dwExStyle as DWORD, byval lpClassName as LPCSTR, byval lpWindowName as LPCSTR, byval dwStyle as DWORD, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long, byval hWndParent as HWND, byval hMenu as HMENU, byval hInstance as HINSTANCE, byval lpParam as LPVOID) as HWND 2366 2367 #ifndef UNICODE 2368 declare function CreateWindowEx alias "CreateWindowExA"(byval dwExStyle as DWORD, byval lpClassName as LPCSTR, byval lpWindowName as LPCSTR, byval dwStyle as DWORD, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long, byval hWndParent as HWND, byval hMenu as HMENU, byval hInstance as HINSTANCE, byval lpParam as LPVOID) as HWND 2369 #endif 2370 2371 declare function CreateWindowExW(byval dwExStyle as DWORD, byval lpClassName as LPCWSTR, byval lpWindowName as LPCWSTR, byval dwStyle as DWORD, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long, byval hWndParent as HWND, byval hMenu as HMENU, byval hInstance as HINSTANCE, byval lpParam as LPVOID) as HWND 2372 2373 #ifdef UNICODE 2374 declare function CreateWindowEx alias "CreateWindowExW"(byval dwExStyle as DWORD, byval lpClassName as LPCWSTR, byval lpWindowName as LPCWSTR, byval dwStyle as DWORD, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long, byval hWndParent as HWND, byval hMenu as HMENU, byval hInstance as HINSTANCE, byval lpParam as LPVOID) as HWND 2375 #endif 2376 2377 #define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) CreateWindowExA(cast(DWORD, 0), lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) 2378 #define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) CreateWindowExW(cast(DWORD, 0), lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam) 2379 declare function IsWindow(byval hWnd as HWND) as WINBOOL 2380 declare function IsMenu(byval hMenu as HMENU) as WINBOOL 2381 declare function IsChild(byval hWndParent as HWND, byval hWnd as HWND) as WINBOOL 2382 declare function DestroyWindow(byval hWnd as HWND) as WINBOOL 2383 declare function ShowWindow(byval hWnd as HWND, byval nCmdShow as long) as WINBOOL 2384 declare function AnimateWindow(byval hWnd as HWND, byval dwTime as DWORD, byval dwFlags as DWORD) as WINBOOL 2385 declare function UpdateLayeredWindow(byval hWnd as HWND, byval hdcDst as HDC, byval pptDst as POINT ptr, byval psize as SIZE ptr, byval hdcSrc as HDC, byval pptSrc as POINT ptr, byval crKey as COLORREF, byval pblend as BLENDFUNCTION ptr, byval dwFlags as DWORD) as WINBOOL 2386 2387 type tagUPDATELAYEREDWINDOWINFO 2388 cbSize as DWORD 2389 hdcDst as HDC 2390 pptDst as const POINT ptr 2391 psize as const SIZE ptr 2392 hdcSrc as HDC 2393 pptSrc as const POINT ptr 2394 crKey as COLORREF 2395 pblend as const BLENDFUNCTION ptr 2396 dwFlags as DWORD 2397 prcDirty as const RECT ptr 2398 end type 2399 2400 type UPDATELAYEREDWINDOWINFO as tagUPDATELAYEREDWINDOWINFO 2401 type PUPDATELAYEREDWINDOWINFO as tagUPDATELAYEREDWINDOWINFO ptr 2402 2403 #if _WIN32_WINNT >= &h0502 2404 declare function UpdateLayeredWindowIndirect(byval hWnd as HWND, byval pULWInfo as const UPDATELAYEREDWINDOWINFO ptr) as WINBOOL 2405 #endif 2406 2407 declare function GetLayeredWindowAttributes(byval hwnd as HWND, byval pcrKey as COLORREF ptr, byval pbAlpha as UBYTE ptr, byval pdwFlags as DWORD ptr) as WINBOOL 2408 const PW_CLIENTONLY = &h00000001 2409 declare function PrintWindow(byval hwnd as HWND, byval hdcBlt as HDC, byval nFlags as UINT) as WINBOOL 2410 declare function SetLayeredWindowAttributes(byval hwnd as HWND, byval crKey as COLORREF, byval bAlpha as UBYTE, byval dwFlags as DWORD) as WINBOOL 2411 const LWA_COLORKEY = &h00000001 2412 const LWA_ALPHA = &h00000002 2413 const ULW_COLORKEY = &h00000001 2414 const ULW_ALPHA = &h00000002 2415 const ULW_OPAQUE = &h00000004 2416 const ULW_EX_NORESIZE = &h00000008 2417 const FLASHW_STOP = 0 2418 const FLASHW_CAPTION = &h00000001 2419 const FLASHW_TRAY = &h00000002 2420 const FLASHW_ALL = FLASHW_CAPTION or FLASHW_TRAY 2421 const FLASHW_TIMER = &h00000004 2422 const FLASHW_TIMERNOFG = &h0000000c 2423 2424 type FLASHWINFO 2425 cbSize as UINT 2426 hwnd as HWND 2427 dwFlags as DWORD 2428 uCount as UINT 2429 dwTimeout as DWORD 2430 end type 2431 2432 type PFLASHWINFO as FLASHWINFO ptr 2433 declare function ShowWindowAsync(byval hWnd as HWND, byval nCmdShow as long) as WINBOOL 2434 declare function FlashWindow(byval hWnd as HWND, byval bInvert as WINBOOL) as WINBOOL 2435 declare function FlashWindowEx(byval pfwi as PFLASHWINFO) as WINBOOL 2436 declare function ShowOwnedPopups(byval hWnd as HWND, byval fShow as WINBOOL) as WINBOOL 2437 declare function OpenIcon(byval hWnd as HWND) as WINBOOL 2438 declare function CloseWindow(byval hWnd as HWND) as WINBOOL 2439 declare function MoveWindow(byval hWnd as HWND, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long, byval bRepaint as WINBOOL) as WINBOOL 2440 declare function SetWindowPos(byval hWnd as HWND, byval hWndInsertAfter as HWND, byval X as long, byval Y as long, byval cx as long, byval cy as long, byval uFlags as UINT) as WINBOOL 2441 declare function GetWindowPlacement(byval hWnd as HWND, byval lpwndpl as WINDOWPLACEMENT ptr) as WINBOOL 2442 declare function SetWindowPlacement(byval hWnd as HWND, byval lpwndpl as const WINDOWPLACEMENT ptr) as WINBOOL 2443 2444 #if _WIN32_WINNT >= &h0601 2445 const WDA_NONE = &h00000000 2446 const WDA_MONITOR = &h00000001 2447 declare function GetWindowDisplayAffinity(byval hWnd as HWND, byval pdwAffinity as DWORD ptr) as WINBOOL 2448 declare function SetWindowDisplayAffinity(byval hWnd as HWND, byval dwAffinity as DWORD) as WINBOOL 2449 #endif 2450 2451 declare function BeginDeferWindowPos(byval nNumWindows as long) as HDWP 2452 declare function DeferWindowPos(byval hWinPosInfo as HDWP, byval hWnd as HWND, byval hWndInsertAfter as HWND, byval x as long, byval y as long, byval cx as long, byval cy as long, byval uFlags as UINT) as HDWP 2453 declare function EndDeferWindowPos(byval hWinPosInfo as HDWP) as WINBOOL 2454 declare function IsWindowVisible(byval hWnd as HWND) as WINBOOL 2455 declare function IsIconic(byval hWnd as HWND) as WINBOOL 2456 declare function AnyPopup() as WINBOOL 2457 declare function BringWindowToTop(byval hWnd as HWND) as WINBOOL 2458 declare function IsZoomed(byval hWnd as HWND) as WINBOOL 2459 2460 const SWP_NOSIZE = &h0001 2461 const SWP_NOMOVE = &h0002 2462 const SWP_NOZORDER = &h0004 2463 const SWP_NOREDRAW = &h0008 2464 const SWP_NOACTIVATE = &h0010 2465 const SWP_FRAMECHANGED = &h0020 2466 const SWP_SHOWWINDOW = &h0040 2467 const SWP_HIDEWINDOW = &h0080 2468 const SWP_NOCOPYBITS = &h0100 2469 const SWP_NOOWNERZORDER = &h0200 2470 const SWP_NOSENDCHANGING = &h0400 2471 const SWP_DRAWFRAME = SWP_FRAMECHANGED 2472 const SWP_NOREPOSITION = SWP_NOOWNERZORDER 2473 const SWP_DEFERERASE = &h2000 2474 const SWP_ASYNCWINDOWPOS = &h4000 2475 const HWND_TOP = cast(HWND, 0) 2476 const HWND_BOTTOM = cast(HWND, 1) 2477 const HWND_TOPMOST = cast(HWND, -1) 2478 const HWND_NOTOPMOST = cast(HWND, -2) 2479 2480 type DLGTEMPLATE field = 2 2481 style as DWORD 2482 dwExtendedStyle as DWORD 2483 cdit as WORD 2484 x as short 2485 y as short 2486 cx as short 2487 cy as short 2488 end type 2489 2490 type LPDLGTEMPLATEA as DLGTEMPLATE ptr 2491 type LPDLGTEMPLATEW as DLGTEMPLATE ptr 2492 2493 #ifdef UNICODE 2494 type LPDLGTEMPLATE as LPDLGTEMPLATEW 2495 #else 2496 type LPDLGTEMPLATE as LPDLGTEMPLATEA 2497 #endif 2498 2499 type LPCDLGTEMPLATEA as const DLGTEMPLATE ptr 2500 type LPCDLGTEMPLATEW as const DLGTEMPLATE ptr 2501 2502 #ifdef UNICODE 2503 type LPCDLGTEMPLATE as LPCDLGTEMPLATEW 2504 #else 2505 type LPCDLGTEMPLATE as LPCDLGTEMPLATEA 2506 #endif 2507 2508 type DLGITEMTEMPLATE field = 2 2509 style as DWORD 2510 dwExtendedStyle as DWORD 2511 x as short 2512 y as short 2513 cx as short 2514 cy as short 2515 id as WORD 2516 end type 2517 2518 type PDLGITEMTEMPLATEA as DLGITEMTEMPLATE ptr 2519 type PDLGITEMTEMPLATEW as DLGITEMTEMPLATE ptr 2520 2521 #ifdef UNICODE 2522 type PDLGITEMTEMPLATE as PDLGITEMTEMPLATEW 2523 #else 2524 type PDLGITEMTEMPLATE as PDLGITEMTEMPLATEA 2525 #endif 2526 2527 type LPDLGITEMTEMPLATEA as DLGITEMTEMPLATE ptr 2528 type LPDLGITEMTEMPLATEW as DLGITEMTEMPLATE ptr 2529 2530 #ifdef UNICODE 2531 type LPDLGITEMTEMPLATE as LPDLGITEMTEMPLATEW 2532 #define CreateDialog CreateDialogW 2533 #define CreateDialogIndirect CreateDialogIndirectW 2534 #define DialogBox DialogBoxW 2535 #define DialogBoxIndirect DialogBoxIndirectW 2536 #else 2537 type LPDLGITEMTEMPLATE as LPDLGITEMTEMPLATEA 2538 #define CreateDialog CreateDialogA 2539 #define CreateDialogIndirect CreateDialogIndirectA 2540 #define DialogBox DialogBoxA 2541 #define DialogBoxIndirect DialogBoxIndirectA 2542 #endif 2543 2544 declare function CreateDialogParamA(byval hInstance as HINSTANCE, byval lpTemplateName as LPCSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2545 2546 #ifndef UNICODE 2547 declare function CreateDialogParam alias "CreateDialogParamA"(byval hInstance as HINSTANCE, byval lpTemplateName as LPCSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2548 #endif 2549 2550 declare function CreateDialogParamW(byval hInstance as HINSTANCE, byval lpTemplateName as LPCWSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2551 2552 #ifdef UNICODE 2553 declare function CreateDialogParam alias "CreateDialogParamW"(byval hInstance as HINSTANCE, byval lpTemplateName as LPCWSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2554 #endif 2555 2556 declare function CreateDialogIndirectParamA(byval hInstance as HINSTANCE, byval lpTemplate as LPCDLGTEMPLATEA, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2557 2558 #ifndef UNICODE 2559 declare function CreateDialogIndirectParam alias "CreateDialogIndirectParamA"(byval hInstance as HINSTANCE, byval lpTemplate as LPCDLGTEMPLATEA, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2560 #endif 2561 2562 declare function CreateDialogIndirectParamW(byval hInstance as HINSTANCE, byval lpTemplate as LPCDLGTEMPLATEW, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2563 2564 #ifdef UNICODE 2565 declare function CreateDialogIndirectParam alias "CreateDialogIndirectParamW"(byval hInstance as HINSTANCE, byval lpTemplate as LPCDLGTEMPLATEW, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as HWND 2566 #endif 2567 2568 #define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2569 #define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2570 #define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2571 #define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2572 declare function DialogBoxParamA(byval hInstance as HINSTANCE, byval lpTemplateName as LPCSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2573 2574 #ifndef UNICODE 2575 declare function DialogBoxParam alias "DialogBoxParamA"(byval hInstance as HINSTANCE, byval lpTemplateName as LPCSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2576 #endif 2577 2578 declare function DialogBoxParamW(byval hInstance as HINSTANCE, byval lpTemplateName as LPCWSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2579 2580 #ifdef UNICODE 2581 declare function DialogBoxParam alias "DialogBoxParamW"(byval hInstance as HINSTANCE, byval lpTemplateName as LPCWSTR, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2582 #endif 2583 2584 declare function DialogBoxIndirectParamA(byval hInstance as HINSTANCE, byval hDialogTemplate as LPCDLGTEMPLATEA, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2585 2586 #ifndef UNICODE 2587 declare function DialogBoxIndirectParam alias "DialogBoxIndirectParamA"(byval hInstance as HINSTANCE, byval hDialogTemplate as LPCDLGTEMPLATEA, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2588 #endif 2589 2590 declare function DialogBoxIndirectParamW(byval hInstance as HINSTANCE, byval hDialogTemplate as LPCDLGTEMPLATEW, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2591 2592 #ifdef UNICODE 2593 declare function DialogBoxIndirectParam alias "DialogBoxIndirectParamW"(byval hInstance as HINSTANCE, byval hDialogTemplate as LPCDLGTEMPLATEW, byval hWndParent as HWND, byval lpDialogFunc as DLGPROC, byval dwInitParam as LPARAM) as INT_PTR 2594 #endif 2595 2596 #define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2597 #define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2598 #define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2599 #define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, cast(LPARAM, 0)) 2600 2601 declare function EndDialog(byval hDlg as HWND, byval nResult as INT_PTR) as WINBOOL 2602 declare function GetDlgItem(byval hDlg as HWND, byval nIDDlgItem as long) as HWND 2603 declare function SetDlgItemInt(byval hDlg as HWND, byval nIDDlgItem as long, byval uValue as UINT, byval bSigned as WINBOOL) as WINBOOL 2604 declare function GetDlgItemInt(byval hDlg as HWND, byval nIDDlgItem as long, byval lpTranslated as WINBOOL ptr, byval bSigned as WINBOOL) as UINT 2605 declare function SetDlgItemTextA(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPCSTR) as WINBOOL 2606 2607 #ifndef UNICODE 2608 declare function SetDlgItemText alias "SetDlgItemTextA"(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPCSTR) as WINBOOL 2609 #endif 2610 2611 declare function SetDlgItemTextW(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPCWSTR) as WINBOOL 2612 2613 #ifdef UNICODE 2614 declare function SetDlgItemText alias "SetDlgItemTextW"(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPCWSTR) as WINBOOL 2615 #endif 2616 2617 declare function GetDlgItemTextA(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPSTR, byval cchMax as long) as UINT 2618 2619 #ifndef UNICODE 2620 declare function GetDlgItemText alias "GetDlgItemTextA"(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPSTR, byval cchMax as long) as UINT 2621 #endif 2622 2623 declare function GetDlgItemTextW(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPWSTR, byval cchMax as long) as UINT 2624 2625 #ifdef UNICODE 2626 declare function GetDlgItemText alias "GetDlgItemTextW"(byval hDlg as HWND, byval nIDDlgItem as long, byval lpString as LPWSTR, byval cchMax as long) as UINT 2627 #endif 2628 2629 declare function CheckDlgButton(byval hDlg as HWND, byval nIDButton as long, byval uCheck as UINT) as WINBOOL 2630 declare function CheckRadioButton(byval hDlg as HWND, byval nIDFirstButton as long, byval nIDLastButton as long, byval nIDCheckButton as long) as WINBOOL 2631 declare function IsDlgButtonChecked(byval hDlg as HWND, byval nIDButton as long) as UINT 2632 declare function SendDlgItemMessageA(byval hDlg as HWND, byval nIDDlgItem as long, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2633 2634 #ifndef UNICODE 2635 declare function SendDlgItemMessage alias "SendDlgItemMessageA"(byval hDlg as HWND, byval nIDDlgItem as long, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2636 #endif 2637 2638 declare function SendDlgItemMessageW(byval hDlg as HWND, byval nIDDlgItem as long, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2639 2640 #ifdef UNICODE 2641 declare function SendDlgItemMessage alias "SendDlgItemMessageW"(byval hDlg as HWND, byval nIDDlgItem as long, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2642 #endif 2643 2644 declare function GetNextDlgGroupItem(byval hDlg as HWND, byval hCtl as HWND, byval bPrevious as WINBOOL) as HWND 2645 declare function GetNextDlgTabItem(byval hDlg as HWND, byval hCtl as HWND, byval bPrevious as WINBOOL) as HWND 2646 declare function GetDlgCtrlID(byval hWnd as HWND) as long 2647 declare function GetDialogBaseUnits() as long 2648 declare function DefDlgProcA(byval hDlg as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2649 2650 #ifndef UNICODE 2651 declare function DefDlgProc alias "DefDlgProcA"(byval hDlg as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2652 #endif 2653 2654 declare function DefDlgProcW(byval hDlg as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2655 2656 #ifdef UNICODE 2657 declare function DefDlgProc alias "DefDlgProcW"(byval hDlg as HWND, byval Msg as UINT, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 2658 #endif 2659 2660 const DLGWINDOWEXTRA = 30 2661 declare function CallMsgFilterA(byval lpMsg as LPMSG, byval nCode as long) as WINBOOL 2662 2663 #ifndef UNICODE 2664 declare function CallMsgFilter alias "CallMsgFilterA"(byval lpMsg as LPMSG, byval nCode as long) as WINBOOL 2665 #endif 2666 2667 declare function CallMsgFilterW(byval lpMsg as LPMSG, byval nCode as long) as WINBOOL 2668 2669 #ifdef UNICODE 2670 declare function CallMsgFilter alias "CallMsgFilterW"(byval lpMsg as LPMSG, byval nCode as long) as WINBOOL 2671 #endif 2672 2673 declare function OpenClipboard(byval hWndNewOwner as HWND) as WINBOOL 2674 declare function CloseClipboard() as WINBOOL 2675 declare function GetClipboardSequenceNumber() as DWORD 2676 declare function GetClipboardOwner() as HWND 2677 declare function SetClipboardViewer(byval hWndNewViewer as HWND) as HWND 2678 declare function GetClipboardViewer() as HWND 2679 declare function ChangeClipboardChain(byval hWndRemove as HWND, byval hWndNewNext as HWND) as WINBOOL 2680 declare function SetClipboardData(byval uFormat as UINT, byval hMem as HANDLE) as HANDLE 2681 declare function GetClipboardData(byval uFormat as UINT) as HANDLE 2682 declare function RegisterClipboardFormatA(byval lpszFormat as LPCSTR) as UINT 2683 2684 #ifndef UNICODE 2685 declare function RegisterClipboardFormat alias "RegisterClipboardFormatA"(byval lpszFormat as LPCSTR) as UINT 2686 #endif 2687 2688 declare function RegisterClipboardFormatW(byval lpszFormat as LPCWSTR) as UINT 2689 2690 #ifdef UNICODE 2691 declare function RegisterClipboardFormat alias "RegisterClipboardFormatW"(byval lpszFormat as LPCWSTR) as UINT 2692 #endif 2693 2694 declare function CountClipboardFormats() as long 2695 declare function EnumClipboardFormats(byval format as UINT) as UINT 2696 declare function GetClipboardFormatNameA(byval format as UINT, byval lpszFormatName as LPSTR, byval cchMaxCount as long) as long 2697 2698 #ifndef UNICODE 2699 declare function GetClipboardFormatName alias "GetClipboardFormatNameA"(byval format as UINT, byval lpszFormatName as LPSTR, byval cchMaxCount as long) as long 2700 #endif 2701 2702 declare function GetClipboardFormatNameW(byval format as UINT, byval lpszFormatName as LPWSTR, byval cchMaxCount as long) as long 2703 2704 #ifdef UNICODE 2705 declare function GetClipboardFormatName alias "GetClipboardFormatNameW"(byval format as UINT, byval lpszFormatName as LPWSTR, byval cchMaxCount as long) as long 2706 #endif 2707 2708 declare function EmptyClipboard() as WINBOOL 2709 declare function IsClipboardFormatAvailable(byval format as UINT) as WINBOOL 2710 declare function GetPriorityClipboardFormat(byval paFormatPriorityList as UINT ptr, byval cFormats as long) as long 2711 declare function GetOpenClipboardWindow() as HWND 2712 2713 #if _WIN32_WINNT >= &h0600 2714 declare function AddClipboardFormatListener(byval hwnd as HWND) as WINBOOL 2715 declare function RemoveClipboardFormatListener(byval hwnd as HWND) as WINBOOL 2716 declare function GetUpdatedClipboardFormats(byval lpuiFormats as PUINT, byval cFormats as UINT, byval pcFormatsOut as PUINT) as WINBOOL 2717 #endif 2718 2719 declare function CharToOemA(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR) as WINBOOL 2720 2721 #ifndef UNICODE 2722 declare function CharToOem alias "CharToOemA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR) as WINBOOL 2723 #endif 2724 2725 declare function CharToOemW(byval lpszSrc as LPCWSTR, byval lpszDst as LPSTR) as WINBOOL 2726 2727 #ifdef UNICODE 2728 declare function CharToOem alias "CharToOemW"(byval lpszSrc as LPCWSTR, byval lpszDst as LPSTR) as WINBOOL 2729 #endif 2730 2731 declare function OemToCharA(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR) as WINBOOL 2732 2733 #ifndef UNICODE 2734 declare function OemToChar alias "OemToCharA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR) as WINBOOL 2735 #endif 2736 2737 declare function OemToCharW(byval lpszSrc as LPCSTR, byval lpszDst as LPWSTR) as WINBOOL 2738 2739 #ifdef UNICODE 2740 declare function OemToChar alias "OemToCharW"(byval lpszSrc as LPCSTR, byval lpszDst as LPWSTR) as WINBOOL 2741 #endif 2742 2743 declare function CharToOemBuffA(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2744 2745 #ifndef UNICODE 2746 declare function CharToOemBuff alias "CharToOemBuffA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2747 #endif 2748 2749 declare function CharToOemBuffW(byval lpszSrc as LPCWSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2750 2751 #ifdef UNICODE 2752 declare function CharToOemBuff alias "CharToOemBuffW"(byval lpszSrc as LPCWSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2753 #endif 2754 2755 declare function OemToCharBuffA(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2756 2757 #ifndef UNICODE 2758 declare function OemToCharBuff alias "OemToCharBuffA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2759 #endif 2760 2761 declare function OemToCharBuffW(byval lpszSrc as LPCSTR, byval lpszDst as LPWSTR, byval cchDstLength as DWORD) as WINBOOL 2762 2763 #ifdef UNICODE 2764 declare function OemToCharBuff alias "OemToCharBuffW"(byval lpszSrc as LPCSTR, byval lpszDst as LPWSTR, byval cchDstLength as DWORD) as WINBOOL 2765 #endif 2766 2767 declare function CharUpperA(byval lpsz as LPSTR) as LPSTR 2768 2769 #ifndef UNICODE 2770 declare function CharUpper alias "CharUpperA"(byval lpsz as LPSTR) as LPSTR 2771 #endif 2772 2773 declare function CharUpperW(byval lpsz as LPWSTR) as LPWSTR 2774 2775 #ifdef UNICODE 2776 declare function CharUpper alias "CharUpperW"(byval lpsz as LPWSTR) as LPWSTR 2777 #endif 2778 2779 declare function CharUpperBuffA(byval lpsz as LPSTR, byval cchLength as DWORD) as DWORD 2780 2781 #ifndef UNICODE 2782 declare function CharUpperBuff alias "CharUpperBuffA"(byval lpsz as LPSTR, byval cchLength as DWORD) as DWORD 2783 #endif 2784 2785 declare function CharUpperBuffW(byval lpsz as LPWSTR, byval cchLength as DWORD) as DWORD 2786 2787 #ifdef UNICODE 2788 declare function CharUpperBuff alias "CharUpperBuffW"(byval lpsz as LPWSTR, byval cchLength as DWORD) as DWORD 2789 #endif 2790 2791 declare function CharLowerA(byval lpsz as LPSTR) as LPSTR 2792 2793 #ifndef UNICODE 2794 declare function CharLower alias "CharLowerA"(byval lpsz as LPSTR) as LPSTR 2795 #endif 2796 2797 declare function CharLowerW(byval lpsz as LPWSTR) as LPWSTR 2798 2799 #ifdef UNICODE 2800 declare function CharLower alias "CharLowerW"(byval lpsz as LPWSTR) as LPWSTR 2801 #endif 2802 2803 declare function CharLowerBuffA(byval lpsz as LPSTR, byval cchLength as DWORD) as DWORD 2804 2805 #ifndef UNICODE 2806 declare function CharLowerBuff alias "CharLowerBuffA"(byval lpsz as LPSTR, byval cchLength as DWORD) as DWORD 2807 #endif 2808 2809 declare function CharLowerBuffW(byval lpsz as LPWSTR, byval cchLength as DWORD) as DWORD 2810 2811 #ifdef UNICODE 2812 declare function CharLowerBuff alias "CharLowerBuffW"(byval lpsz as LPWSTR, byval cchLength as DWORD) as DWORD 2813 #endif 2814 2815 declare function CharNextA(byval lpsz as LPCSTR) as LPSTR 2816 2817 #ifndef UNICODE 2818 declare function CharNext alias "CharNextA"(byval lpsz as LPCSTR) as LPSTR 2819 #endif 2820 2821 declare function CharNextW(byval lpsz as LPCWSTR) as LPWSTR 2822 2823 #ifdef UNICODE 2824 declare function CharNext alias "CharNextW"(byval lpsz as LPCWSTR) as LPWSTR 2825 #endif 2826 2827 declare function CharPrevA(byval lpszStart as LPCSTR, byval lpszCurrent as LPCSTR) as LPSTR 2828 2829 #ifndef UNICODE 2830 declare function CharPrev alias "CharPrevA"(byval lpszStart as LPCSTR, byval lpszCurrent as LPCSTR) as LPSTR 2831 #endif 2832 2833 declare function CharPrevW(byval lpszStart as LPCWSTR, byval lpszCurrent as LPCWSTR) as LPWSTR 2834 2835 #ifdef UNICODE 2836 declare function CharPrev alias "CharPrevW"(byval lpszStart as LPCWSTR, byval lpszCurrent as LPCWSTR) as LPWSTR 2837 #endif 2838 2839 declare function CharNextExA(byval CodePage as WORD, byval lpCurrentChar as LPCSTR, byval dwFlags as DWORD) as LPSTR 2840 declare function CharPrevExA(byval CodePage as WORD, byval lpStart as LPCSTR, byval lpCurrentChar as LPCSTR, byval dwFlags as DWORD) as LPSTR 2841 declare function AnsiToOem alias "CharToOemA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR) as WINBOOL 2842 declare function OemToAnsi alias "OemToCharA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR) as WINBOOL 2843 declare function AnsiToOemBuff alias "CharToOemBuffA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2844 declare function OemToAnsiBuff alias "OemToCharBuffA"(byval lpszSrc as LPCSTR, byval lpszDst as LPSTR, byval cchDstLength as DWORD) as WINBOOL 2845 declare function AnsiUpper alias "CharUpperA"(byval lpsz as LPSTR) as LPSTR 2846 declare function AnsiUpperBuff alias "CharUpperBuffA"(byval lpsz as LPSTR, byval cchLength as DWORD) as DWORD 2847 declare function AnsiLower alias "CharLowerA"(byval lpsz as LPSTR) as LPSTR 2848 declare function AnsiLowerBuff alias "CharLowerBuffA"(byval lpsz as LPSTR, byval cchLength as DWORD) as DWORD 2849 declare function AnsiNext alias "CharNextA"(byval lpsz as LPCSTR) as LPSTR 2850 declare function AnsiPrev alias "CharPrevA"(byval lpszStart as LPCSTR, byval lpszCurrent as LPCSTR) as LPSTR 2851 declare function IsCharAlphaA(byval ch as CHAR) as WINBOOL 2852 2853 #ifndef UNICODE 2854 declare function IsCharAlpha alias "IsCharAlphaA"(byval ch as CHAR) as WINBOOL 2855 #endif 2856 2857 declare function IsCharAlphaW(byval ch as WCHAR) as WINBOOL 2858 2859 #ifdef UNICODE 2860 declare function IsCharAlpha alias "IsCharAlphaW"(byval ch as WCHAR) as WINBOOL 2861 #endif 2862 2863 declare function IsCharAlphaNumericA(byval ch as CHAR) as WINBOOL 2864 2865 #ifndef UNICODE 2866 declare function IsCharAlphaNumeric alias "IsCharAlphaNumericA"(byval ch as CHAR) as WINBOOL 2867 #endif 2868 2869 declare function IsCharAlphaNumericW(byval ch as WCHAR) as WINBOOL 2870 2871 #ifdef UNICODE 2872 declare function IsCharAlphaNumeric alias "IsCharAlphaNumericW"(byval ch as WCHAR) as WINBOOL 2873 #endif 2874 2875 declare function IsCharUpperA(byval ch as CHAR) as WINBOOL 2876 2877 #ifndef UNICODE 2878 declare function IsCharUpper alias "IsCharUpperA"(byval ch as CHAR) as WINBOOL 2879 #endif 2880 2881 declare function IsCharUpperW(byval ch as WCHAR) as WINBOOL 2882 2883 #ifdef UNICODE 2884 declare function IsCharUpper alias "IsCharUpperW"(byval ch as WCHAR) as WINBOOL 2885 #endif 2886 2887 declare function IsCharLowerA(byval ch as CHAR) as WINBOOL 2888 2889 #ifndef UNICODE 2890 declare function IsCharLower alias "IsCharLowerA"(byval ch as CHAR) as WINBOOL 2891 #endif 2892 2893 declare function IsCharLowerW(byval ch as WCHAR) as WINBOOL 2894 2895 #ifdef UNICODE 2896 declare function IsCharLower alias "IsCharLowerW"(byval ch as WCHAR) as WINBOOL 2897 #endif 2898 2899 declare function SetFocus(byval hWnd as HWND) as HWND 2900 declare function GetActiveWindow() as HWND 2901 declare function GetFocus() as HWND 2902 declare function GetKBCodePage() as UINT 2903 declare function GetKeyState(byval nVirtKey as long) as SHORT 2904 declare function GetAsyncKeyState(byval vKey as long) as SHORT 2905 declare function GetKeyboardState(byval lpKeyState as PBYTE) as WINBOOL 2906 declare function SetKeyboardState(byval lpKeyState as LPBYTE) as WINBOOL 2907 declare function GetKeyNameTextA(byval lParam as LONG, byval lpString as LPSTR, byval cchSize as long) as long 2908 2909 #ifndef UNICODE 2910 declare function GetKeyNameText alias "GetKeyNameTextA"(byval lParam as LONG, byval lpString as LPSTR, byval cchSize as long) as long 2911 #endif 2912 2913 declare function GetKeyNameTextW(byval lParam as LONG, byval lpString as LPWSTR, byval cchSize as long) as long 2914 2915 #ifdef UNICODE 2916 declare function GetKeyNameText alias "GetKeyNameTextW"(byval lParam as LONG, byval lpString as LPWSTR, byval cchSize as long) as long 2917 #endif 2918 2919 declare function GetKeyboardType(byval nTypeFlag as long) as long 2920 declare function ToAscii_ alias "ToAscii"(byval uVirtKey as UINT, byval uScanCode as UINT, byval lpKeyState as const UBYTE ptr, byval lpChar as LPWORD, byval uFlags as UINT) as long 2921 declare function ToAsciiEx(byval uVirtKey as UINT, byval uScanCode as UINT, byval lpKeyState as const UBYTE ptr, byval lpChar as LPWORD, byval uFlags as UINT, byval dwhkl as HKL) as long 2922 declare function ToUnicode(byval wVirtKey as UINT, byval wScanCode as UINT, byval lpKeyState as const UBYTE ptr, byval pwszBuff as LPWSTR, byval cchBuff as long, byval wFlags as UINT) as long 2923 declare function OemKeyScan(byval wOemChar as WORD) as DWORD 2924 declare function VkKeyScanA(byval ch as CHAR) as SHORT 2925 2926 #ifndef UNICODE 2927 declare function VkKeyScan alias "VkKeyScanA"(byval ch as CHAR) as SHORT 2928 #endif 2929 2930 declare function VkKeyScanW(byval ch as WCHAR) as SHORT 2931 2932 #ifdef UNICODE 2933 declare function VkKeyScan alias "VkKeyScanW"(byval ch as WCHAR) as SHORT 2934 #endif 2935 2936 declare function VkKeyScanExA(byval ch as CHAR, byval dwhkl as HKL) as SHORT 2937 2938 #ifndef UNICODE 2939 declare function VkKeyScanEx alias "VkKeyScanExA"(byval ch as CHAR, byval dwhkl as HKL) as SHORT 2940 #endif 2941 2942 declare function VkKeyScanExW(byval ch as WCHAR, byval dwhkl as HKL) as SHORT 2943 2944 #ifdef UNICODE 2945 declare function VkKeyScanEx alias "VkKeyScanExW"(byval ch as WCHAR, byval dwhkl as HKL) as SHORT 2946 #endif 2947 2948 declare sub keybd_event(byval bVk as UBYTE, byval bScan as UBYTE, byval dwFlags as DWORD, byval dwExtraInfo as ULONG_PTR) 2949 const KEYEVENTF_EXTENDEDKEY = &h0001 2950 const KEYEVENTF_KEYUP = &h0002 2951 const KEYEVENTF_UNICODE = &h0004 2952 const KEYEVENTF_SCANCODE = &h0008 2953 const MOUSEEVENTF_MOVE = &h0001 2954 const MOUSEEVENTF_LEFTDOWN = &h0002 2955 const MOUSEEVENTF_LEFTUP = &h0004 2956 const MOUSEEVENTF_RIGHTDOWN = &h0008 2957 const MOUSEEVENTF_RIGHTUP = &h0010 2958 const MOUSEEVENTF_MIDDLEDOWN = &h0020 2959 const MOUSEEVENTF_MIDDLEUP = &h0040 2960 const MOUSEEVENTF_XDOWN = &h0080 2961 const MOUSEEVENTF_XUP = &h0100 2962 const MOUSEEVENTF_WHEEL = &h0800 2963 2964 #if _WIN32_WINNT >= &h0600 2965 const MOUSEEVENTF_HWHEEL = &h01000 2966 const MOUSEEVENTF_MOVE_NOCOALESCE = &h2000 2967 #endif 2968 2969 const MOUSEEVENTF_VIRTUALDESK = &h4000 2970 const MOUSEEVENTF_ABSOLUTE = &h8000 2971 const INPUT_MOUSE = 0 2972 const INPUT_KEYBOARD = 1 2973 const INPUT_HARDWARE = 2 2974 2975 #if _WIN32_WINNT >= &h0601 2976 #define TOUCH_COORD_TO_PIXEL(l) ((l) / 100) 2977 const TOUCHEVENTF_MOVE = &h0001 2978 const TOUCHEVENTF_DOWN = &h0002 2979 const TOUCHEVENTF_UP = &h0004 2980 const TOUCHEVENTF_INRANGE = &h0008 2981 const TOUCHEVENTF_PRIMARY = &h0010 2982 const TOUCHEVENTF_NOCOALESCE = &h0020 2983 const TOUCHEVENTF_PEN = &h0040 2984 const TOUCHEVENTF_PALM = &h0080 2985 const TOUCHINPUTMASKF_TIMEFROMSYSTEM = &h0001 2986 const TOUCHINPUTMASKF_EXTRAINFO = &h0002 2987 const TOUCHINPUTMASKF_CONTACTAREA = &h0004 2988 const TWF_FINETOUCH = &h00000001 2989 const TWF_WANTPALM = &h00000002 2990 #endif 2991 2992 #if _WIN32_WINNT = &h0602 2993 const POINTER_FLAG_NONE = &h00000000 2994 const POINTER_FLAG_NEW = &h00000001 2995 const POINTER_FLAG_INRANGE = &h00000002 2996 const POINTER_FLAG_INCONTACT = &h00000004 2997 const POINTER_FLAG_FIRSTBUTTON = &h00000010 2998 const POINTER_FLAG_SECONDBUTTON = &h00000020 2999 const POINTER_FLAG_THIRDBUTTON = &h00000040 3000 const POINTER_FLAG_FOURTHBUTTON = &h00000080 3001 const POINTER_FLAG_FIFTHBUTTON = &h00000100 3002 const POINTER_FLAG_PRIMARY = &h00002000 3003 const POINTER_FLAG_CONFIDENCE = &h00004000 3004 const POINTER_FLAG_CANCELED = &h00008000 3005 const POINTER_FLAG_DOWN = &h00010000 3006 const POINTER_FLAG_UPDATE = &h00020000 3007 const POINTER_FLAG_UP = &h00040000 3008 const POINTER_FLAG_WHEEL = &h00080000 3009 const POINTER_FLAG_HWHEEL = &h00100000 3010 const POINTER_FLAG_CAPTURECHANGED = &h00200000 3011 const POINTER_MOD_SHIFT = &h0004 3012 const POINTER_MOD_CTRL = &h0008 3013 const TOUCH_FLAG_NONE = &h00000000 3014 const TOUCH_MASK_NONE = &h00000000 3015 const TOUCH_MASK_CONTACTAREA = &h00000001 3016 const TOUCH_MASK_ORIENTATION = &h00000002 3017 const TOUCH_MASK_PRESSURE = &h00000004 3018 const PEN_FLAG_NONE = &h00000000 3019 const PEN_FLAG_BARREL = &h00000001 3020 const PEN_FLAG_INVERTED = &h00000002 3021 const PEN_FLAG_ERASER = &h00000004 3022 const PEN_MASK_NONE = &h00000000 3023 const PEN_MASK_PRESSURE = &h00000001 3024 const PEN_MASK_ROTATION = &h00000002 3025 const PEN_MASK_TILT_X = &h00000004 3026 const PEN_MASK_TILT_Y = &h00000008 3027 const POINTER_MESSAGE_FLAG_NEW = &h00000001 3028 const POINTER_MESSAGE_FLAG_INRANGE = &h00000002 3029 const POINTER_MESSAGE_FLAG_INCONTACT = &h00000004 3030 const POINTER_MESSAGE_FLAG_FIRSTBUTTON = &h00000010 3031 const POINTER_MESSAGE_FLAG_SECONDBUTTON = &h00000020 3032 const POINTER_MESSAGE_FLAG_THIRDBUTTON = &h00000040 3033 const POINTER_MESSAGE_FLAG_FOURTHBUTTON = &h00000080 3034 const POINTER_MESSAGE_FLAG_FIFTHBUTTON = &h00000100 3035 const POINTER_MESSAGE_FLAG_PRIMARY = &h00002000 3036 const POINTER_MESSAGE_FLAG_CONFIDENCE = &h00004000 3037 const POINTER_MESSAGE_FLAG_CANCELED = &h00008000 3038 #define GET_POINTERID_WPARAM(wParam) LOWORD(wParam) 3039 #define IS_POINTER_FLAG_SET_WPARAM(wParam, flag) ((cast(DWORD, HIWORD(wParam)) and (flag)) = (flag)) 3040 #define IS_POINTER_NEW_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_NEW) 3041 #define IS_POINTER_INRANGE_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_INRANGE) 3042 #define IS_POINTER_INCONTACT_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_INCONTACT) 3043 #define IS_POINTER_FIRSTBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FIRSTBUTTON) 3044 #define IS_POINTER_SECONDBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_SECONDBUTTON) 3045 #define IS_POINTER_THIRDBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_THIRDBUTTON) 3046 #define IS_POINTER_FOURTHBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FOURTHBUTTON) 3047 #define IS_POINTER_FIFTHBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FIFTHBUTTON) 3048 #define IS_POINTER_PRIMARY_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_PRIMARY) 3049 #define HAS_POINTER_CONFIDENCE_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_CONFIDENCE) 3050 #define IS_POINTER_CANCELED_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_CANCELED) 3051 const PA_ACTIVATE = MA_ACTIVATE 3052 const PA_NOACTIVATE = MA_NOACTIVATE 3053 const MAX_TOUCH_COUNT = 256 3054 const TOUCH_FEEDBACK_DEFAULT = &h1 3055 const TOUCH_FEEDBACK_INDIRECT = &h2 3056 const TOUCH_FEEDBACK_NONE = &h3 3057 const TOUCH_HIT_TESTING_DEFAULT = &h0 3058 const TOUCH_HIT_TESTING_CLIENT = &h1 3059 const TOUCH_HIT_TESTING_NONE = &h2 3060 const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST = &h0 3061 const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST = &hfff 3062 const GWFS_INCLUDE_ANCESTORS = &h00000001 3063 #endif 3064 3065 declare sub mouse_event(byval dwFlags as DWORD, byval dx as DWORD, byval dy as DWORD, byval dwData as DWORD, byval dwExtraInfo as ULONG_PTR) 3066 3067 type tagMOUSEINPUT 3068 dx as LONG 3069 dy as LONG 3070 mouseData as DWORD 3071 dwFlags as DWORD 3072 time as DWORD 3073 dwExtraInfo as ULONG_PTR 3074 end type 3075 3076 type MOUSEINPUT as tagMOUSEINPUT 3077 type PMOUSEINPUT as tagMOUSEINPUT ptr 3078 type LPMOUSEINPUT as tagMOUSEINPUT ptr 3079 3080 type tagKEYBDINPUT 3081 wVk as WORD 3082 wScan as WORD 3083 dwFlags as DWORD 3084 time as DWORD 3085 dwExtraInfo as ULONG_PTR 3086 end type 3087 3088 type KEYBDINPUT as tagKEYBDINPUT 3089 type PKEYBDINPUT as tagKEYBDINPUT ptr 3090 type LPKEYBDINPUT as tagKEYBDINPUT ptr 3091 3092 type tagHARDWAREINPUT 3093 uMsg as DWORD 3094 wParamL as WORD 3095 wParamH as WORD 3096 end type 3097 3098 type HARDWAREINPUT as tagHARDWAREINPUT 3099 type PHARDWAREINPUT as tagHARDWAREINPUT ptr 3100 type LPHARDWAREINPUT as tagHARDWAREINPUT ptr 3101 3102 type tagINPUT 3103 as DWORD type 3104 3105 union 3106 mi as MOUSEINPUT 3107 ki as KEYBDINPUT 3108 hi as HARDWAREINPUT 3109 end union 3110 end type 3111 3112 type INPUT_ as tagINPUT 3113 type PINPUT as tagINPUT ptr 3114 type LPINPUT as tagINPUT ptr 3115 declare function SendInput(byval cInputs as UINT, byval pInputs as LPINPUT, byval cbSize as long) as UINT 3116 3117 #if _WIN32_WINNT >= &h0601 3118 type HTOUCHINPUT__ 3119 unused as long 3120 end type 3121 3122 type HTOUCHINPUT as HTOUCHINPUT__ ptr 3123 3124 type tagTOUCHINPUT 3125 x as LONG 3126 y as LONG 3127 hSource as HANDLE 3128 dwID as DWORD 3129 dwFlags as DWORD 3130 dwMask as DWORD 3131 dwTime as DWORD 3132 dwExtraInfo as ULONG_PTR 3133 cxContact as DWORD 3134 cyContact as DWORD 3135 end type 3136 3137 type TOUCHINPUT as tagTOUCHINPUT 3138 type PTOUCHINPUT as tagTOUCHINPUT ptr 3139 type PCTOUCHINPUT as const TOUCHINPUT ptr 3140 3141 declare function GetTouchInputInfo(byval hTouchInput as HTOUCHINPUT, byval cInputs as UINT, byval pInputs as PTOUCHINPUT, byval cbSize as long) as WINBOOL 3142 declare function CloseTouchInputHandle(byval hTouchInput as HTOUCHINPUT) as WINBOOL 3143 declare function RegisterTouchWindow(byval hwnd as HWND, byval ulFlags as ULONG) as WINBOOL 3144 declare function UnregisterTouchWindow(byval hwnd as HWND) as WINBOOL 3145 declare function IsTouchWindow(byval hwnd as HWND, byval pulFlags as PULONG) as WINBOOL 3146 #endif 3147 3148 #if _WIN32_WINNT = &h0602 3149 type POINTER_INPUT_TYPE as DWORD 3150 type POINTER_FLAGS as UINT32 3151 type TOUCH_FLAGS as UINT32 3152 type TOUCH_MASK as UINT32 3153 type PEN_FLAGS as UINT32 3154 type PEN_MASK as UINT32 3155 3156 type tagPOINTER_INPUT_TYPE as long 3157 enum 3158 PT_POINTER = &h00000001 3159 PT_TOUCH = &h00000002 3160 PT_PEN = &h00000003 3161 PT_MOUSE = &h00000004 3162 end enum 3163 3164 type tagFEEDBACK_TYPE as long 3165 enum 3166 FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1 3167 FEEDBACK_PEN_BARRELVISUALIZATION = 2 3168 FEEDBACK_PEN_TAP = 3 3169 FEEDBACK_PEN_DOUBLETAP = 4 3170 FEEDBACK_PEN_PRESSANDHOLD = 5 3171 FEEDBACK_PEN_RIGHTTAP = 6 3172 FEEDBACK_TOUCH_TAP = 7 3173 FEEDBACK_TOUCH_DOUBLETAP = 8 3174 FEEDBACK_TOUCH_PRESSANDHOLD = 9 3175 FEEDBACK_TOUCH_RIGHTTAP = 10 3176 FEEDBACK_GESTURE_PRESSANDTAP = 11 3177 FEEDBACK_MAX = &hffffffff 3178 end enum 3179 3180 type FEEDBACK_TYPE as tagFEEDBACK_TYPE 3181 3182 type tagPOINTER_BUTTON_CHANGE_TYPE as long 3183 enum 3184 POINTER_CHANGE_NONE 3185 POINTER_CHANGE_FIRSTBUTTON_DOWN 3186 POINTER_CHANGE_FIRSTBUTTON_UP 3187 POINTER_CHANGE_SECONDBUTTON_DOWN 3188 POINTER_CHANGE_SECONDBUTTON_UP 3189 POINTER_CHANGE_THIRDBUTTON_DOWN 3190 POINTER_CHANGE_THIRDBUTTON_UP 3191 POINTER_CHANGE_FOURTHBUTTON_DOWN 3192 POINTER_CHANGE_FOURTHBUTTON_UP 3193 POINTER_CHANGE_FIFTHBUTTON_DOWN 3194 POINTER_CHANGE_FIFTHBUTTON_UP 3195 end enum 3196 3197 type POINTER_BUTTON_CHANGE_TYPE as tagPOINTER_BUTTON_CHANGE_TYPE 3198 3199 type tagPOINTER_INFO 3200 pointerType as POINTER_INPUT_TYPE 3201 pointerId as UINT32 3202 frameId as UINT32 3203 pointerFlags as POINTER_FLAGS 3204 sourceDevice as HANDLE 3205 hwndTarget as HWND 3206 ptPixelLocation as POINT 3207 ptHimetricLocation as POINT 3208 ptPixelLocationRaw as POINT 3209 ptHimetricLocationRaw as POINT 3210 dwTime as DWORD 3211 historyCount as UINT32 3212 InputData as INT32 3213 dwKeyStates as DWORD 3214 PerformanceCount as UINT64 3215 ButtonChangeType as POINTER_BUTTON_CHANGE_TYPE 3216 end type 3217 3218 type POINTER_INFO as tagPOINTER_INFO 3219 3220 type tagPOINTER_TOUCH_INFO 3221 pointerInfo as POINTER_INFO 3222 touchFlags as TOUCH_FLAGS 3223 touchMask as TOUCH_MASK 3224 rcContact as RECT 3225 rcContactRaw as RECT 3226 orientation as UINT32 3227 pressure as UINT32 3228 end type 3229 3230 type POINTER_TOUCH_INFO as tagPOINTER_TOUCH_INFO 3231 3232 type tagPOINTER_PEN_INFO 3233 pointerInfo as POINTER_INFO 3234 penFlags as PEN_FLAGS 3235 penMask as PEN_MASK 3236 pressure as UINT32 3237 rotation as UINT32 3238 tiltX as INT32 3239 tiltY as INT32 3240 end type 3241 3242 type POINTER_PEN_INFO as tagPOINTER_PEN_INFO 3243 3244 type tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION 3245 score as UINT16 3246 adjustedPoint as POINT 3247 end type 3248 3249 type TOUCH_HIT_TESTING_PROXIMITY_EVALUATION as tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION 3250 type PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION as tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION ptr 3251 3252 type tagTOUCH_HIT_TESTING_INPUT 3253 pointerId as UINT32 3254 point as POINT 3255 boundingBox as RECT 3256 nonOccludedBoundingBox as RECT 3257 orientation as UINT32 3258 end type 3259 3260 type TOUCH_HIT_TESTING_INPUT as tagTOUCH_HIT_TESTING_INPUT 3261 type PTOUCH_HIT_TESTING_INPUT as tagTOUCH_HIT_TESTING_INPUT ptr 3262 declare function InitializeTouchInjection(byval maxCount as UINT32, byval dwMode as DWORD) as WINBOOL 3263 declare function InjectTouchInput(byval count as UINT32, byval contacts as const POINTER_TOUCH_INFO ptr) as WINBOOL 3264 declare function GetPointerType(byval pointerId as UINT32, byval pointerType as POINTER_INPUT_TYPE ptr) as WINBOOL 3265 declare function GetPointerCursorId(byval pointerId as UINT32, byval cursorId as UINT32 ptr) as WINBOOL 3266 declare function GetPointerInfo(byval pointerId as UINT32, byval pointerInfo as POINTER_INFO ptr) as WINBOOL 3267 declare function GetPointerInfoHistory(byval pointerId as UINT32, byval entriesCount as UINT32 ptr, byval pointerInfo as POINTER_INFO ptr) as WINBOOL 3268 declare function GetPointerFrameInfo(byval pointerId as UINT32, byval pointerCount as UINT32 ptr, byval pointerInfo as POINTER_INFO ptr) as WINBOOL 3269 declare function GetPointerFrameInfoHistory(byval pointerId as UINT32, byval entriesCount as UINT32 ptr, byval pointerCount as UINT32 ptr, byval pointerInfo as POINTER_INFO ptr) as WINBOOL 3270 declare function GetPointerTouchInfo(byval pointerId as UINT32, byval touchInfo as POINTER_TOUCH_INFO ptr) as WINBOOL 3271 declare function GetPointerTouchInfoHistory(byval pointerId as UINT32, byval entriesCount as UINT32 ptr, byval touchInfo as POINTER_TOUCH_INFO ptr) as WINBOOL 3272 declare function GetPointerFrameTouchInfo(byval pointerId as UINT32, byval pointerCount as UINT32 ptr, byval touchInfo as POINTER_TOUCH_INFO ptr) as WINBOOL 3273 declare function GetPointerFrameTouchInfoHistory(byval pointerId as UINT32, byval entriesCount as UINT32 ptr, byval pointerCount as UINT32 ptr, byval touchInfo as POINTER_TOUCH_INFO ptr) as WINBOOL 3274 declare function GetPointerPenInfo(byval pointerId as UINT32, byval penInfo as POINTER_PEN_INFO ptr) as WINBOOL 3275 declare function GetPointerPenInfoHistory(byval pointerId as UINT32, byval entriesCount as UINT32 ptr, byval penInfo as POINTER_PEN_INFO ptr) as WINBOOL 3276 declare function GetPointerFramePenInfo(byval pointerId as UINT32, byval pointerCount as UINT32 ptr, byval penInfo as POINTER_PEN_INFO ptr) as WINBOOL 3277 declare function GetPointerFramePenInfoHistory(byval pointerId as UINT32, byval entriesCount as UINT32 ptr, byval pointerCount as UINT32 ptr, byval penInfo as POINTER_PEN_INFO ptr) as WINBOOL 3278 declare function SkipPointerFrameMessages(byval pointerId as UINT32) as WINBOOL 3279 declare function RegisterPointerInputTarget(byval hwnd as HWND, byval pointerType as POINTER_INPUT_TYPE) as WINBOOL 3280 declare function UnregisterPointerInputTarget(byval hwnd as HWND, byval pointerType as POINTER_INPUT_TYPE) as WINBOOL 3281 declare function EnableMouseInPointer(byval fEnable as WINBOOL) as WINBOOL 3282 declare function IsMouseInPointerEnabled() as WINBOOL 3283 declare function RegisterTouchHitTestingWindow(byval hwnd as HWND, byval value as ULONG) as WINBOOL 3284 declare function EvaluateProximityToRect(byval controlBoundingBox as const RECT ptr, byval pHitTestingInput as const TOUCH_HIT_TESTING_INPUT ptr, byval pProximityEval as TOUCH_HIT_TESTING_PROXIMITY_EVALUATION ptr) as WINBOOL 3285 declare function EvaluateProximityToPolygon(byval numVertices as UINT32, byval controlPolygon as const POINT ptr, byval pHitTestingInput as const TOUCH_HIT_TESTING_INPUT ptr, byval pProximityEval as TOUCH_HIT_TESTING_PROXIMITY_EVALUATION ptr) as WINBOOL 3286 declare function PackTouchHitTestingProximityEvaluation(byval pHitTestingInput as const TOUCH_HIT_TESTING_INPUT ptr, byval pProximityEval as const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION ptr) as LRESULT 3287 declare function GetWindowFeedbackSetting(byval hwnd as HWND, byval feedback as FEEDBACK_TYPE, byval dwFlags as DWORD, byval pSize as UINT32 ptr, byval config as any ptr) as WINBOOL 3288 declare function SetWindowFeedbackSetting(byval hwnd as HWND, byval feedback as FEEDBACK_TYPE, byval dwFlags as DWORD, byval size as UINT32, byval configuration as const any ptr) as WINBOOL 3289 #endif 3290 3291 type tagLASTINPUTINFO 3292 cbSize as UINT 3293 dwTime as DWORD 3294 end type 3295 3296 type LASTINPUTINFO as tagLASTINPUTINFO 3297 type PLASTINPUTINFO as tagLASTINPUTINFO ptr 3298 declare function GetLastInputInfo(byval plii as PLASTINPUTINFO) as WINBOOL 3299 declare function MapVirtualKeyA(byval uCode as UINT, byval uMapType as UINT) as UINT 3300 3301 #ifndef UNICODE 3302 declare function MapVirtualKey alias "MapVirtualKeyA"(byval uCode as UINT, byval uMapType as UINT) as UINT 3303 #endif 3304 3305 declare function MapVirtualKeyW(byval uCode as UINT, byval uMapType as UINT) as UINT 3306 3307 #ifdef UNICODE 3308 declare function MapVirtualKey alias "MapVirtualKeyW"(byval uCode as UINT, byval uMapType as UINT) as UINT 3309 #endif 3310 3311 declare function MapVirtualKeyExA(byval uCode as UINT, byval uMapType as UINT, byval dwhkl as HKL) as UINT 3312 3313 #ifndef UNICODE 3314 declare function MapVirtualKeyEx alias "MapVirtualKeyExA"(byval uCode as UINT, byval uMapType as UINT, byval dwhkl as HKL) as UINT 3315 #endif 3316 3317 declare function MapVirtualKeyExW(byval uCode as UINT, byval uMapType as UINT, byval dwhkl as HKL) as UINT 3318 3319 #ifdef UNICODE 3320 declare function MapVirtualKeyEx alias "MapVirtualKeyExW"(byval uCode as UINT, byval uMapType as UINT, byval dwhkl as HKL) as UINT 3321 #endif 3322 3323 declare function GetInputState() as WINBOOL 3324 declare function GetQueueStatus(byval flags as UINT) as DWORD 3325 declare function GetCapture() as HWND 3326 declare function SetCapture(byval hWnd as HWND) as HWND 3327 declare function ReleaseCapture() as WINBOOL 3328 declare function MsgWaitForMultipleObjects(byval nCount as DWORD, byval pHandles as const HANDLE ptr, byval fWaitAll as WINBOOL, byval dwMilliseconds as DWORD, byval dwWakeMask as DWORD) as DWORD 3329 declare function MsgWaitForMultipleObjectsEx(byval nCount as DWORD, byval pHandles as const HANDLE ptr, byval dwMilliseconds as DWORD, byval dwWakeMask as DWORD, byval dwFlags as DWORD) as DWORD 3330 3331 const MAPVK_VK_TO_VSC = 0 3332 const MAPVK_VSC_TO_VK = 1 3333 const MAPVK_VK_TO_CHAR = 2 3334 const MAPVK_VSC_TO_VK_EX = 3 3335 3336 #if _WIN32_WINNT >= &h0600 3337 const MAPVK_VK_TO_VSC_EX = 4 3338 #endif 3339 3340 const MWMO_WAITALL = &h0001 3341 const MWMO_ALERTABLE = &h0002 3342 const MWMO_INPUTAVAILABLE = &h0004 3343 const QS_KEY = &h0001 3344 const QS_MOUSEMOVE = &h0002 3345 const QS_MOUSEBUTTON = &h0004 3346 const QS_POSTMESSAGE = &h0008 3347 const QS_TIMER = &h0010 3348 const QS_PAINT = &h0020 3349 const QS_SENDMESSAGE = &h0040 3350 const QS_HOTKEY = &h0080 3351 const QS_ALLPOSTMESSAGE = &h0100 3352 const QS_RAWINPUT = &h0400 3353 3354 #if _WIN32_WINNT = &h0602 3355 const QS_TOUCH = &h0800 3356 const QS_POINTER = &h1000 3357 #endif 3358 3359 const QS_MOUSE = QS_MOUSEMOVE or QS_MOUSEBUTTON 3360 3361 #if _WIN32_WINNT = &h0602 3362 const QS_INPUT = (((QS_MOUSE or QS_KEY) or QS_RAWINPUT) or QS_TOUCH) or QS_POINTER 3363 #else 3364 const QS_INPUT = (QS_MOUSE or QS_KEY) or QS_RAWINPUT 3365 #endif 3366 3367 const QS_ALLEVENTS = (((QS_INPUT or QS_POSTMESSAGE) or QS_TIMER) or QS_PAINT) or QS_HOTKEY 3368 const QS_ALLINPUT = ((((QS_INPUT or QS_POSTMESSAGE) or QS_TIMER) or QS_PAINT) or QS_HOTKEY) or QS_SENDMESSAGE 3369 const USER_TIMER_MAXIMUM = &h7FFFFFFF 3370 const USER_TIMER_MINIMUM = &h0000000A 3371 3372 #if _WIN32_WINNT >= &h0601 3373 const TIMERV_DEFAULT_COALESCING = 0 3374 const TIMERV_NO_COALESCING = &hffffffff 3375 const TIMERV_COALESCING_MIN = 1 3376 const TIMERV_COALESCING_MAX = &h7ffffff5 3377 #endif 3378 3379 declare function SetTimer(byval hWnd as HWND, byval nIDEvent as UINT_PTR, byval uElapse as UINT, byval lpTimerFunc as TIMERPROC) as UINT_PTR 3380 declare function KillTimer(byval hWnd as HWND, byval uIDEvent as UINT_PTR) as WINBOOL 3381 declare function IsWindowUnicode(byval hWnd as HWND) as WINBOOL 3382 declare function EnableWindow(byval hWnd as HWND, byval bEnable as WINBOOL) as WINBOOL 3383 declare function IsWindowEnabled(byval hWnd as HWND) as WINBOOL 3384 declare function LoadAcceleratorsA(byval hInstance as HINSTANCE, byval lpTableName as LPCSTR) as HACCEL 3385 3386 #ifndef UNICODE 3387 declare function LoadAccelerators alias "LoadAcceleratorsA"(byval hInstance as HINSTANCE, byval lpTableName as LPCSTR) as HACCEL 3388 #endif 3389 3390 declare function LoadAcceleratorsW(byval hInstance as HINSTANCE, byval lpTableName as LPCWSTR) as HACCEL 3391 3392 #ifdef UNICODE 3393 declare function LoadAccelerators alias "LoadAcceleratorsW"(byval hInstance as HINSTANCE, byval lpTableName as LPCWSTR) as HACCEL 3394 #endif 3395 3396 declare function CreateAcceleratorTableA(byval paccel as LPACCEL, byval cAccel as long) as HACCEL 3397 3398 #ifndef UNICODE 3399 declare function CreateAcceleratorTable alias "CreateAcceleratorTableA"(byval paccel as LPACCEL, byval cAccel as long) as HACCEL 3400 #endif 3401 3402 declare function CreateAcceleratorTableW(byval paccel as LPACCEL, byval cAccel as long) as HACCEL 3403 3404 #ifdef UNICODE 3405 declare function CreateAcceleratorTable alias "CreateAcceleratorTableW"(byval paccel as LPACCEL, byval cAccel as long) as HACCEL 3406 #endif 3407 3408 declare function DestroyAcceleratorTable(byval hAccel as HACCEL) as WINBOOL 3409 declare function CopyAcceleratorTableA(byval hAccelSrc as HACCEL, byval lpAccelDst as LPACCEL, byval cAccelEntries as long) as long 3410 3411 #ifndef UNICODE 3412 declare function CopyAcceleratorTable alias "CopyAcceleratorTableA"(byval hAccelSrc as HACCEL, byval lpAccelDst as LPACCEL, byval cAccelEntries as long) as long 3413 #endif 3414 3415 declare function CopyAcceleratorTableW(byval hAccelSrc as HACCEL, byval lpAccelDst as LPACCEL, byval cAccelEntries as long) as long 3416 3417 #ifdef UNICODE 3418 declare function CopyAcceleratorTable alias "CopyAcceleratorTableW"(byval hAccelSrc as HACCEL, byval lpAccelDst as LPACCEL, byval cAccelEntries as long) as long 3419 #endif 3420 3421 declare function TranslateAcceleratorA(byval hWnd as HWND, byval hAccTable as HACCEL, byval lpMsg as LPMSG) as long 3422 3423 #ifndef UNICODE 3424 declare function TranslateAccelerator alias "TranslateAcceleratorA"(byval hWnd as HWND, byval hAccTable as HACCEL, byval lpMsg as LPMSG) as long 3425 #endif 3426 3427 declare function TranslateAcceleratorW(byval hWnd as HWND, byval hAccTable as HACCEL, byval lpMsg as LPMSG) as long 3428 3429 #ifdef UNICODE 3430 declare function TranslateAccelerator alias "TranslateAcceleratorW"(byval hWnd as HWND, byval hAccTable as HACCEL, byval lpMsg as LPMSG) as long 3431 #endif 3432 3433 #if _WIN32_WINNT >= &h0601 3434 declare function SetCoalescableTimer(byval hWnd as HWND, byval nIDEvent as UINT_PTR, byval uElapse as UINT, byval lpTimerFunc as TIMERPROC, byval uToleranceDelay as ULONG) as UINT_PTR 3435 #endif 3436 3437 const SM_CXSCREEN = 0 3438 const SM_CYSCREEN = 1 3439 const SM_CXVSCROLL = 2 3440 const SM_CYHSCROLL = 3 3441 const SM_CYCAPTION = 4 3442 const SM_CXBORDER = 5 3443 const SM_CYBORDER = 6 3444 const SM_CXDLGFRAME = 7 3445 const SM_CYDLGFRAME = 8 3446 const SM_CYVTHUMB = 9 3447 const SM_CXHTHUMB = 10 3448 const SM_CXICON = 11 3449 const SM_CYICON = 12 3450 const SM_CXCURSOR = 13 3451 const SM_CYCURSOR = 14 3452 const SM_CYMENU = 15 3453 const SM_CXFULLSCREEN = 16 3454 const SM_CYFULLSCREEN = 17 3455 const SM_CYKANJIWINDOW = 18 3456 const SM_MOUSEPRESENT = 19 3457 const SM_CYVSCROLL = 20 3458 const SM_CXHSCROLL = 21 3459 const SM_DEBUG = 22 3460 const SM_SWAPBUTTON = 23 3461 const SM_RESERVED1 = 24 3462 const SM_RESERVED2 = 25 3463 const SM_RESERVED3 = 26 3464 const SM_RESERVED4 = 27 3465 const SM_CXMIN = 28 3466 const SM_CYMIN = 29 3467 const SM_CXSIZE = 30 3468 const SM_CYSIZE = 31 3469 const SM_CXFRAME = 32 3470 const SM_CYFRAME = 33 3471 const SM_CXMINTRACK = 34 3472 const SM_CYMINTRACK = 35 3473 const SM_CXDOUBLECLK = 36 3474 const SM_CYDOUBLECLK = 37 3475 const SM_CXICONSPACING = 38 3476 const SM_CYICONSPACING = 39 3477 const SM_MENUDROPALIGNMENT = 40 3478 const SM_PENWINDOWS = 41 3479 const SM_DBCSENABLED = 42 3480 const SM_CMOUSEBUTTONS = 43 3481 const SM_CXFIXEDFRAME = SM_CXDLGFRAME 3482 const SM_CYFIXEDFRAME = SM_CYDLGFRAME 3483 const SM_CXSIZEFRAME = SM_CXFRAME 3484 const SM_CYSIZEFRAME = SM_CYFRAME 3485 const SM_SECURE = 44 3486 const SM_CXEDGE = 45 3487 const SM_CYEDGE = 46 3488 const SM_CXMINSPACING = 47 3489 const SM_CYMINSPACING = 48 3490 const SM_CXSMICON = 49 3491 const SM_CYSMICON = 50 3492 const SM_CYSMCAPTION = 51 3493 const SM_CXSMSIZE = 52 3494 const SM_CYSMSIZE = 53 3495 const SM_CXMENUSIZE = 54 3496 const SM_CYMENUSIZE = 55 3497 const SM_ARRANGE = 56 3498 const SM_CXMINIMIZED = 57 3499 const SM_CYMINIMIZED = 58 3500 const SM_CXMAXTRACK = 59 3501 const SM_CYMAXTRACK = 60 3502 const SM_CXMAXIMIZED = 61 3503 const SM_CYMAXIMIZED = 62 3504 const SM_NETWORK = 63 3505 const SM_CLEANBOOT = 67 3506 const SM_CXDRAG = 68 3507 const SM_CYDRAG = 69 3508 const SM_SHOWSOUNDS = 70 3509 const SM_CXMENUCHECK = 71 3510 const SM_CYMENUCHECK = 72 3511 const SM_SLOWMACHINE = 73 3512 const SM_MIDEASTENABLED = 74 3513 const SM_MOUSEWHEELPRESENT = 75 3514 const SM_XVIRTUALSCREEN = 76 3515 const SM_YVIRTUALSCREEN = 77 3516 const SM_CXVIRTUALSCREEN = 78 3517 const SM_CYVIRTUALSCREEN = 79 3518 const SM_CMONITORS = 80 3519 const SM_SAMEDISPLAYFORMAT = 81 3520 const SM_IMMENABLED = 82 3521 const SM_CXFOCUSBORDER = 83 3522 const SM_CYFOCUSBORDER = 84 3523 const SM_TABLETPC = 86 3524 const SM_MEDIACENTER = 87 3525 const SM_STARTER = 88 3526 const SM_SERVERR2 = 89 3527 3528 #if _WIN32_WINNT <= &h0501 3529 const SM_CMETRICS = 91 3530 #elseif (not defined(__FB_64BIT__)) and defined(UNICODE) and (_WIN32_WINNT = &h0502) 3531 const SM_CMETRICS = 97 3532 #elseif _WIN32_WINNT >= &h0600 3533 const SM_MOUSEHORIZONTALWHEELPRESENT = 91 3534 const SM_CXPADDEDBORDER = 92 3535 #endif 3536 3537 #if _WIN32_WINNT = &h0600 3538 const SM_CMETRICS = 93 3539 #elseif _WIN32_WINNT >= &h0601 3540 const SM_DIGITIZER = 94 3541 const SM_MAXIMUMTOUCHES = 95 3542 #endif 3543 3544 #if ((not defined(UNICODE)) and ((_WIN32_WINNT = &h0502) or (_WIN32_WINNT >= &h0601))) or (defined(UNICODE) and ((defined(__FB_64BIT__) and ((_WIN32_WINNT = &h0502) or (_WIN32_WINNT >= &h0601))) or ((not defined(__FB_64BIT__)) and (_WIN32_WINNT >= &h0601)))) 3545 const SM_CMETRICS = 97 3546 #endif 3547 3548 const SM_REMOTESESSION = &h1000 3549 const SM_SHUTTINGDOWN = &h2000 3550 const SM_REMOTECONTROL = &h2001 3551 const SM_CARETBLINKINGENABLED = &h2002 3552 3553 #if _WIN32_WINNT = &h0602 3554 const SM_CONVERTIBLESLATEMODE = &h2003 3555 const SM_SYSTEMDOCKED = &h2004 3556 #endif 3557 3558 declare function GetSystemMetrics(byval nIndex as long) as long 3559 const PMB_ACTIVE = &h00000001 3560 const MNC_IGNORE = 0 3561 const MNC_CLOSE = 1 3562 const MNC_EXECUTE = 2 3563 const MNC_SELECT = 3 3564 const MNS_NOCHECK = &h80000000 3565 const MNS_MODELESS = &h40000000 3566 const MNS_DRAGDROP = &h20000000 3567 const MNS_AUTODISMISS = &h10000000 3568 const MNS_NOTIFYBYPOS = &h08000000 3569 const MNS_CHECKORBMP = &h04000000 3570 const MIM_MAXHEIGHT = &h00000001 3571 const MIM_BACKGROUND = &h00000002 3572 const MIM_HELPID = &h00000004 3573 const MIM_MENUDATA = &h00000008 3574 const MIM_STYLE = &h00000010 3575 const MIM_APPLYTOSUBMENUS = &h80000000 3576 const MND_CONTINUE = 0 3577 const MND_ENDMENU = 1 3578 const MNGOF_TOPGAP = &h00000001 3579 const MNGOF_BOTTOMGAP = &h00000002 3580 const MNGO_NOINTERFACE = &h00000000 3581 const MNGO_NOERROR = &h00000001 3582 const MIIM_STATE = &h00000001 3583 const MIIM_ID = &h00000002 3584 const MIIM_SUBMENU = &h00000004 3585 const MIIM_CHECKMARKS = &h00000008 3586 const MIIM_TYPE = &h00000010 3587 const MIIM_DATA = &h00000020 3588 const MIIM_STRING = &h00000040 3589 const MIIM_BITMAP = &h00000080 3590 const MIIM_FTYPE = &h00000100 3591 const HBMMENU_CALLBACK = cast(HBITMAP, -1) 3592 const HBMMENU_SYSTEM = cast(HBITMAP, 1) 3593 const HBMMENU_MBAR_RESTORE = cast(HBITMAP, 2) 3594 const HBMMENU_MBAR_MINIMIZE = cast(HBITMAP, 3) 3595 const HBMMENU_MBAR_CLOSE = cast(HBITMAP, 5) 3596 const HBMMENU_MBAR_CLOSE_D = cast(HBITMAP, 6) 3597 const HBMMENU_MBAR_MINIMIZE_D = cast(HBITMAP, 7) 3598 const HBMMENU_POPUP_CLOSE = cast(HBITMAP, 8) 3599 const HBMMENU_POPUP_RESTORE = cast(HBITMAP, 9) 3600 const HBMMENU_POPUP_MAXIMIZE = cast(HBITMAP, 10) 3601 const HBMMENU_POPUP_MINIMIZE = cast(HBITMAP, 11) 3602 declare function LoadMenuA(byval hInstance as HINSTANCE, byval lpMenuName as LPCSTR) as HMENU 3603 3604 #ifndef UNICODE 3605 declare function LoadMenu alias "LoadMenuA"(byval hInstance as HINSTANCE, byval lpMenuName as LPCSTR) as HMENU 3606 #endif 3607 3608 declare function LoadMenuW(byval hInstance as HINSTANCE, byval lpMenuName as LPCWSTR) as HMENU 3609 3610 #ifdef UNICODE 3611 declare function LoadMenu alias "LoadMenuW"(byval hInstance as HINSTANCE, byval lpMenuName as LPCWSTR) as HMENU 3612 #endif 3613 3614 declare function LoadMenuIndirectA(byval lpMenuTemplate as const MENUTEMPLATEA ptr) as HMENU 3615 3616 #ifndef UNICODE 3617 declare function LoadMenuIndirect alias "LoadMenuIndirectA"(byval lpMenuTemplate as const MENUTEMPLATEA ptr) as HMENU 3618 #endif 3619 3620 declare function LoadMenuIndirectW(byval lpMenuTemplate as const MENUTEMPLATEW ptr) as HMENU 3621 3622 #ifdef UNICODE 3623 declare function LoadMenuIndirect alias "LoadMenuIndirectW"(byval lpMenuTemplate as const MENUTEMPLATEW ptr) as HMENU 3624 #endif 3625 3626 declare function GetMenu(byval hWnd as HWND) as HMENU 3627 declare function SetMenu(byval hWnd as HWND, byval hMenu as HMENU) as WINBOOL 3628 declare function ChangeMenuA(byval hMenu as HMENU, byval cmd as UINT, byval lpszNewItem as LPCSTR, byval cmdInsert as UINT, byval flags as UINT) as WINBOOL 3629 3630 #ifndef UNICODE 3631 declare function ChangeMenu alias "ChangeMenuA"(byval hMenu as HMENU, byval cmd as UINT, byval lpszNewItem as LPCSTR, byval cmdInsert as UINT, byval flags as UINT) as WINBOOL 3632 #endif 3633 3634 declare function ChangeMenuW(byval hMenu as HMENU, byval cmd as UINT, byval lpszNewItem as LPCWSTR, byval cmdInsert as UINT, byval flags as UINT) as WINBOOL 3635 3636 #ifdef UNICODE 3637 declare function ChangeMenu alias "ChangeMenuW"(byval hMenu as HMENU, byval cmd as UINT, byval lpszNewItem as LPCWSTR, byval cmdInsert as UINT, byval flags as UINT) as WINBOOL 3638 #endif 3639 3640 declare function HiliteMenuItem(byval hWnd as HWND, byval hMenu as HMENU, byval uIDHiliteItem as UINT, byval uHilite as UINT) as WINBOOL 3641 declare function GetMenuStringA(byval hMenu as HMENU, byval uIDItem as UINT, byval lpString as LPSTR, byval cchMax as long, byval flags as UINT) as long 3642 3643 #ifndef UNICODE 3644 declare function GetMenuString alias "GetMenuStringA"(byval hMenu as HMENU, byval uIDItem as UINT, byval lpString as LPSTR, byval cchMax as long, byval flags as UINT) as long 3645 #endif 3646 3647 declare function GetMenuStringW(byval hMenu as HMENU, byval uIDItem as UINT, byval lpString as LPWSTR, byval cchMax as long, byval flags as UINT) as long 3648 3649 #ifdef UNICODE 3650 declare function GetMenuString alias "GetMenuStringW"(byval hMenu as HMENU, byval uIDItem as UINT, byval lpString as LPWSTR, byval cchMax as long, byval flags as UINT) as long 3651 #endif 3652 3653 declare function GetMenuState(byval hMenu as HMENU, byval uId as UINT, byval uFlags as UINT) as UINT 3654 declare function DrawMenuBar(byval hWnd as HWND) as WINBOOL 3655 declare function GetSystemMenu(byval hWnd as HWND, byval bRevert as WINBOOL) as HMENU 3656 declare function CreateMenu() as HMENU 3657 declare function CreatePopupMenu() as HMENU 3658 declare function DestroyMenu(byval hMenu as HMENU) as WINBOOL 3659 declare function CheckMenuItem(byval hMenu as HMENU, byval uIDCheckItem as UINT, byval uCheck as UINT) as DWORD 3660 declare function EnableMenuItem(byval hMenu as HMENU, byval uIDEnableItem as UINT, byval uEnable as UINT) as WINBOOL 3661 declare function GetSubMenu(byval hMenu as HMENU, byval nPos as long) as HMENU 3662 declare function GetMenuItemID(byval hMenu as HMENU, byval nPos as long) as UINT 3663 declare function GetMenuItemCount(byval hMenu as HMENU) as long 3664 declare function InsertMenuA(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCSTR) as WINBOOL 3665 3666 #ifndef UNICODE 3667 declare function InsertMenu alias "InsertMenuA"(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCSTR) as WINBOOL 3668 #endif 3669 3670 declare function InsertMenuW(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCWSTR) as WINBOOL 3671 3672 #ifdef UNICODE 3673 declare function InsertMenu alias "InsertMenuW"(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCWSTR) as WINBOOL 3674 #endif 3675 3676 declare function AppendMenuA(byval hMenu as HMENU, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCSTR) as WINBOOL 3677 3678 #ifndef UNICODE 3679 declare function AppendMenu alias "AppendMenuA"(byval hMenu as HMENU, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCSTR) as WINBOOL 3680 #endif 3681 3682 declare function AppendMenuW(byval hMenu as HMENU, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCWSTR) as WINBOOL 3683 3684 #ifdef UNICODE 3685 declare function AppendMenu alias "AppendMenuW"(byval hMenu as HMENU, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCWSTR) as WINBOOL 3686 #endif 3687 3688 declare function ModifyMenuA(byval hMnu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCSTR) as WINBOOL 3689 3690 #ifndef UNICODE 3691 declare function ModifyMenu alias "ModifyMenuA"(byval hMnu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCSTR) as WINBOOL 3692 #endif 3693 3694 declare function ModifyMenuW(byval hMnu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCWSTR) as WINBOOL 3695 3696 #ifdef UNICODE 3697 declare function ModifyMenu alias "ModifyMenuW"(byval hMnu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval uIDNewItem as UINT_PTR, byval lpNewItem as LPCWSTR) as WINBOOL 3698 #endif 3699 3700 declare function RemoveMenu(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT) as WINBOOL 3701 declare function DeleteMenu(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT) as WINBOOL 3702 declare function SetMenuItemBitmaps(byval hMenu as HMENU, byval uPosition as UINT, byval uFlags as UINT, byval hBitmapUnchecked as HBITMAP, byval hBitmapChecked as HBITMAP) as WINBOOL 3703 declare function GetMenuCheckMarkDimensions() as LONG 3704 declare function TrackPopupMenu(byval hMenu as HMENU, byval uFlags as UINT, byval x as long, byval y as long, byval nReserved as long, byval hWnd as HWND, byval prcRect as const RECT ptr) as WINBOOL 3705 3706 type tagTPMPARAMS 3707 cbSize as UINT 3708 rcExclude as RECT 3709 end type 3710 3711 type TPMPARAMS as tagTPMPARAMS 3712 3713 type tagMENUINFO 3714 cbSize as DWORD 3715 fMask as DWORD 3716 dwStyle as DWORD 3717 cyMax as UINT 3718 hbrBack as HBRUSH 3719 dwContextHelpID as DWORD 3720 dwMenuData as ULONG_PTR 3721 end type 3722 3723 type MENUINFO as tagMENUINFO 3724 type LPMENUINFO as tagMENUINFO ptr 3725 type LPTPMPARAMS as TPMPARAMS ptr 3726 type LPCMENUINFO as const MENUINFO ptr 3727 3728 declare function TrackPopupMenuEx(byval as HMENU, byval as UINT, byval as long, byval as long, byval as HWND, byval as LPTPMPARAMS) as WINBOOL 3729 declare function GetMenuInfo(byval as HMENU, byval as LPMENUINFO) as WINBOOL 3730 declare function SetMenuInfo(byval as HMENU, byval as LPCMENUINFO) as WINBOOL 3731 declare function EndMenu() as WINBOOL 3732 3733 #if _WIN32_WINNT >= &h0601 3734 declare function CalculatePopupWindowPosition(byval anchorPoint as const POINT ptr, byval windowSize as const SIZE ptr, byval flags as UINT, byval excludeRect as RECT ptr, byval popupWindowPosition as RECT ptr) as WINBOOL 3735 #endif 3736 3737 type tagMENUGETOBJECTINFO 3738 dwFlags as DWORD 3739 uPos as UINT 3740 hmenu as HMENU 3741 riid as PVOID 3742 pvObj as PVOID 3743 end type 3744 3745 type MENUGETOBJECTINFO as tagMENUGETOBJECTINFO 3746 type PMENUGETOBJECTINFO as tagMENUGETOBJECTINFO ptr 3747 3748 type tagMENUITEMINFOA 3749 cbSize as UINT 3750 fMask as UINT 3751 fType as UINT 3752 fState as UINT 3753 wID as UINT 3754 hSubMenu as HMENU 3755 hbmpChecked as HBITMAP 3756 hbmpUnchecked as HBITMAP 3757 dwItemData as ULONG_PTR 3758 dwTypeData as LPSTR 3759 cch as UINT 3760 hbmpItem as HBITMAP 3761 end type 3762 3763 type MENUITEMINFOA as tagMENUITEMINFOA 3764 type LPMENUITEMINFOA as tagMENUITEMINFOA ptr 3765 3766 type tagMENUITEMINFOW 3767 cbSize as UINT 3768 fMask as UINT 3769 fType as UINT 3770 fState as UINT 3771 wID as UINT 3772 hSubMenu as HMENU 3773 hbmpChecked as HBITMAP 3774 hbmpUnchecked as HBITMAP 3775 dwItemData as ULONG_PTR 3776 dwTypeData as LPWSTR 3777 cch as UINT 3778 hbmpItem as HBITMAP 3779 end type 3780 3781 type MENUITEMINFOW as tagMENUITEMINFOW 3782 type LPMENUITEMINFOW as tagMENUITEMINFOW ptr 3783 3784 #ifdef UNICODE 3785 type MENUITEMINFO as MENUITEMINFOW 3786 type LPMENUITEMINFO as LPMENUITEMINFOW 3787 #else 3788 type MENUITEMINFO as MENUITEMINFOA 3789 type LPMENUITEMINFO as LPMENUITEMINFOA 3790 #endif 3791 3792 type LPCMENUITEMINFOA as const MENUITEMINFOA ptr 3793 type LPCMENUITEMINFOW as const MENUITEMINFOW ptr 3794 3795 #ifdef UNICODE 3796 type LPCMENUITEMINFO as LPCMENUITEMINFOW 3797 #else 3798 type LPCMENUITEMINFO as LPCMENUITEMINFOA 3799 #endif 3800 3801 declare function InsertMenuItemA(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmi as LPCMENUITEMINFOA) as WINBOOL 3802 3803 #ifndef UNICODE 3804 declare function InsertMenuItem alias "InsertMenuItemA"(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmi as LPCMENUITEMINFOA) as WINBOOL 3805 #endif 3806 3807 declare function InsertMenuItemW(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmi as LPCMENUITEMINFOW) as WINBOOL 3808 3809 #ifdef UNICODE 3810 declare function InsertMenuItem alias "InsertMenuItemW"(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmi as LPCMENUITEMINFOW) as WINBOOL 3811 #endif 3812 3813 declare function GetMenuItemInfoA(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmii as LPMENUITEMINFOA) as WINBOOL 3814 3815 #ifndef UNICODE 3816 declare function GetMenuItemInfo alias "GetMenuItemInfoA"(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmii as LPMENUITEMINFOA) as WINBOOL 3817 #endif 3818 3819 declare function GetMenuItemInfoW(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmii as LPMENUITEMINFOW) as WINBOOL 3820 3821 #ifdef UNICODE 3822 declare function GetMenuItemInfo alias "GetMenuItemInfoW"(byval hmenu as HMENU, byval item as UINT, byval fByPosition as WINBOOL, byval lpmii as LPMENUITEMINFOW) as WINBOOL 3823 #endif 3824 3825 declare function SetMenuItemInfoA(byval hmenu as HMENU, byval item as UINT, byval fByPositon as WINBOOL, byval lpmii as LPCMENUITEMINFOA) as WINBOOL 3826 3827 #ifndef UNICODE 3828 declare function SetMenuItemInfo alias "SetMenuItemInfoA"(byval hmenu as HMENU, byval item as UINT, byval fByPositon as WINBOOL, byval lpmii as LPCMENUITEMINFOA) as WINBOOL 3829 #endif 3830 3831 declare function SetMenuItemInfoW(byval hmenu as HMENU, byval item as UINT, byval fByPositon as WINBOOL, byval lpmii as LPCMENUITEMINFOW) as WINBOOL 3832 3833 #ifdef UNICODE 3834 declare function SetMenuItemInfo alias "SetMenuItemInfoW"(byval hmenu as HMENU, byval item as UINT, byval fByPositon as WINBOOL, byval lpmii as LPCMENUITEMINFOW) as WINBOOL 3835 #endif 3836 3837 const GMDI_USEDISABLED = &h0001 3838 const GMDI_GOINTOPOPUPS = &h0002 3839 declare function GetMenuDefaultItem(byval hMenu as HMENU, byval fByPos as UINT, byval gmdiFlags as UINT) as UINT 3840 declare function SetMenuDefaultItem(byval hMenu as HMENU, byval uItem as UINT, byval fByPos as UINT) as WINBOOL 3841 declare function GetMenuItemRect(byval hWnd as HWND, byval hMenu as HMENU, byval uItem as UINT, byval lprcItem as LPRECT) as WINBOOL 3842 declare function MenuItemFromPoint(byval hWnd as HWND, byval hMenu as HMENU, byval ptScreen as POINT) as long 3843 3844 const TPM_LEFTBUTTON = &h0000 3845 const TPM_RIGHTBUTTON = &h0002 3846 const TPM_LEFTALIGN = &h0000 3847 const TPM_CENTERALIGN = &h0004 3848 const TPM_RIGHTALIGN = &h0008 3849 const TPM_TOPALIGN = &h0000 3850 const TPM_VCENTERALIGN = &h0010 3851 const TPM_BOTTOMALIGN = &h0020 3852 const TPM_HORIZONTAL = &h0000 3853 const TPM_VERTICAL = &h0040 3854 const TPM_NONOTIFY = &h0080 3855 const TPM_RETURNCMD = &h0100 3856 const TPM_RECURSE = &h0001 3857 const TPM_HORPOSANIMATION = &h0400 3858 const TPM_HORNEGANIMATION = &h0800 3859 const TPM_VERPOSANIMATION = &h1000 3860 const TPM_VERNEGANIMATION = &h2000 3861 const TPM_NOANIMATION = &h4000 3862 const TPM_LAYOUTRTL = &h8000 3863 3864 #if _WIN32_WINNT >= &h0601 3865 const TPM_WORKAREA = &h10000 3866 #endif 3867 3868 type tagDROPSTRUCT 3869 hwndSource as HWND 3870 hwndSink as HWND 3871 wFmt as DWORD 3872 dwData as ULONG_PTR 3873 ptDrop as POINT 3874 dwControlData as DWORD 3875 end type 3876 3877 type DROPSTRUCT as tagDROPSTRUCT 3878 type PDROPSTRUCT as tagDROPSTRUCT ptr 3879 type LPDROPSTRUCT as tagDROPSTRUCT ptr 3880 3881 const DOF_EXECUTABLE = &h8001 3882 const DOF_DOCUMENT = &h8002 3883 const DOF_DIRECTORY = &h8003 3884 const DOF_MULTIPLE = &h8004 3885 const DOF_PROGMAN = &h0001 3886 const DOF_SHELLDATA = &h0002 3887 const DO_DROPFILE = &h454C4946 3888 const DO_PRINTFILE = &h544E5250 3889 3890 declare function DragObject(byval hwndParent as HWND, byval hwndFrom as HWND, byval fmt as UINT, byval data as ULONG_PTR, byval hcur as HCURSOR) as DWORD 3891 declare function DragDetect(byval hwnd as HWND, byval pt as POINT) as WINBOOL 3892 declare function DrawIcon(byval hDC as HDC, byval X as long, byval Y as long, byval hIcon as HICON) as WINBOOL 3893 3894 const DT_TOP = &h00000000 3895 const DT_LEFT = &h00000000 3896 const DT_CENTER = &h00000001 3897 const DT_RIGHT = &h00000002 3898 const DT_VCENTER = &h00000004 3899 const DT_BOTTOM = &h00000008 3900 const DT_WORDBREAK = &h00000010 3901 const DT_SINGLELINE = &h00000020 3902 const DT_EXPANDTABS = &h00000040 3903 const DT_TABSTOP = &h00000080 3904 const DT_NOCLIP = &h00000100 3905 const DT_EXTERNALLEADING = &h00000200 3906 const DT_CALCRECT = &h00000400 3907 const DT_NOPREFIX = &h00000800 3908 const DT_INTERNAL = &h00001000 3909 const DT_EDITCONTROL = &h00002000 3910 const DT_PATH_ELLIPSIS = &h00004000 3911 const DT_END_ELLIPSIS = &h00008000 3912 const DT_MODIFYSTRING = &h00010000 3913 const DT_RTLREADING = &h00020000 3914 const DT_WORD_ELLIPSIS = &h00040000 3915 const DT_NOFULLWIDTHCHARBREAK = &h00080000 3916 const DT_HIDEPREFIX = &h00100000 3917 const DT_PREFIXONLY = &h00200000 3918 3919 type tagDRAWTEXTPARAMS 3920 cbSize as UINT 3921 iTabLength as long 3922 iLeftMargin as long 3923 iRightMargin as long 3924 uiLengthDrawn as UINT 3925 end type 3926 3927 type DRAWTEXTPARAMS as tagDRAWTEXTPARAMS 3928 type LPDRAWTEXTPARAMS as tagDRAWTEXTPARAMS ptr 3929 declare function DrawTextA(byval hdc as HDC, byval lpchText as LPCSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT) as long 3930 3931 #ifndef UNICODE 3932 declare function DrawText alias "DrawTextA"(byval hdc as HDC, byval lpchText as LPCSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT) as long 3933 #endif 3934 3935 declare function DrawTextW(byval hdc as HDC, byval lpchText as LPCWSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT) as long 3936 3937 #ifdef UNICODE 3938 declare function DrawText alias "DrawTextW"(byval hdc as HDC, byval lpchText as LPCWSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT) as long 3939 #endif 3940 3941 declare function DrawTextExA(byval hdc as HDC, byval lpchText as LPSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT, byval lpdtp as LPDRAWTEXTPARAMS) as long 3942 3943 #ifndef UNICODE 3944 declare function DrawTextEx alias "DrawTextExA"(byval hdc as HDC, byval lpchText as LPSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT, byval lpdtp as LPDRAWTEXTPARAMS) as long 3945 #endif 3946 3947 declare function DrawTextExW(byval hdc as HDC, byval lpchText as LPWSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT, byval lpdtp as LPDRAWTEXTPARAMS) as long 3948 3949 #ifdef UNICODE 3950 declare function DrawTextEx alias "DrawTextExW"(byval hdc as HDC, byval lpchText as LPWSTR, byval cchText as long, byval lprc as LPRECT, byval format as UINT, byval lpdtp as LPDRAWTEXTPARAMS) as long 3951 #endif 3952 3953 declare function GrayStringA(byval hDC as HDC, byval hBrush as HBRUSH, byval lpOutputFunc as GRAYSTRINGPROC, byval lpData as LPARAM, byval nCount as long, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long) as WINBOOL 3954 3955 #ifndef UNICODE 3956 declare function GrayString alias "GrayStringA"(byval hDC as HDC, byval hBrush as HBRUSH, byval lpOutputFunc as GRAYSTRINGPROC, byval lpData as LPARAM, byval nCount as long, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long) as WINBOOL 3957 #endif 3958 3959 declare function GrayStringW(byval hDC as HDC, byval hBrush as HBRUSH, byval lpOutputFunc as GRAYSTRINGPROC, byval lpData as LPARAM, byval nCount as long, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long) as WINBOOL 3960 3961 #ifdef UNICODE 3962 declare function GrayString alias "GrayStringW"(byval hDC as HDC, byval hBrush as HBRUSH, byval lpOutputFunc as GRAYSTRINGPROC, byval lpData as LPARAM, byval nCount as long, byval X as long, byval Y as long, byval nWidth as long, byval nHeight as long) as WINBOOL 3963 #endif 3964 3965 declare function DrawStateA(byval hdc as HDC, byval hbrFore as HBRUSH, byval qfnCallBack as DRAWSTATEPROC, byval lData as LPARAM, byval wData as WPARAM, byval x as long, byval y as long, byval cx as long, byval cy as long, byval uFlags as UINT) as WINBOOL 3966 3967 #ifndef UNICODE 3968 declare function DrawState alias "DrawStateA"(byval hdc as HDC, byval hbrFore as HBRUSH, byval qfnCallBack as DRAWSTATEPROC, byval lData as LPARAM, byval wData as WPARAM, byval x as long, byval y as long, byval cx as long, byval cy as long, byval uFlags as UINT) as WINBOOL 3969 #endif 3970 3971 declare function DrawStateW(byval hdc as HDC, byval hbrFore as HBRUSH, byval qfnCallBack as DRAWSTATEPROC, byval lData as LPARAM, byval wData as WPARAM, byval x as long, byval y as long, byval cx as long, byval cy as long, byval uFlags as UINT) as WINBOOL 3972 3973 #ifdef UNICODE 3974 declare function DrawState alias "DrawStateW"(byval hdc as HDC, byval hbrFore as HBRUSH, byval qfnCallBack as DRAWSTATEPROC, byval lData as LPARAM, byval wData as WPARAM, byval x as long, byval y as long, byval cx as long, byval cy as long, byval uFlags as UINT) as WINBOOL 3975 #endif 3976 3977 declare function TabbedTextOutA(byval hdc as HDC, byval x as long, byval y as long, byval lpString as LPCSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr, byval nTabOrigin as long) as LONG 3978 3979 #ifndef UNICODE 3980 declare function TabbedTextOut alias "TabbedTextOutA"(byval hdc as HDC, byval x as long, byval y as long, byval lpString as LPCSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr, byval nTabOrigin as long) as LONG 3981 #endif 3982 3983 declare function TabbedTextOutW(byval hdc as HDC, byval x as long, byval y as long, byval lpString as LPCWSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr, byval nTabOrigin as long) as LONG 3984 3985 #ifdef UNICODE 3986 declare function TabbedTextOut alias "TabbedTextOutW"(byval hdc as HDC, byval x as long, byval y as long, byval lpString as LPCWSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr, byval nTabOrigin as long) as LONG 3987 #endif 3988 3989 declare function GetTabbedTextExtentA(byval hdc as HDC, byval lpString as LPCSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr) as DWORD 3990 3991 #ifndef UNICODE 3992 declare function GetTabbedTextExtent alias "GetTabbedTextExtentA"(byval hdc as HDC, byval lpString as LPCSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr) as DWORD 3993 #endif 3994 3995 declare function GetTabbedTextExtentW(byval hdc as HDC, byval lpString as LPCWSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr) as DWORD 3996 3997 #ifdef UNICODE 3998 declare function GetTabbedTextExtent alias "GetTabbedTextExtentW"(byval hdc as HDC, byval lpString as LPCWSTR, byval chCount as long, byval nTabPositions as long, byval lpnTabStopPositions as const INT_ ptr) as DWORD 3999 #endif 4000 4001 declare function UpdateWindow(byval hWnd as HWND) as WINBOOL 4002 declare function SetActiveWindow(byval hWnd as HWND) as HWND 4003 declare function GetForegroundWindow() as HWND 4004 declare function PaintDesktop(byval hdc as HDC) as WINBOOL 4005 declare sub SwitchToThisWindow(byval hwnd as HWND, byval fUnknown as WINBOOL) 4006 declare function SetForegroundWindow(byval hWnd as HWND) as WINBOOL 4007 declare function AllowSetForegroundWindow(byval dwProcessId as DWORD) as WINBOOL 4008 declare function LockSetForegroundWindow(byval uLockCode as UINT) as WINBOOL 4009 declare function WindowFromDC(byval hDC as HDC) as HWND 4010 declare function GetDC(byval hWnd as HWND) as HDC 4011 declare function GetDCEx(byval hWnd as HWND, byval hrgnClip as HRGN, byval flags as DWORD) as HDC 4012 4013 const DST_COMPLEX = &h0000 4014 const DST_TEXT = &h0001 4015 const DST_PREFIXTEXT = &h0002 4016 const DST_ICON = &h0003 4017 const DST_BITMAP = &h0004 4018 const DSS_NORMAL = &h0000 4019 const DSS_UNION = &h0010 4020 const DSS_DISABLED = &h0020 4021 const DSS_MONO = &h0080 4022 const DSS_HIDEPREFIX = &h0200 4023 const DSS_PREFIXONLY = &h0400 4024 const DSS_RIGHT = &h8000 4025 const ASFW_ANY = cast(DWORD, -1) 4026 const LSFW_LOCK = 1 4027 const LSFW_UNLOCK = 2 4028 const DCX_WINDOW = &h00000001 4029 const DCX_CACHE = &h00000002 4030 const DCX_NORESETATTRS = &h00000004 4031 const DCX_CLIPCHILDREN = &h00000008 4032 const DCX_CLIPSIBLINGS = &h00000010 4033 const DCX_PARENTCLIP = &h00000020 4034 const DCX_EXCLUDERGN = &h00000040 4035 const DCX_INTERSECTRGN = &h00000080 4036 const DCX_EXCLUDEUPDATE = &h00000100 4037 const DCX_INTERSECTUPDATE = &h00000200 4038 const DCX_LOCKWINDOWUPDATE = &h00000400 4039 const DCX_VALIDATE = &h00200000 4040 4041 declare function GetWindowDC(byval hWnd as HWND) as HDC 4042 declare function ReleaseDC(byval hWnd as HWND, byval hDC as HDC) as long 4043 declare function BeginPaint(byval hWnd as HWND, byval lpPaint as LPPAINTSTRUCT) as HDC 4044 declare function EndPaint(byval hWnd as HWND, byval lpPaint as const PAINTSTRUCT ptr) as WINBOOL 4045 declare function GetUpdateRect(byval hWnd as HWND, byval lpRect as LPRECT, byval bErase as WINBOOL) as WINBOOL 4046 declare function GetUpdateRgn(byval hWnd as HWND, byval hRgn as HRGN, byval bErase as WINBOOL) as long 4047 declare function SetWindowRgn(byval hWnd as HWND, byval hRgn as HRGN, byval bRedraw as WINBOOL) as long 4048 declare function GetWindowRgn(byval hWnd as HWND, byval hRgn as HRGN) as long 4049 declare function GetWindowRgnBox(byval hWnd as HWND, byval lprc as LPRECT) as long 4050 declare function ExcludeUpdateRgn(byval hDC as HDC, byval hWnd as HWND) as long 4051 declare function InvalidateRect(byval hWnd as HWND, byval lpRect as const RECT ptr, byval bErase as WINBOOL) as WINBOOL 4052 declare function ValidateRect(byval hWnd as HWND, byval lpRect as const RECT ptr) as WINBOOL 4053 declare function InvalidateRgn(byval hWnd as HWND, byval hRgn as HRGN, byval bErase as WINBOOL) as WINBOOL 4054 declare function ValidateRgn(byval hWnd as HWND, byval hRgn as HRGN) as WINBOOL 4055 declare function RedrawWindow(byval hWnd as HWND, byval lprcUpdate as const RECT ptr, byval hrgnUpdate as HRGN, byval flags as UINT) as WINBOOL 4056 4057 const RDW_INVALIDATE = &h0001 4058 const RDW_INTERNALPAINT = &h0002 4059 const RDW_ERASE = &h0004 4060 const RDW_VALIDATE = &h0008 4061 const RDW_NOINTERNALPAINT = &h0010 4062 const RDW_NOERASE = &h0020 4063 const RDW_NOCHILDREN = &h0040 4064 const RDW_ALLCHILDREN = &h0080 4065 const RDW_UPDATENOW = &h0100 4066 const RDW_ERASENOW = &h0200 4067 const RDW_FRAME = &h0400 4068 const RDW_NOFRAME = &h0800 4069 4070 declare function LockWindowUpdate(byval hWndLock as HWND) as WINBOOL 4071 declare function ScrollWindow(byval hWnd as HWND, byval XAmount as long, byval YAmount as long, byval lpRect as const RECT ptr, byval lpClipRect as const RECT ptr) as WINBOOL 4072 declare function ScrollDC(byval hDC as HDC, byval dx as long, byval dy as long, byval lprcScroll as const RECT ptr, byval lprcClip as const RECT ptr, byval hrgnUpdate as HRGN, byval lprcUpdate as LPRECT) as WINBOOL 4073 declare function ScrollWindowEx(byval hWnd as HWND, byval dx as long, byval dy as long, byval prcScroll as const RECT ptr, byval prcClip as const RECT ptr, byval hrgnUpdate as HRGN, byval prcUpdate as LPRECT, byval flags as UINT) as long 4074 4075 const SW_SCROLLCHILDREN = &h0001 4076 const SW_INVALIDATE = &h0002 4077 const SW_ERASE = &h0004 4078 const SW_SMOOTHSCROLL = &h0010 4079 4080 declare function SetScrollPos(byval hWnd as HWND, byval nBar as long, byval nPos as long, byval bRedraw as WINBOOL) as long 4081 declare function GetScrollPos(byval hWnd as HWND, byval nBar as long) as long 4082 declare function SetScrollRange(byval hWnd as HWND, byval nBar as long, byval nMinPos as long, byval nMaxPos as long, byval bRedraw as WINBOOL) as WINBOOL 4083 declare function GetScrollRange(byval hWnd as HWND, byval nBar as long, byval lpMinPos as LPINT, byval lpMaxPos as LPINT) as WINBOOL 4084 declare function ShowScrollBar(byval hWnd as HWND, byval wBar as long, byval bShow as WINBOOL) as WINBOOL 4085 declare function EnableScrollBar(byval hWnd as HWND, byval wSBflags as UINT, byval wArrows as UINT) as WINBOOL 4086 4087 const ESB_ENABLE_BOTH = &h0000 4088 const ESB_DISABLE_BOTH = &h0003 4089 const ESB_DISABLE_LEFT = &h0001 4090 const ESB_DISABLE_RIGHT = &h0002 4091 const ESB_DISABLE_UP = &h0001 4092 const ESB_DISABLE_DOWN = &h0002 4093 const ESB_DISABLE_LTUP = ESB_DISABLE_LEFT 4094 const ESB_DISABLE_RTDN = ESB_DISABLE_RIGHT 4095 declare function SetPropA(byval hWnd as HWND, byval lpString as LPCSTR, byval hData as HANDLE) as WINBOOL 4096 4097 #ifndef UNICODE 4098 declare function SetProp alias "SetPropA"(byval hWnd as HWND, byval lpString as LPCSTR, byval hData as HANDLE) as WINBOOL 4099 #endif 4100 4101 declare function SetPropW(byval hWnd as HWND, byval lpString as LPCWSTR, byval hData as HANDLE) as WINBOOL 4102 4103 #ifdef UNICODE 4104 declare function SetProp alias "SetPropW"(byval hWnd as HWND, byval lpString as LPCWSTR, byval hData as HANDLE) as WINBOOL 4105 #endif 4106 4107 declare function GetPropA(byval hWnd as HWND, byval lpString as LPCSTR) as HANDLE 4108 4109 #ifndef UNICODE 4110 declare function GetProp alias "GetPropA"(byval hWnd as HWND, byval lpString as LPCSTR) as HANDLE 4111 #endif 4112 4113 declare function GetPropW(byval hWnd as HWND, byval lpString as LPCWSTR) as HANDLE 4114 4115 #ifdef UNICODE 4116 declare function GetProp alias "GetPropW"(byval hWnd as HWND, byval lpString as LPCWSTR) as HANDLE 4117 #endif 4118 4119 declare function RemovePropA(byval hWnd as HWND, byval lpString as LPCSTR) as HANDLE 4120 4121 #ifndef UNICODE 4122 declare function RemoveProp alias "RemovePropA"(byval hWnd as HWND, byval lpString as LPCSTR) as HANDLE 4123 #endif 4124 4125 declare function RemovePropW(byval hWnd as HWND, byval lpString as LPCWSTR) as HANDLE 4126 4127 #ifdef UNICODE 4128 declare function RemoveProp alias "RemovePropW"(byval hWnd as HWND, byval lpString as LPCWSTR) as HANDLE 4129 #endif 4130 4131 declare function EnumPropsExA(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCEXA, byval lParam as LPARAM) as long 4132 4133 #ifndef UNICODE 4134 declare function EnumPropsEx alias "EnumPropsExA"(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCEXA, byval lParam as LPARAM) as long 4135 #endif 4136 4137 declare function EnumPropsExW(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCEXW, byval lParam as LPARAM) as long 4138 4139 #ifdef UNICODE 4140 declare function EnumPropsEx alias "EnumPropsExW"(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCEXW, byval lParam as LPARAM) as long 4141 #endif 4142 4143 declare function EnumPropsA(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCA) as long 4144 4145 #ifndef UNICODE 4146 declare function EnumProps alias "EnumPropsA"(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCA) as long 4147 #endif 4148 4149 declare function EnumPropsW(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCW) as long 4150 4151 #ifdef UNICODE 4152 declare function EnumProps alias "EnumPropsW"(byval hWnd as HWND, byval lpEnumFunc as PROPENUMPROCW) as long 4153 #endif 4154 4155 declare function SetWindowTextA(byval hWnd as HWND, byval lpString as LPCSTR) as WINBOOL 4156 4157 #ifndef UNICODE 4158 declare function SetWindowText alias "SetWindowTextA"(byval hWnd as HWND, byval lpString as LPCSTR) as WINBOOL 4159 #endif 4160 4161 declare function SetWindowTextW(byval hWnd as HWND, byval lpString as LPCWSTR) as WINBOOL 4162 4163 #ifdef UNICODE 4164 declare function SetWindowText alias "SetWindowTextW"(byval hWnd as HWND, byval lpString as LPCWSTR) as WINBOOL 4165 #endif 4166 4167 declare function GetWindowTextA(byval hWnd as HWND, byval lpString as LPSTR, byval nMaxCount as long) as long 4168 4169 #ifndef UNICODE 4170 declare function GetWindowText alias "GetWindowTextA"(byval hWnd as HWND, byval lpString as LPSTR, byval nMaxCount as long) as long 4171 #endif 4172 4173 declare function GetWindowTextW(byval hWnd as HWND, byval lpString as LPWSTR, byval nMaxCount as long) as long 4174 4175 #ifdef UNICODE 4176 declare function GetWindowText alias "GetWindowTextW"(byval hWnd as HWND, byval lpString as LPWSTR, byval nMaxCount as long) as long 4177 #endif 4178 4179 declare function GetWindowTextLengthA(byval hWnd as HWND) as long 4180 4181 #ifndef UNICODE 4182 declare function GetWindowTextLength alias "GetWindowTextLengthA"(byval hWnd as HWND) as long 4183 #endif 4184 4185 declare function GetWindowTextLengthW(byval hWnd as HWND) as long 4186 4187 #ifdef UNICODE 4188 declare function GetWindowTextLength alias "GetWindowTextLengthW"(byval hWnd as HWND) as long 4189 #endif 4190 4191 declare function GetClientRect(byval hWnd as HWND, byval lpRect as LPRECT) as WINBOOL 4192 declare function GetWindowRect(byval hWnd as HWND, byval lpRect as LPRECT) as WINBOOL 4193 declare function AdjustWindowRect(byval lpRect as LPRECT, byval dwStyle as DWORD, byval bMenu as WINBOOL) as WINBOOL 4194 declare function AdjustWindowRectEx(byval lpRect as LPRECT, byval dwStyle as DWORD, byval bMenu as WINBOOL, byval dwExStyle as DWORD) as WINBOOL 4195 const HELPINFO_WINDOW = &h0001 4196 const HELPINFO_MENUITEM = &h0002 4197 4198 type tagHELPINFO 4199 cbSize as UINT 4200 iContextType as long 4201 iCtrlId as long 4202 hItemHandle as HANDLE 4203 dwContextId as DWORD_PTR 4204 MousePos as POINT 4205 end type 4206 4207 type HELPINFO as tagHELPINFO 4208 type LPHELPINFO as tagHELPINFO ptr 4209 declare function SetWindowContextHelpId(byval as HWND, byval as DWORD) as WINBOOL 4210 declare function GetWindowContextHelpId(byval as HWND) as DWORD 4211 declare function SetMenuContextHelpId(byval as HMENU, byval as DWORD) as WINBOOL 4212 declare function GetMenuContextHelpId(byval as HMENU) as DWORD 4213 4214 const MB_OK = &h00000000 4215 const MB_OKCANCEL = &h00000001 4216 const MB_ABORTRETRYIGNORE = &h00000002 4217 const MB_YESNOCANCEL = &h00000003 4218 const MB_YESNO = &h00000004 4219 const MB_RETRYCANCEL = &h00000005 4220 const MB_CANCELTRYCONTINUE = &h00000006 4221 const MB_ICONHAND = &h00000010 4222 const MB_ICONQUESTION = &h00000020 4223 const MB_ICONEXCLAMATION = &h00000030 4224 const MB_ICONASTERISK = &h00000040 4225 const MB_USERICON = &h00000080 4226 const MB_ICONWARNING = MB_ICONEXCLAMATION 4227 const MB_ICONERROR = MB_ICONHAND 4228 const MB_ICONINFORMATION = MB_ICONASTERISK 4229 const MB_ICONSTOP = MB_ICONHAND 4230 const MB_DEFBUTTON1 = &h00000000 4231 const MB_DEFBUTTON2 = &h00000100 4232 const MB_DEFBUTTON3 = &h00000200 4233 const MB_DEFBUTTON4 = &h00000300 4234 const MB_APPLMODAL = &h00000000 4235 const MB_SYSTEMMODAL = &h00001000 4236 const MB_TASKMODAL = &h00002000 4237 const MB_HELP = &h00004000 4238 const MB_NOFOCUS = &h00008000 4239 const MB_SETFOREGROUND = &h00010000 4240 const MB_DEFAULT_DESKTOP_ONLY = &h00020000 4241 const MB_TOPMOST = &h00040000 4242 const MB_RIGHT = &h00080000 4243 const MB_RTLREADING = &h00100000 4244 const MB_SERVICE_NOTIFICATION = &h00200000 4245 const MB_SERVICE_NOTIFICATION_NT3X = &h00040000 4246 const MB_TYPEMASK = &h0000000F 4247 const MB_ICONMASK = &h000000F0 4248 const MB_DEFMASK = &h00000F00 4249 const MB_MODEMASK = &h00003000 4250 const MB_MISCMASK = &h0000C000 4251 declare function MessageBoxA(byval hWnd as HWND, byval lpText as LPCSTR, byval lpCaption as LPCSTR, byval uType as UINT) as long 4252 4253 #ifndef UNICODE 4254 declare function MessageBox alias "MessageBoxA"(byval hWnd as HWND, byval lpText as LPCSTR, byval lpCaption as LPCSTR, byval uType as UINT) as long 4255 #endif 4256 4257 declare function MessageBoxW(byval hWnd as HWND, byval lpText as LPCWSTR, byval lpCaption as LPCWSTR, byval uType as UINT) as long 4258 4259 #ifdef UNICODE 4260 declare function MessageBox alias "MessageBoxW"(byval hWnd as HWND, byval lpText as LPCWSTR, byval lpCaption as LPCWSTR, byval uType as UINT) as long 4261 #endif 4262 4263 declare function MessageBoxExA(byval hWnd as HWND, byval lpText as LPCSTR, byval lpCaption as LPCSTR, byval uType as UINT, byval wLanguageId as WORD) as long 4264 4265 #ifndef UNICODE 4266 declare function MessageBoxEx alias "MessageBoxExA"(byval hWnd as HWND, byval lpText as LPCSTR, byval lpCaption as LPCSTR, byval uType as UINT, byval wLanguageId as WORD) as long 4267 #endif 4268 4269 declare function MessageBoxExW(byval hWnd as HWND, byval lpText as LPCWSTR, byval lpCaption as LPCWSTR, byval uType as UINT, byval wLanguageId as WORD) as long 4270 4271 #ifdef UNICODE 4272 declare function MessageBoxEx alias "MessageBoxExW"(byval hWnd as HWND, byval lpText as LPCWSTR, byval lpCaption as LPCWSTR, byval uType as UINT, byval wLanguageId as WORD) as long 4273 #endif 4274 4275 type MSGBOXCALLBACK as sub(byval lpHelpInfo as LPHELPINFO) 4276 4277 type tagMSGBOXPARAMSA 4278 cbSize as UINT 4279 hwndOwner as HWND 4280 hInstance as HINSTANCE 4281 lpszText as LPCSTR 4282 lpszCaption as LPCSTR 4283 dwStyle as DWORD 4284 lpszIcon as LPCSTR 4285 dwContextHelpId as DWORD_PTR 4286 lpfnMsgBoxCallback as MSGBOXCALLBACK 4287 dwLanguageId as DWORD 4288 end type 4289 4290 type MSGBOXPARAMSA as tagMSGBOXPARAMSA 4291 type PMSGBOXPARAMSA as tagMSGBOXPARAMSA ptr 4292 type LPMSGBOXPARAMSA as tagMSGBOXPARAMSA ptr 4293 4294 type tagMSGBOXPARAMSW 4295 cbSize as UINT 4296 hwndOwner as HWND 4297 hInstance as HINSTANCE 4298 lpszText as LPCWSTR 4299 lpszCaption as LPCWSTR 4300 dwStyle as DWORD 4301 lpszIcon as LPCWSTR 4302 dwContextHelpId as DWORD_PTR 4303 lpfnMsgBoxCallback as MSGBOXCALLBACK 4304 dwLanguageId as DWORD 4305 end type 4306 4307 type MSGBOXPARAMSW as tagMSGBOXPARAMSW 4308 type PMSGBOXPARAMSW as tagMSGBOXPARAMSW ptr 4309 type LPMSGBOXPARAMSW as tagMSGBOXPARAMSW ptr 4310 4311 #ifdef UNICODE 4312 type MSGBOXPARAMS as MSGBOXPARAMSW 4313 type PMSGBOXPARAMS as PMSGBOXPARAMSW 4314 type LPMSGBOXPARAMS as LPMSGBOXPARAMSW 4315 #else 4316 type MSGBOXPARAMS as MSGBOXPARAMSA 4317 type PMSGBOXPARAMS as PMSGBOXPARAMSA 4318 type LPMSGBOXPARAMS as LPMSGBOXPARAMSA 4319 #endif 4320 4321 declare function MessageBoxIndirectA(byval lpmbp as const MSGBOXPARAMSA ptr) as long 4322 4323 #ifndef UNICODE 4324 declare function MessageBoxIndirect alias "MessageBoxIndirectA"(byval lpmbp as const MSGBOXPARAMSA ptr) as long 4325 #endif 4326 4327 declare function MessageBoxIndirectW(byval lpmbp as const MSGBOXPARAMSW ptr) as long 4328 4329 #ifdef UNICODE 4330 declare function MessageBoxIndirect alias "MessageBoxIndirectW"(byval lpmbp as const MSGBOXPARAMSW ptr) as long 4331 #endif 4332 4333 declare function MessageBeep(byval uType as UINT) as WINBOOL 4334 declare function ShowCursor(byval bShow as WINBOOL) as long 4335 declare function SetCursorPos(byval X as long, byval Y as long) as WINBOOL 4336 declare function SetCursor(byval hCursor as HCURSOR) as HCURSOR 4337 declare function GetCursorPos(byval lpPoint as LPPOINT) as WINBOOL 4338 declare function ClipCursor(byval lpRect as const RECT ptr) as WINBOOL 4339 declare function GetClipCursor(byval lpRect as LPRECT) as WINBOOL 4340 declare function GetCursor() as HCURSOR 4341 declare function CreateCaret(byval hWnd as HWND, byval hBitmap as HBITMAP, byval nWidth as long, byval nHeight as long) as WINBOOL 4342 declare function GetCaretBlinkTime() as UINT 4343 declare function SetCaretBlinkTime(byval uMSeconds as UINT) as WINBOOL 4344 declare function DestroyCaret() as WINBOOL 4345 declare function HideCaret(byval hWnd as HWND) as WINBOOL 4346 declare function ShowCaret(byval hWnd as HWND) as WINBOOL 4347 declare function SetCaretPos(byval X as long, byval Y as long) as WINBOOL 4348 declare function GetCaretPos(byval lpPoint as LPPOINT) as WINBOOL 4349 declare function ClientToScreen(byval hWnd as HWND, byval lpPoint as LPPOINT) as WINBOOL 4350 declare function ScreenToClient(byval hWnd as HWND, byval lpPoint as LPPOINT) as WINBOOL 4351 declare function MapWindowPoints(byval hWndFrom as HWND, byval hWndTo as HWND, byval lpPoints as LPPOINT, byval cPoints as UINT) as long 4352 declare function WindowFromPoint(byval Point as POINT) as HWND 4353 declare function ChildWindowFromPoint(byval hWndParent as HWND, byval Point as POINT) as HWND 4354 declare function ChildWindowFromPointEx(byval hwnd as HWND, byval pt as POINT, byval flags as UINT) as HWND 4355 4356 #if _WIN32_WINNT >= &h0600 4357 declare function SetPhysicalCursorPos(byval X as long, byval Y as long) as WINBOOL 4358 declare function GetPhysicalCursorPos(byval lpPoint as LPPOINT) as WINBOOL 4359 declare function LogicalToPhysicalPoint(byval hWnd as HWND, byval lpPoint as LPPOINT) as WINBOOL 4360 declare function PhysicalToLogicalPoint(byval hWnd as HWND, byval lpPoint as LPPOINT) as WINBOOL 4361 declare function WindowFromPhysicalPoint(byval Point as POINT) as HWND 4362 #endif 4363 4364 const CWP_ALL = &h0000 4365 const CWP_SKIPINVISIBLE = &h0001 4366 const CWP_SKIPDISABLED = &h0002 4367 const CWP_SKIPTRANSPARENT = &h0004 4368 const CTLCOLOR_MSGBOX = 0 4369 const CTLCOLOR_EDIT = 1 4370 const CTLCOLOR_LISTBOX = 2 4371 const CTLCOLOR_BTN = 3 4372 const CTLCOLOR_DLG = 4 4373 const CTLCOLOR_SCROLLBAR = 5 4374 const CTLCOLOR_STATIC = 6 4375 const CTLCOLOR_MAX = 7 4376 const COLOR_SCROLLBAR = 0 4377 const COLOR_BACKGROUND = 1 4378 const COLOR_ACTIVECAPTION = 2 4379 const COLOR_INACTIVECAPTION = 3 4380 const COLOR_MENU = 4 4381 const COLOR_WINDOW = 5 4382 const COLOR_WINDOWFRAME = 6 4383 const COLOR_MENUTEXT = 7 4384 const COLOR_WINDOWTEXT = 8 4385 const COLOR_CAPTIONTEXT = 9 4386 const COLOR_ACTIVEBORDER = 10 4387 const COLOR_INACTIVEBORDER = 11 4388 const COLOR_APPWORKSPACE = 12 4389 const COLOR_HIGHLIGHT = 13 4390 const COLOR_HIGHLIGHTTEXT = 14 4391 const COLOR_BTNFACE = 15 4392 const COLOR_BTNSHADOW = 16 4393 const COLOR_GRAYTEXT = 17 4394 const COLOR_BTNTEXT = 18 4395 const COLOR_INACTIVECAPTIONTEXT = 19 4396 const COLOR_BTNHIGHLIGHT = 20 4397 const COLOR_3DDKSHADOW = 21 4398 const COLOR_3DLIGHT = 22 4399 const COLOR_INFOTEXT = 23 4400 const COLOR_INFOBK = 24 4401 const COLOR_HOTLIGHT = 26 4402 const COLOR_GRADIENTACTIVECAPTION = 27 4403 const COLOR_GRADIENTINACTIVECAPTION = 28 4404 const COLOR_MENUHILIGHT = 29 4405 const COLOR_MENUBAR = 30 4406 const COLOR_DESKTOP = COLOR_BACKGROUND 4407 const COLOR_3DFACE = COLOR_BTNFACE 4408 const COLOR_3DSHADOW = COLOR_BTNSHADOW 4409 const COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT 4410 const COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT 4411 const COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT 4412 4413 declare function GetSysColor(byval nIndex as long) as DWORD 4414 declare function GetSysColorBrush(byval nIndex as long) as HBRUSH 4415 declare function SetSysColors(byval cElements as long, byval lpaElements as const INT_ ptr, byval lpaRgbValues as const COLORREF ptr) as WINBOOL 4416 declare function DrawFocusRect(byval hDC as HDC, byval lprc as const RECT ptr) as WINBOOL 4417 declare function FillRect(byval hDC as HDC, byval lprc as const RECT ptr, byval hbr as HBRUSH) as long 4418 declare function FrameRect(byval hDC as HDC, byval lprc as const RECT ptr, byval hbr as HBRUSH) as long 4419 declare function InvertRect(byval hDC as HDC, byval lprc as const RECT ptr) as WINBOOL 4420 declare function SetRect(byval lprc as LPRECT, byval xLeft as long, byval yTop as long, byval xRight as long, byval yBottom as long) as WINBOOL 4421 declare function SetRectEmpty(byval lprc as LPRECT) as WINBOOL 4422 declare function CopyRect(byval lprcDst as LPRECT, byval lprcSrc as const RECT ptr) as WINBOOL 4423 declare function InflateRect(byval lprc as LPRECT, byval dx as long, byval dy as long) as WINBOOL 4424 declare function IntersectRect(byval lprcDst as LPRECT, byval lprcSrc1 as const RECT ptr, byval lprcSrc2 as const RECT ptr) as WINBOOL 4425 declare function UnionRect(byval lprcDst as LPRECT, byval lprcSrc1 as const RECT ptr, byval lprcSrc2 as const RECT ptr) as WINBOOL 4426 declare function SubtractRect(byval lprcDst as LPRECT, byval lprcSrc1 as const RECT ptr, byval lprcSrc2 as const RECT ptr) as WINBOOL 4427 declare function OffsetRect(byval lprc as LPRECT, byval dx as long, byval dy as long) as WINBOOL 4428 declare function IsRectEmpty(byval lprc as const RECT ptr) as WINBOOL 4429 declare function EqualRect(byval lprc1 as const RECT ptr, byval lprc2 as const RECT ptr) as WINBOOL 4430 declare function PtInRect(byval lprc as const RECT ptr, byval pt as POINT) as WINBOOL 4431 declare function GetWindowWord(byval hWnd as HWND, byval nIndex as long) as WORD 4432 declare function SetWindowWord(byval hWnd as HWND, byval nIndex as long, byval wNewWord as WORD) as WORD 4433 declare function GetWindowLongA(byval hWnd as HWND, byval nIndex as long) as LONG 4434 4435 #ifndef UNICODE 4436 declare function GetWindowLong alias "GetWindowLongA"(byval hWnd as HWND, byval nIndex as long) as LONG 4437 #endif 4438 4439 declare function GetWindowLongW(byval hWnd as HWND, byval nIndex as long) as LONG 4440 4441 #ifdef UNICODE 4442 declare function GetWindowLong alias "GetWindowLongW"(byval hWnd as HWND, byval nIndex as long) as LONG 4443 #endif 4444 4445 declare function SetWindowLongA(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4446 4447 #ifndef UNICODE 4448 declare function SetWindowLong alias "SetWindowLongA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4449 #endif 4450 4451 declare function SetWindowLongW(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4452 4453 #ifdef UNICODE 4454 declare function SetWindowLong alias "SetWindowLongW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4455 #endif 4456 4457 #ifndef __FB_64BIT__ 4458 declare function GetWindowLongPtrA alias "GetWindowLongA"(byval hWnd as HWND, byval nIndex as long) as LONG 4459 4460 #ifndef UNICODE 4461 declare function GetWindowLongPtr alias "GetWindowLongA"(byval hWnd as HWND, byval nIndex as long) as LONG 4462 #endif 4463 4464 declare function GetWindowLongPtrW alias "GetWindowLongW"(byval hWnd as HWND, byval nIndex as long) as LONG 4465 4466 #ifdef UNICODE 4467 declare function GetWindowLongPtr alias "GetWindowLongW"(byval hWnd as HWND, byval nIndex as long) as LONG 4468 #endif 4469 4470 declare function SetWindowLongPtrA alias "SetWindowLongA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4471 4472 #ifndef UNICODE 4473 declare function SetWindowLongPtr alias "SetWindowLongA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4474 #endif 4475 4476 declare function SetWindowLongPtrW alias "SetWindowLongW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4477 #endif 4478 4479 #if (not defined(__FB_64BIT__)) and defined(UNICODE) 4480 declare function SetWindowLongPtr alias "SetWindowLongW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as LONG 4481 #elseif defined(__FB_64BIT__) 4482 declare function GetWindowLongPtrA(byval hWnd as HWND, byval nIndex as long) as LONG_PTR 4483 #endif 4484 4485 #ifdef __FB_64BIT__ 4486 #ifndef UNICODE 4487 declare function GetWindowLongPtr alias "GetWindowLongPtrA"(byval hWnd as HWND, byval nIndex as long) as LONG_PTR 4488 #endif 4489 4490 declare function GetWindowLongPtrW(byval hWnd as HWND, byval nIndex as long) as LONG_PTR 4491 4492 #ifdef UNICODE 4493 declare function GetWindowLongPtr alias "GetWindowLongPtrW"(byval hWnd as HWND, byval nIndex as long) as LONG_PTR 4494 #endif 4495 4496 declare function SetWindowLongPtrA(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as LONG_PTR 4497 4498 #ifndef UNICODE 4499 declare function SetWindowLongPtr alias "SetWindowLongPtrA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as LONG_PTR 4500 #endif 4501 4502 declare function SetWindowLongPtrW(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as LONG_PTR 4503 4504 #ifdef UNICODE 4505 declare function SetWindowLongPtr alias "SetWindowLongPtrW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as LONG_PTR 4506 #endif 4507 #endif 4508 4509 declare function GetClassWord(byval hWnd as HWND, byval nIndex as long) as WORD 4510 declare function SetClassWord(byval hWnd as HWND, byval nIndex as long, byval wNewWord as WORD) as WORD 4511 declare function GetClassLongA(byval hWnd as HWND, byval nIndex as long) as DWORD 4512 4513 #ifndef UNICODE 4514 declare function GetClassLong alias "GetClassLongA"(byval hWnd as HWND, byval nIndex as long) as DWORD 4515 #endif 4516 4517 declare function GetClassLongW(byval hWnd as HWND, byval nIndex as long) as DWORD 4518 4519 #ifdef UNICODE 4520 declare function GetClassLong alias "GetClassLongW"(byval hWnd as HWND, byval nIndex as long) as DWORD 4521 #endif 4522 4523 declare function SetClassLongA(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4524 4525 #ifndef UNICODE 4526 declare function SetClassLong alias "SetClassLongA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4527 #endif 4528 4529 declare function SetClassLongW(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4530 4531 #ifdef UNICODE 4532 declare function SetClassLong alias "SetClassLongW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4533 #endif 4534 4535 #ifndef __FB_64BIT__ 4536 declare function GetClassLongPtrA alias "GetClassLongA"(byval hWnd as HWND, byval nIndex as long) as DWORD 4537 4538 #ifndef UNICODE 4539 declare function GetClassLongPtr alias "GetClassLongA"(byval hWnd as HWND, byval nIndex as long) as DWORD 4540 #endif 4541 4542 declare function GetClassLongPtrW alias "GetClassLongW"(byval hWnd as HWND, byval nIndex as long) as DWORD 4543 4544 #ifdef UNICODE 4545 declare function GetClassLongPtr alias "GetClassLongW"(byval hWnd as HWND, byval nIndex as long) as DWORD 4546 #endif 4547 4548 declare function SetClassLongPtrA alias "SetClassLongA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4549 4550 #ifndef UNICODE 4551 declare function SetClassLongPtr alias "SetClassLongA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4552 #endif 4553 4554 declare function SetClassLongPtrW alias "SetClassLongW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4555 #endif 4556 4557 #if (not defined(__FB_64BIT__)) and defined(UNICODE) 4558 declare function SetClassLongPtr alias "SetClassLongW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG) as DWORD 4559 #elseif defined(__FB_64BIT__) 4560 declare function GetClassLongPtrA(byval hWnd as HWND, byval nIndex as long) as ULONG_PTR 4561 #endif 4562 4563 #ifdef __FB_64BIT__ 4564 #ifndef UNICODE 4565 declare function GetClassLongPtr alias "GetClassLongPtrA"(byval hWnd as HWND, byval nIndex as long) as ULONG_PTR 4566 #endif 4567 4568 declare function GetClassLongPtrW(byval hWnd as HWND, byval nIndex as long) as ULONG_PTR 4569 4570 #ifdef UNICODE 4571 declare function GetClassLongPtr alias "GetClassLongPtrW"(byval hWnd as HWND, byval nIndex as long) as ULONG_PTR 4572 #endif 4573 4574 declare function SetClassLongPtrA(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as ULONG_PTR 4575 4576 #ifndef UNICODE 4577 declare function SetClassLongPtr alias "SetClassLongPtrA"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as ULONG_PTR 4578 #endif 4579 4580 declare function SetClassLongPtrW(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as ULONG_PTR 4581 4582 #ifdef UNICODE 4583 declare function SetClassLongPtr alias "SetClassLongPtrW"(byval hWnd as HWND, byval nIndex as long, byval dwNewLong as LONG_PTR) as ULONG_PTR 4584 #endif 4585 #endif 4586 4587 declare function GetProcessDefaultLayout(byval pdwDefaultLayout as DWORD ptr) as WINBOOL 4588 declare function SetProcessDefaultLayout(byval dwDefaultLayout as DWORD) as WINBOOL 4589 declare function GetDesktopWindow() as HWND 4590 declare function GetParent(byval hWnd as HWND) as HWND 4591 declare function SetParent(byval hWndChild as HWND, byval hWndNewParent as HWND) as HWND 4592 declare function EnumChildWindows(byval hWndParent as HWND, byval lpEnumFunc as WNDENUMPROC, byval lParam as LPARAM) as WINBOOL 4593 declare function FindWindowA(byval lpClassName as LPCSTR, byval lpWindowName as LPCSTR) as HWND 4594 4595 #ifndef UNICODE 4596 declare function FindWindow alias "FindWindowA"(byval lpClassName as LPCSTR, byval lpWindowName as LPCSTR) as HWND 4597 #endif 4598 4599 declare function FindWindowW(byval lpClassName as LPCWSTR, byval lpWindowName as LPCWSTR) as HWND 4600 4601 #ifdef UNICODE 4602 declare function FindWindow alias "FindWindowW"(byval lpClassName as LPCWSTR, byval lpWindowName as LPCWSTR) as HWND 4603 #endif 4604 4605 declare function FindWindowExA(byval hWndParent as HWND, byval hWndChildAfter as HWND, byval lpszClass as LPCSTR, byval lpszWindow as LPCSTR) as HWND 4606 4607 #ifndef UNICODE 4608 declare function FindWindowEx alias "FindWindowExA"(byval hWndParent as HWND, byval hWndChildAfter as HWND, byval lpszClass as LPCSTR, byval lpszWindow as LPCSTR) as HWND 4609 #endif 4610 4611 declare function FindWindowExW(byval hWndParent as HWND, byval hWndChildAfter as HWND, byval lpszClass as LPCWSTR, byval lpszWindow as LPCWSTR) as HWND 4612 4613 #ifdef UNICODE 4614 declare function FindWindowEx alias "FindWindowExW"(byval hWndParent as HWND, byval hWndChildAfter as HWND, byval lpszClass as LPCWSTR, byval lpszWindow as LPCWSTR) as HWND 4615 #endif 4616 4617 declare function GetShellWindow() as HWND 4618 declare function RegisterShellHookWindow(byval hwnd as HWND) as WINBOOL 4619 declare function DeregisterShellHookWindow(byval hwnd as HWND) as WINBOOL 4620 declare function EnumWindows(byval lpEnumFunc as WNDENUMPROC, byval lParam as LPARAM) as WINBOOL 4621 declare function EnumThreadWindows(byval dwThreadId as DWORD, byval lpfn as WNDENUMPROC, byval lParam as LPARAM) as WINBOOL 4622 #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows(HandleToUlong(hTask), lpfn, lParam) 4623 declare function GetClassNameA(byval hWnd as HWND, byval lpClassName as LPSTR, byval nMaxCount as long) as long 4624 4625 #ifndef UNICODE 4626 declare function GetClassName alias "GetClassNameA"(byval hWnd as HWND, byval lpClassName as LPSTR, byval nMaxCount as long) as long 4627 #endif 4628 4629 declare function GetClassNameW(byval hWnd as HWND, byval lpClassName as LPWSTR, byval nMaxCount as long) as long 4630 4631 #ifdef UNICODE 4632 declare function GetClassName alias "GetClassNameW"(byval hWnd as HWND, byval lpClassName as LPWSTR, byval nMaxCount as long) as long 4633 #endif 4634 4635 declare function GetTopWindow(byval hWnd as HWND) as HWND 4636 #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd) 4637 #define GetSysModalWindow() NULL 4638 #define SetSysModalWindow(hWnd) NULL 4639 declare function GetWindowThreadProcessId(byval hWnd as HWND, byval lpdwProcessId as LPDWORD) as DWORD 4640 declare function IsGUIThread(byval bConvert as WINBOOL) as WINBOOL 4641 #define GetWindowTask(hWnd) cast(HANDLE, cast(DWORD_PTR, GetWindowThreadProcessId(hWnd, NULL))) 4642 declare function GetLastActivePopup(byval hWnd as HWND) as HWND 4643 const GW_HWNDFIRST = 0 4644 const GW_HWNDLAST = 1 4645 const GW_HWNDNEXT = 2 4646 const GW_HWNDPREV = 3 4647 const GW_OWNER = 4 4648 const GW_CHILD = 5 4649 const GW_ENABLEDPOPUP = 6 4650 const GW_MAX = 6 4651 declare function GetWindow(byval hWnd as HWND, byval uCmd as UINT) as HWND 4652 declare function SetWindowsHookA(byval nFilterType as long, byval pfnFilterProc as HOOKPROC) as HHOOK 4653 4654 #ifndef UNICODE 4655 declare function SetWindowsHook alias "SetWindowsHookA"(byval nFilterType as long, byval pfnFilterProc as HOOKPROC) as HHOOK 4656 #endif 4657 4658 declare function SetWindowsHookW(byval nFilterType as long, byval pfnFilterProc as HOOKPROC) as HHOOK 4659 4660 #ifdef UNICODE 4661 declare function SetWindowsHook alias "SetWindowsHookW"(byval nFilterType as long, byval pfnFilterProc as HOOKPROC) as HHOOK 4662 #endif 4663 4664 #define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx(*phhk, nCode, wParam, lParam) 4665 declare function UnhookWindowsHook(byval nCode as long, byval pfnFilterProc as HOOKPROC) as WINBOOL 4666 declare function SetWindowsHookExA(byval idHook as long, byval lpfn as HOOKPROC, byval hmod as HINSTANCE, byval dwThreadId as DWORD) as HHOOK 4667 4668 #ifndef UNICODE 4669 declare function SetWindowsHookEx alias "SetWindowsHookExA"(byval idHook as long, byval lpfn as HOOKPROC, byval hmod as HINSTANCE, byval dwThreadId as DWORD) as HHOOK 4670 #endif 4671 4672 declare function SetWindowsHookExW(byval idHook as long, byval lpfn as HOOKPROC, byval hmod as HINSTANCE, byval dwThreadId as DWORD) as HHOOK 4673 4674 #ifdef UNICODE 4675 declare function SetWindowsHookEx alias "SetWindowsHookExW"(byval idHook as long, byval lpfn as HOOKPROC, byval hmod as HINSTANCE, byval dwThreadId as DWORD) as HHOOK 4676 #endif 4677 4678 declare function UnhookWindowsHookEx(byval hhk as HHOOK) as WINBOOL 4679 declare function CallNextHookEx(byval hhk as HHOOK, byval nCode as long, byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT 4680 const MF_INSERT = &h00000000 4681 const MF_CHANGE = &h00000080 4682 const MF_APPEND = &h00000100 4683 const MF_DELETE = &h00000200 4684 const MF_REMOVE = &h00001000 4685 const MF_BYCOMMAND = &h00000000 4686 const MF_BYPOSITION = &h00000400 4687 const MF_SEPARATOR = &h00000800 4688 const MF_ENABLED = &h00000000 4689 const MF_GRAYED = &h00000001 4690 const MF_DISABLED = &h00000002 4691 const MF_UNCHECKED = &h00000000 4692 const MF_CHECKED = &h00000008 4693 const MF_USECHECKBITMAPS = &h00000200 4694 const MF_STRING = &h00000000 4695 const MF_BITMAP = &h00000004 4696 const MF_OWNERDRAW = &h00000100 4697 const MF_POPUP = &h00000010 4698 const MF_MENUBARBREAK = &h00000020 4699 const MF_MENUBREAK = &h00000040 4700 const MF_UNHILITE = &h00000000 4701 const MF_HILITE = &h00000080 4702 const MF_DEFAULT = &h00001000 4703 const MF_SYSMENU = &h00002000 4704 const MF_HELP = &h00004000 4705 const MF_RIGHTJUSTIFY = &h00004000 4706 const MF_MOUSESELECT = &h00008000 4707 const MF_END = &h00000080 4708 const MFT_STRING = MF_STRING 4709 const MFT_BITMAP = MF_BITMAP 4710 const MFT_MENUBARBREAK = MF_MENUBARBREAK 4711 const MFT_MENUBREAK = MF_MENUBREAK 4712 const MFT_OWNERDRAW = MF_OWNERDRAW 4713 const MFT_RADIOCHECK = &h00000200 4714 const MFT_SEPARATOR = MF_SEPARATOR 4715 const MFT_RIGHTORDER = &h00002000 4716 const MFT_RIGHTJUSTIFY = MF_RIGHTJUSTIFY 4717 const MFS_GRAYED = &h00000003 4718 const MFS_DISABLED = MFS_GRAYED 4719 const MFS_CHECKED = MF_CHECKED 4720 const MFS_HILITE = MF_HILITE 4721 const MFS_ENABLED = MF_ENABLED 4722 const MFS_UNCHECKED = MF_UNCHECKED 4723 const MFS_UNHILITE = MF_UNHILITE 4724 const MFS_DEFAULT = MF_DEFAULT 4725 declare function CheckMenuRadioItem(byval hmenu as HMENU, byval first as UINT, byval last as UINT, byval check as UINT, byval flags as UINT) as WINBOOL 4726 4727 type MENUITEMTEMPLATEHEADER 4728 versionNumber as WORD 4729 offset as WORD 4730 end type 4731 4732 type PMENUITEMTEMPLATEHEADER as MENUITEMTEMPLATEHEADER ptr 4733 4734 type MENUITEMTEMPLATE 4735 mtOption as WORD 4736 mtID as WORD 4737 mtString as wstring * 1 4738 end type 4739 4740 type PMENUITEMTEMPLATE as MENUITEMTEMPLATE ptr 4741 const MF_END = &h00000080 4742 const SC_SIZE = &hF000 4743 const SC_MOVE = &hF010 4744 const SC_MINIMIZE = &hF020 4745 const SC_MAXIMIZE = &hF030 4746 const SC_NEXTWINDOW = &hF040 4747 const SC_PREVWINDOW = &hF050 4748 const SC_CLOSE = &hF060 4749 const SC_VSCROLL = &hF070 4750 const SC_HSCROLL = &hF080 4751 const SC_MOUSEMENU = &hF090 4752 const SC_KEYMENU = &hF100 4753 const SC_ARRANGE = &hF110 4754 const SC_RESTORE = &hF120 4755 const SC_TASKLIST = &hF130 4756 const SC_SCREENSAVE = &hF140 4757 const SC_HOTKEY = &hF150 4758 const SC_DEFAULT = &hF160 4759 const SC_MONITORPOWER = &hF170 4760 const SC_CONTEXTHELP = &hF180 4761 const SC_SEPARATOR = &hF00F 4762 4763 #if _WIN32_WINNT >= &h0600 4764 const SCF_ISSECURE = &h00000001 4765 #endif 4766 4767 #define GET_SC_WPARAM(wParam) (clng(wParam) and &hfff0) 4768 const SC_ICON = SC_MINIMIZE 4769 const SC_ZOOM = SC_MAXIMIZE 4770 declare function LoadBitmapA(byval hInstance as HINSTANCE, byval lpBitmapName as LPCSTR) as HBITMAP 4771 4772 #ifndef UNICODE 4773 declare function LoadBitmap alias "LoadBitmapA"(byval hInstance as HINSTANCE, byval lpBitmapName as LPCSTR) as HBITMAP 4774 #endif 4775 4776 declare function LoadBitmapW(byval hInstance as HINSTANCE, byval lpBitmapName as LPCWSTR) as HBITMAP 4777 4778 #ifdef UNICODE 4779 declare function LoadBitmap alias "LoadBitmapW"(byval hInstance as HINSTANCE, byval lpBitmapName as LPCWSTR) as HBITMAP 4780 #endif 4781 4782 declare function LoadCursorA(byval hInstance as HINSTANCE, byval lpCursorName as LPCSTR) as HCURSOR 4783 4784 #ifndef UNICODE 4785 declare function LoadCursor alias "LoadCursorA"(byval hInstance as HINSTANCE, byval lpCursorName as LPCSTR) as HCURSOR 4786 #endif 4787 4788 declare function LoadCursorW(byval hInstance as HINSTANCE, byval lpCursorName as LPCWSTR) as HCURSOR 4789 4790 #ifdef UNICODE 4791 declare function LoadCursor alias "LoadCursorW"(byval hInstance as HINSTANCE, byval lpCursorName as LPCWSTR) as HCURSOR 4792 #endif 4793 4794 declare function LoadCursorFromFileA(byval lpFileName as LPCSTR) as HCURSOR 4795 4796 #ifndef UNICODE 4797 declare function LoadCursorFromFile alias "LoadCursorFromFileA"(byval lpFileName as LPCSTR) as HCURSOR 4798 #endif 4799 4800 declare function LoadCursorFromFileW(byval lpFileName as LPCWSTR) as HCURSOR 4801 4802 #ifdef UNICODE 4803 declare function LoadCursorFromFile alias "LoadCursorFromFileW"(byval lpFileName as LPCWSTR) as HCURSOR 4804 #endif 4805 4806 declare function CreateCursor(byval hInst as HINSTANCE, byval xHotSpot as long, byval yHotSpot as long, byval nWidth as long, byval nHeight as long, byval pvANDPlane as const any ptr, byval pvXORPlane as const any ptr) as HCURSOR 4807 declare function DestroyCursor(byval hCursor as HCURSOR) as WINBOOL 4808 #define CopyCursor(pcur) cast(HCURSOR, CopyIcon(cast(HICON, (pcur)))) 4809 #define IDC_ARROW MAKEINTRESOURCE(32512) 4810 #define IDC_IBEAM MAKEINTRESOURCE(32513) 4811 #define IDC_WAIT MAKEINTRESOURCE(32514) 4812 #define IDC_CROSS MAKEINTRESOURCE(32515) 4813 #define IDC_UPARROW MAKEINTRESOURCE(32516) 4814 #define IDC_SIZE MAKEINTRESOURCE(32640) 4815 #define IDC_ICON MAKEINTRESOURCE(32641) 4816 #define IDC_SIZENWSE MAKEINTRESOURCE(32642) 4817 #define IDC_SIZENESW MAKEINTRESOURCE(32643) 4818 #define IDC_SIZEWE MAKEINTRESOURCE(32644) 4819 #define IDC_SIZENS MAKEINTRESOURCE(32645) 4820 #define IDC_SIZEALL MAKEINTRESOURCE(32646) 4821 #define IDC_NO MAKEINTRESOURCE(32648) 4822 #define IDC_HAND MAKEINTRESOURCE(32649) 4823 #define IDC_APPSTARTING MAKEINTRESOURCE(32650) 4824 #define IDC_HELP MAKEINTRESOURCE(32651) 4825 4826 type _ICONINFO 4827 fIcon as WINBOOL 4828 xHotspot as DWORD 4829 yHotspot as DWORD 4830 hbmMask as HBITMAP 4831 hbmColor as HBITMAP 4832 end type 4833 4834 type ICONINFO as _ICONINFO 4835 type PICONINFO as ICONINFO ptr 4836 declare function SetSystemCursor(byval hcur as HCURSOR, byval id as DWORD) as WINBOOL 4837 declare function LoadIconA(byval hInstance as HINSTANCE, byval lpIconName as LPCSTR) as HICON 4838 4839 #ifndef UNICODE 4840 declare function LoadIcon alias "LoadIconA"(byval hInstance as HINSTANCE, byval lpIconName as LPCSTR) as HICON 4841 #endif 4842 4843 declare function LoadIconW(byval hInstance as HINSTANCE, byval lpIconName as LPCWSTR) as HICON 4844 4845 #ifdef UNICODE 4846 declare function LoadIcon alias "LoadIconW"(byval hInstance as HINSTANCE, byval lpIconName as LPCWSTR) as HICON 4847 #endif 4848 4849 declare function PrivateExtractIconsA(byval szFileName as LPCSTR, byval nIconIndex as long, byval cxIcon as long, byval cyIcon as long, byval phicon as HICON ptr, byval piconid as UINT ptr, byval nIcons as UINT, byval flags as UINT) as UINT 4850 4851 #ifndef UNICODE 4852 declare function PrivateExtractIcons alias "PrivateExtractIconsA"(byval szFileName as LPCSTR, byval nIconIndex as long, byval cxIcon as long, byval cyIcon as long, byval phicon as HICON ptr, byval piconid as UINT ptr, byval nIcons as UINT, byval flags as UINT) as UINT 4853 #endif 4854 4855 declare function PrivateExtractIconsW(byval szFileName as LPCWSTR, byval nIconIndex as long, byval cxIcon as long, byval cyIcon as long, byval phicon as HICON ptr, byval piconid as UINT ptr, byval nIcons as UINT, byval flags as UINT) as UINT 4856 4857 #ifdef UNICODE 4858 declare function PrivateExtractIcons alias "PrivateExtractIconsW"(byval szFileName as LPCWSTR, byval nIconIndex as long, byval cxIcon as long, byval cyIcon as long, byval phicon as HICON ptr, byval piconid as UINT ptr, byval nIcons as UINT, byval flags as UINT) as UINT 4859 #endif 4860 4861 declare function CreateIcon(byval hInstance as HINSTANCE, byval nWidth as long, byval nHeight as long, byval cPlanes as UBYTE, byval cBitsPixel as UBYTE, byval lpbANDbits as const UBYTE ptr, byval lpbXORbits as const UBYTE ptr) as HICON 4862 declare function DestroyIcon(byval hIcon as HICON) as WINBOOL 4863 declare function LookupIconIdFromDirectory(byval presbits as PBYTE, byval fIcon as WINBOOL) as long 4864 declare function LookupIconIdFromDirectoryEx(byval presbits as PBYTE, byval fIcon as WINBOOL, byval cxDesired as long, byval cyDesired as long, byval Flags as UINT) as long 4865 declare function CreateIconFromResource(byval presbits as PBYTE, byval dwResSize as DWORD, byval fIcon as WINBOOL, byval dwVer as DWORD) as HICON 4866 declare function CreateIconFromResourceEx(byval presbits as PBYTE, byval dwResSize as DWORD, byval fIcon as WINBOOL, byval dwVer as DWORD, byval cxDesired as long, byval cyDesired as long, byval Flags as UINT) as HICON 4867 4868 type tagCURSORSHAPE 4869 xHotSpot as long 4870 yHotSpot as long 4871 cx as long 4872 cy as long 4873 cbWidth as long 4874 Planes as UBYTE 4875 BitsPixel as UBYTE 4876 end type 4877 4878 type CURSORSHAPE as tagCURSORSHAPE 4879 type LPCURSORSHAPE as tagCURSORSHAPE ptr 4880 const IMAGE_BITMAP = 0 4881 const IMAGE_ICON = 1 4882 const IMAGE_CURSOR = 2 4883 const IMAGE_ENHMETAFILE = 3 4884 const LR_DEFAULTCOLOR = &h0000 4885 const LR_MONOCHROME = &h0001 4886 const LR_COLOR = &h0002 4887 const LR_COPYRETURNORG = &h0004 4888 const LR_COPYDELETEORG = &h0008 4889 const LR_LOADFROMFILE = &h0010 4890 const LR_LOADTRANSPARENT = &h0020 4891 const LR_DEFAULTSIZE = &h0040 4892 const LR_VGACOLOR = &h0080 4893 const LR_LOADMAP3DCOLORS = &h1000 4894 const LR_CREATEDIBSECTION = &h2000 4895 const LR_COPYFROMRESOURCE = &h4000 4896 const LR_SHARED = &h8000 4897 declare function LoadImageA(byval hInst as HINSTANCE, byval name as LPCSTR, byval type as UINT, byval cx as long, byval cy as long, byval fuLoad as UINT) as HANDLE 4898 4899 #ifndef UNICODE 4900 declare function