From ac1dac091933e12117f41f2df1887aeaf0b48054 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 21 Jun 2008 10:06:52 +0000 Subject: [PATCH] 2008-06-21 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * harbour-ce-spec * harbour-w32-spec * doc/whatsnew.txt ! Fixed version to be 1.0.0 RC1 [1.0.0RC1] * contrib/hbwhat32/winuser.ch ! Pulled from MinGW distribution. ; HbWhat32 compiles fine but I have seen a lot of contradictions in the header. Anybody using hbwhat32 needs to test it properly. May be in normal usage this is OK. [1.0.0RC1] * contrib/hbtpathy/telepath.prg ! Fixed embedded comments. [1.0.0RC1] * contrib/hbziparch/zip.c * contrib/hbziparch/zipfile.cpp * contrib/hbziparch/zipnew.cpp * contrib/hbziparch/zipplatform.cpp * contrib/hbziparch/zipstorage.cpp * Synced with xharbour. Added relative paths capability, removed memory leaks and minor refinements. ( code aported by Juan Galvez ) [1.0.0RC1] * include/hbgtinfo.ch ! Comment typo. [1.0.0RC1] * contrib/hbtpathy/tplinux.c * contrib/hbtpathy/telepath.prg ! Moved some commented "inline" stuff to C level. [1.0.0RC1] * Set version in harbour.spec to 1.0.0-RC1 * Set version in include/hbver.h to 1.0.0-RC1 [1.0.0RC1] --- harbour-1.0.0RC1/ChangeLog | 130 +- .../contrib/hbtpathy/telepath.prg | 202 +- harbour-1.0.0RC1/contrib/hbtpathy/tplinux.c | 334 +- harbour-1.0.0RC1/contrib/hbwhat32/winuser.ch | 8549 +++++------------ harbour-1.0.0RC1/contrib/hbziparch/zip.c | 287 +- .../contrib/hbziparch/zipfile.cpp | 2 + harbour-1.0.0RC1/contrib/hbziparch/zipnew.cpp | 6 +- .../contrib/hbziparch/zipplatform.cpp | 4 + .../contrib/hbziparch/zipstorage.cpp | 2 + harbour-1.0.0RC1/doc/whatsnew.txt | 8 +- harbour-1.0.0RC1/harbour-ce-spec | 8 +- harbour-1.0.0RC1/harbour-w32-spec | 8 +- harbour-1.0.0RC1/harbour.spec | 8 +- harbour-1.0.0RC1/include/hbgtinfo.ch | 2 +- harbour-1.0.0RC1/include/hbver.h | 9 +- 15 files changed, 2707 insertions(+), 6852 deletions(-) diff --git a/harbour-1.0.0RC1/ChangeLog b/harbour-1.0.0RC1/ChangeLog index 47b4d83c80..37becfe8b3 100644 --- a/harbour-1.0.0RC1/ChangeLog +++ b/harbour-1.0.0RC1/ChangeLog @@ -8,14 +8,54 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-06-21 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * harbour-ce-spec + * harbour-w32-spec + * doc/whatsnew.txt + ! Fixed version to be 1.0.0 RC1 + [1.0.0RC1] + + * contrib/hbwhat32/winuser.ch + ! Pulled from MinGW distribution. + ; HbWhat32 compiles fine but I have seen a lot of contradictions + in the header. Anybody using hbwhat32 needs to test it + properly. May be in normal usage this is OK. + [1.0.0RC1] + + * contrib/hbtpathy/telepath.prg + ! Fixed embedded comments. + [1.0.0RC1] + + * contrib/hbziparch/zip.c + * contrib/hbziparch/zipfile.cpp + * contrib/hbziparch/zipnew.cpp + * contrib/hbziparch/zipplatform.cpp + * contrib/hbziparch/zipstorage.cpp + * Synced with xharbour. Added relative paths capability, removed memory leaks and minor refinements. + ( code aported by Juan Galvez ) + [1.0.0RC1] + + * include/hbgtinfo.ch + ! Comment typo. + [1.0.0RC1] + + * contrib/hbtpathy/tplinux.c + * contrib/hbtpathy/telepath.prg + ! Moved some commented "inline" stuff to C level. + [1.0.0RC1] + + * Set version in harbour.spec to 1.0.0-RC1 + * Set version in include/hbver.h to 1.0.0-RC1 + [1.0.0RC1] + 2008-06-20 14:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/examples/hscript/bld_b32.bat ! Fixed to have hbzlib.lib - [RC1] + [1.0.0RC1] * contrib/hbtip/common.mak ! Added missing sendmail.prg - [RC1] + [1.0.0RC1] * contrib/hbtip/tests/base64.prg * contrib/hbtip/tests/dbtohtml.prg @@ -26,22 +66,22 @@ ! All tip tests fixed and tested to compile/link with Harbour. * Changed to not require hbw32.lib. - [RC1] + [1.0.0RC1] + contrib/hbtip/tests/test.dbf + Added for tests. - [RC1] + [1.0.0RC1] * source/rtl/gtclip.c ! hb_gt_w32_setClipboard() fix to CF_UNICODETEXT EOS char setting. - [RC1] + [1.0.0RC1] * source/rtl/gtwvt/gtwvt.c + Now showing the application's executable name in the window title on startup, instead of "Harbour WVT". * Window class name handling and control flow cleaned. - [RC1] + [1.0.0RC1] * tests/rto_get.prg * source/rtl/tget.prg @@ -49,7 +89,7 @@ to the original length with the original content. This also clears some existing differences in rto_get.prg. + Added regression test specifically for this. - [RC1] + [1.0.0RC1] * source/rtl/gtclip.c ! Added three LPWSTR casts to pacify warnings. @@ -62,25 +102,25 @@ ! Fixed get clipboard when CF_TEXT/CF_OEMTEXT format is used, so that an additionaly zero byte won't be appended anymore to the returned string. - [RC1] + [1.0.0RC1] * source/rtl/gtwvt/gtwvt.c * "HARBOUR_WVT" -> "Harbour WVT". This text is visible, so it's better to make it "desktop friendlier"". - [RC1] + [1.0.0RC1] * contrib/hbmzip/hbmzip.ch * contrib/hbmzip/hbmzip.c + Added error codes to hbmzip.ch + Interface code changed to use manifest constants instead of literals in a few places. - [RC1] + [1.0.0RC1] 2008-06-16 18:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/doc/en/adsfuncs.txt * contrib/rddads/doc/en/readme.txt + Updated. - [RC1] + [1.0.0RC1] * contrib/hbtip/tests/httpadv.prg * contrib/hbtip/tests/dnldftp.prg @@ -89,7 +129,7 @@ * contrib/hbtip/tests/loadhtml.prg * contrib/hbtip/tests/ftpadv.prg * Changed to compile in Harbour. - [RC1] + [1.0.0RC1] + contrib/hbtip/tests + contrib/hbtip/tests/bld_b32.bat @@ -107,16 +147,16 @@ + contrib/hbtip/tests/tiptime.prg + contrib/hbtip/tests/uploadftp.prg + Added TIP library tests from xhb repository. - [RC1] + [1.0.0RC1] * contrib/hbct/fcopy.prg ! Fixed crash in FILECOPY() (reported by Mario H. Sabado) - [RC1] + [1.0.0RC1] 2008-06-14 09:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rdd/dbcmd.c ! LUPDATE() buffer overread fixed. (hb_retds("")) - [RC1] + [1.0.0RC1] 2008-06-11 19:39 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/Makefile @@ -127,12 +167,12 @@ goes now to the official include dir. After this change has been merged with RC1, xhb.lib may be included in the default build. - [RC1] + [1.0.0RC1] * include/hbgtinfo.ch + Added comment to compatibility #defines, to not use them, since they're deprecated. - [RC1] + [1.0.0RC1] * include/hbgfx.ch * include/hbgfxdef.ch @@ -144,26 +184,26 @@ #define HB_GT_NO_XHB to disable the compatibility #defines, if it collides with your code or you want to test after transition. - ; [RC1] + ; [1.0.0RC1] * source/rtl/dirdrive.c ! Guarded C53 undoc functions with HB_C52_UNDOC, which is enabled so it won't make a difference in default builds. - ; [RC1] + ; [1.0.0RC1] * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * Fixed location where .libs are looked for. - [RC1] + [1.0.0RC1] * contrib/hbcurl/hbcurl.c % Minor cleanups. - [RC1] + [1.0.0RC1] * contrib/hbodbc/make_vc.bat ! Removed .dll -> .lib conversion for MSVC, since the .lib is provided by the MS SDK anyway. - ; [RC1] + ; [1.0.0RC1] * contrib/hbcurl/hbcurl.c * contrib/hbcurl/hbcurl.ch @@ -179,7 +219,7 @@ error would be thrown now. ! CURL_ESCAPE()/CURL_UNESCAPE() fixed picked parameter ordinal. + CURL_ESCAPE()/CURL_UNESCAPE() added parameter checking. - ; [RC1] + ; [1.0.0RC1] 2008-06-07 09:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c @@ -189,10 +229,10 @@ CURL_SHARE_STRERROR() CURL_MULTI_STRERROR() CURL_GETDATE() - [RC1] + [1.0.0RC1] * contrib/hbcurl/hbcurl.c - % Minor opt. [RC1] + % Minor opt. [1.0.0RC1] ; Not bugfixes per se, but I didn't want to leave a gap in behaviour. This are the final finishes to this lib. @@ -203,44 +243,44 @@ a font change. ! Fixed cursor SC_NORMAL height to be calculated from the font height, instead of being a static - number. [RC1] + number. [1.0.0RC1] % Few ""s -> NULL (also from RC1, but I forgot this - one from the ChangeLog) [RC1] + one from the ChangeLog) [1.0.0RC1] 2008-06-06 17:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbpgsql/make_b32.bat - - Removed special compiler switches no longer necessary. [RC1] + - Removed special compiler switches no longer necessary. [1.0.0RC1] * contrib/hbcurl/hbcurl.c + Now throws RTEs when required parameters are missing or the wrong type. The concept here is that RTEs are only to catch syntax mistakes, and not errors resulting - from actual libcurl usage/functionality/states. [RC1] + from actual libcurl usage/functionality/states. [1.0.0RC1] * contrib/hbapollo/apollo.ch - * Formatting. [RC1] + * Formatting. [1.0.0RC1] * contrib/hbapollo/common.mak * contrib/hbapollo/Makefile + contrib/hbapollo/apollo.ch - contrib/hbapollo/tests/apollo.ch - ! apollo.ch file was in tests by mistake. [RC1] + ! apollo.ch file was in tests by mistake. [1.0.0RC1] * harbour-w32-spec - ! Added 'svn:keywords "Author Date Id Revision"' [RC1] + ! Added 'svn:keywords "Author Date Id Revision"' [1.0.0RC1] * contrib/examples/pe/bld_b32.bat - ! Fixed. [RC1] + ! Fixed. [1.0.0RC1] * contrib/hbpgsql/make_vc.bat - + Now uses the .lib provided in the binary package. [RC1] + + Now uses the .lib provided in the binary package. [1.0.0RC1] (This needs the current 8.3.1 version) * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/hbpgsql/tests/bld_b32.bat * contrib/hbpgsql/tests/bld_vc.bat - ! Fixed to use the right .dll to generate the .lib. [RC1] + ! Fixed to use the right .dll to generate the .lib. [1.0.0RC1] * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/hbcurl.c @@ -257,13 +297,13 @@ HB_CURLOPT_POSTQUOTE HB_CURLOPT_PREQUOTE HB_CURLOPT_TELNETOPTIONS - ; [RC1] + ; [1.0.0RC1] * contrib/hbcurl/hbcurl.c - * Minor. [RC1] + * Minor. [1.0.0RC1] * contrib/hbcurl/hbcurl.c - ! Missing cast. [RC1] + ! Missing cast. [1.0.0RC1] * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/hbcurl.c @@ -283,37 +323,37 @@ * HB_CURLOPT_SETDOWNLOADFILE -> HB_CURLOPT_DL_FILE_SETUP * HB_CURLOPT_CLOSEDOWNLOADFILE -> HB_CURLOPT_DL_FILE_CLOSE * HB_CURLOPT_SETPROGRESS -> HB_CURLOPT_PROGRESSBLOCK - ; [RC1] + ; [1.0.0RC1] * contrib/hbcurl/hbcurl.c * Changed all logical options to default to .T.. This way all work the same way, and in real life usage the logical parameter can omitted in most cases. - INCOMPATIBLE. [RC1] + INCOMPATIBLE. [1.0.0RC1] * contrib/hbcurl/tests/ftp_uldl.prg - + Added small example to get a dir listing. [RC1] + + Added small example to get a dir listing. [1.0.0RC1] * contrib/hbcurl/hbcurl.c + Changed to use hb_parc() (instead of hb_parcx()) for all curl_easy_setopt() string options, so that NULL (NIL) will reset these options to default state, instead of passing - an empty string to them. [RC1] + an empty string to them. [1.0.0RC1] * source/rtl/hbbit.c + Added important NOTE about hb_bit*() functions' - relation to the compiler optimization engine. [RC1] + relation to the compiler optimization engine. [1.0.0RC1] 2008-06-05 00:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit2/Makefile ! Readded last char of last line. - [RC1] + [1.0.0RC1] 2008-06-04 22:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/rto_get.prg + Added keypress emulator to aid automated testing. + Added test for EMG's bug case. - [RC1] + [1.0.0RC1] 2008-06-04 19:54 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c diff --git a/harbour-1.0.0RC1/contrib/hbtpathy/telepath.prg b/harbour-1.0.0RC1/contrib/hbtpathy/telepath.prg index a1f72a60c0..d591fdac9f 100644 --- a/harbour-1.0.0RC1/contrib/hbtpathy/telepath.prg +++ b/harbour-1.0.0RC1/contrib/hbtpathy/telepath.prg @@ -7,8 +7,7 @@ * Telepathy emulation library * * Copyright 2000, 2001 Dan Levitt - * - * Copyright 2004, 2005 - Maurilio Longo + * Copyright 2004, 2005 Maurilio Longo * www - http://www.xharbour.org * * This program is free software; you can redistribute it and/or modify @@ -65,8 +64,8 @@ -STATIC aPorts // Array with port info -STATIC nErrorCode := 0 // Error code from last operation, 0 if no error +STATIC s_aPorts // Array with port info +STATIC s_nErrorCode := 0 // Error code from last operation, 0 if no error @@ -77,7 +76,7 @@ function tp_baud( nPort, nNewBaud ) default nNewBaud to 0 - if ! isport( nPort ) .OR. Empty( aPorts[ nPort, TPFP_NAME ] ) + if ! isport( nPort ) .OR. Empty( s_aPorts[ nPort, TPFP_NAME ] ) return TE_NOPORT endif @@ -86,13 +85,13 @@ function tp_baud( nPort, nNewBaud ) endif if nNewBaud > 0 - if ( nRes := p_InitPortSpeed( aPorts[ nPort, TPFP_HANDLE ] ,; + if ( nRes := p_InitPortSpeed( s_aPorts[ nPort, TPFP_HANDLE ] ,; nNewBaud,; - aPorts[ nPort, TPFP_DBITS ] ,; - aPorts[ nPort, TPFP_PARITY ] ,; - aPorts[ nPort, TPFP_SBITS ] ) ) == 0 + s_aPorts[ nPort, TPFP_DBITS ] ,; + s_aPorts[ nPort, TPFP_PARITY ] ,; + s_aPorts[ nPort, TPFP_SBITS ] ) ) == 0 - aPorts[ nPort, TPFP_BAUD ] := nNewBaud + s_aPorts[ nPort, TPFP_BAUD ] := nNewBaud else @@ -100,7 +99,7 @@ function tp_baud( nPort, nNewBaud ) endif endif -return aPorts[ nPort, TPFP_BAUD ] +return s_aPorts[ nPort, TPFP_BAUD ] @@ -151,16 +150,16 @@ function tp_close( nPort, nTimeout ) tp_flush( nPort, nTimeout ) endif - if aPorts[ nPort, TPFP_HANDLE ] >= 0 + if s_aPorts[ nPort, TPFP_HANDLE ] >= 0 - fClose( aPorts[ nPort, TPFP_HANDLE ] ) + fClose( s_aPorts[ nPort, TPFP_HANDLE ] ) /* Port parameters should stay the same for the case the port gets reopened */ - aPorts[ nPort, TPFP_OC ] := .F. - aPorts[ nPort, TPFP_INBUF ] := "" - aPorts[ nPort, TPFP_HANDLE ] := -1 + s_aPorts[ nPort, TPFP_OC ] := .F. + s_aPorts[ nPort, TPFP_INBUF ] := "" + s_aPorts[ nPort, TPFP_HANDLE ] := -1 endif return 0 @@ -173,15 +172,15 @@ function tp_reopen( nPort, nInSize, nOutSize ) default nInSize to 1536, nOutSize to 1536 - if ! isport( nPort ) .OR. Empty( aPorts[ nPort, TPFP_NAME ] ) + if ! isport( nPort ) .OR. Empty( s_aPorts[ nPort, TPFP_NAME ] ) return TE_NOPORT endif - cPortname := aPorts[ nPort, TPFP_NAME ] - nBaud := aPorts[ nPort, TPFP_BAUD ] - nData := aPorts[ nPort, TPFP_DBITS ] - cParity := aPorts[ nPort, TPFP_PARITY ] - nStop := aPorts[ nPort, TPFP_SBITS ] + cPortname := s_aPorts[ nPort, TPFP_NAME ] + nBaud := s_aPorts[ nPort, TPFP_BAUD ] + nData := s_aPorts[ nPort, TPFP_DBITS ] + cParity := s_aPorts[ nPort, TPFP_PARITY ] + nStop := s_aPorts[ nPort, TPFP_SBITS ] return tp_open( nPort, nInSize, nOutSize, nBaud, nData, cParity, nStop, cPortName ) @@ -233,37 +232,37 @@ function tp_open( nPort, nInSize, nOutSize, nBaud, nData, cParity, nStop, cPortn return TE_NOPORT endif - aPorts[ nPort, TPFP_NAME ] := cPortname - aPorts[ nPort, TPFP_BAUD ] := nBaud - aPorts[ nPort, TPFP_DBITS ] := nData - aPorts[ nPort, TPFP_PARITY ] := cParity - aPorts[ nPort, TPFP_SBITS ] := nStop - aPorts[ nPort, TPFP_OC ] := .F. - aPorts[ nPort, TPFP_INBUF ] := "" - aPorts[ nPort, TPFP_INBUF_SIZE ] := nInSize + s_aPorts[ nPort, TPFP_NAME ] := cPortname + s_aPorts[ nPort, TPFP_BAUD ] := nBaud + s_aPorts[ nPort, TPFP_DBITS ] := nData + s_aPorts[ nPort, TPFP_PARITY ] := cParity + s_aPorts[ nPort, TPFP_SBITS ] := nStop + s_aPorts[ nPort, TPFP_OC ] := .F. + s_aPorts[ nPort, TPFP_INBUF ] := "" + s_aPorts[ nPort, TPFP_INBUF_SIZE ] := nInSize #ifdef __PLATFORM__Linux // Maybe we should have a p_Open() on every platform - aPorts[ nPort, TPFP_HANDLE ] := p_Open( cPortname ) + s_aPorts[ nPort, TPFP_HANDLE ] := p_Open( cPortname ) #else - aPorts[ nPort, TPFP_HANDLE ] := fOpen( cPortname, FO_READWRITE ) + s_aPorts[ nPort, TPFP_HANDLE ] := fOpen( cPortname, FO_READWRITE ) #endif - if aPorts[ nPort, TPFP_HANDLE ] >= 0 + if s_aPorts[ nPort, TPFP_HANDLE ] >= 0 /* low level C functions are prefixed p_ (don't ask me why :)) */ - if ( nRes := p_InitPortSpeed( aPorts[ nPort, TPFP_HANDLE ] ,; - aPorts[ nPort, TPFP_BAUD ] ,; - aPorts[ nPort, TPFP_DBITS ] ,; - aPorts[ nPort, TPFP_PARITY ] ,; - aPorts[ nPort, TPFP_SBITS ] ) ) == 0 + if ( nRes := p_InitPortSpeed( s_aPorts[ nPort, TPFP_HANDLE ] ,; + s_aPorts[ nPort, TPFP_BAUD ] ,; + s_aPorts[ nPort, TPFP_DBITS ] ,; + s_aPorts[ nPort, TPFP_PARITY ] ,; + s_aPorts[ nPort, TPFP_SBITS ] ) ) == 0 - aPorts[ nPort, TPFP_OC ] := .T. + s_aPorts[ nPort, TPFP_OC ] := .T. return nRes else - tp_Close( aPorts[ nPort, TPFP_HANDLE ] ) + tp_Close( s_aPorts[ nPort, TPFP_HANDLE ] ) return nRes endif @@ -273,15 +272,15 @@ function tp_open( nPort, nInSize, nOutSize, nBaud, nData, cParity, nStop, cPortn // set error code to a static var to have tp_error() work as expected //cnHandle := ferror() - aPorts[ nPort, TPFP_NAME ] := "" - aPorts[ nPort, TPFP_HANDLE ] := -1 - aPorts[ nPort, TPFP_BAUD ] := 1200 - aPorts[ nPort, TPFP_DBITS ] := 8 - aPorts[ nPort, TPFP_PARITY ] := "N" - aPorts[ nPort, TPFP_SBITS ] := 1 - aPorts[ nPort, TPFP_OC ] := .F. - aPorts[ nPort, TPFP_INBUF ] := "" - aPorts[ nPort, TPFP_INBUF_SIZE ] := 0 + s_aPorts[ nPort, TPFP_NAME ] := "" + s_aPorts[ nPort, TPFP_HANDLE ] := -1 + s_aPorts[ nPort, TPFP_BAUD ] := 1200 + s_aPorts[ nPort, TPFP_DBITS ] := 8 + s_aPorts[ nPort, TPFP_PARITY ] := "N" + s_aPorts[ nPort, TPFP_SBITS ] := 1 + s_aPorts[ nPort, TPFP_OC ] := .F. + s_aPorts[ nPort, TPFP_INBUF ] := "" + s_aPorts[ nPort, TPFP_INBUF_SIZE ] := 0 return TE_CONFL // maybe should return something different? @@ -292,14 +291,14 @@ function tp_recv( nPort, nLength, nTimeout ) local nDone local cRet := "" - default nLength to aPorts[ nPort, TPFP_INBUF_SIZE ] + default nLength to s_aPorts[ nPort, TPFP_INBUF_SIZE ] default nTimeout to 0 FetchChars( nPort ) nDone := Seconds() + iif( nTimeout >= 0, nTimeout, 0 ) - while Len( aPorts[ nPort, TPFP_INBUF ] ) < nLength .AND.; + while Len( s_aPorts[ nPort, TPFP_INBUF ] ) < nLength .AND.; ( nTimeout < 0 .OR. Seconds() < nDone ) if ! tp_idle() @@ -310,12 +309,12 @@ function tp_recv( nPort, nLength, nTimeout ) enddo - if nLength > Len( aPorts[ nPort, TPFP_INBUF ] ) - cRet := aPorts[ nPort, TPFP_INBUF ] - aPorts[ nPort, TPFP_INBUF ] := "" + if nLength > Len( s_aPorts[ nPort, TPFP_INBUF ] ) + cRet := s_aPorts[ nPort, TPFP_INBUF ] + s_aPorts[ nPort, TPFP_INBUF ] := "" else - cRet := SubStr( aPorts[ nPort, TPFP_INBUF ], 1, nLength ) - aPorts[ nPort, TPFP_INBUF ] := SubStr( aPorts[ nPort, TPFP_INBUF ], nLength + 1 ) + cRet := SubStr( s_aPorts[ nPort, TPFP_INBUF ], 1, nLength ) + s_aPorts[ nPort, TPFP_INBUF ] := SubStr( s_aPorts[ nPort, TPFP_INBUF ], nLength + 1 ) endif return cRet @@ -342,7 +341,7 @@ function tp_send( nPort, cString, nTimeout ) while nTotWritten < Len( cString ) .AND. ; ( nTimeout < 0 .OR. Seconds() <= nDone ) - nWritten := p_WritePort( aPorts[ nPort, TPFP_HANDLE ], SubStr( cString, nTotWritten + 1 ) ) + nWritten := p_WritePort( s_aPorts[ nPort, TPFP_HANDLE ], SubStr( cString, nTotWritten + 1 ) ) if nWritten >= 0 @@ -389,7 +388,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) return "" endif - if ValType( cDelim ) <> "C" .OR. Empty( cDelim ) + if !( ValType( cDelim ) == "C" ) .OR. Empty( cDelim ) return "" endif @@ -401,7 +400,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) /* Telepathy ng: [...] If nTimeout is omitted or zero, reads until finding the delimiter or the input buffer is empty. */ - if nTimeout == 0 .AND. Empty( aPorts[ nPort, TPFP_INBUF ] ) + if nTimeout == 0 .AND. Empty( s_aPorts[ nPort, TPFP_INBUF ] ) return "" endif @@ -411,7 +410,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) if Len( cDelim ) == 1 - nAt := hb_At( cDelim, aPorts[ nPort, TPFP_INBUF ], nStartPos ) + nAt := hb_At( cDelim, s_aPorts[ nPort, TPFP_INBUF ], nStartPos ) if nAt > 0 .AND. iif( nFirst > 0, nAt < nFirst, .T. ) nFirst := nAt @@ -421,7 +420,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) FOR EACH cChar IN cDelim - nAt := hb_At( cChar, aPorts[ nPort, TPFP_INBUF ], nStartPos ) + nAt := hb_At( cChar, s_aPorts[ nPort, TPFP_INBUF ], nStartPos ) if nAt > 0 .AND. iif( nFirst > 0, nAt < nFirst, .T. ) nFirst := nAt @@ -438,7 +437,7 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) else // Next loop I don't need to search that part of the input buffer that // I've already just searched for - nStartPos := Max( Len( aPorts[ nPort, TPFP_INBUF ] ), 1 ) + nStartPos := Max( Len( s_aPorts[ nPort, TPFP_INBUF ] ), 1 ) // I've read more characters than I'm allowed to, so I exit if nStartPos >= nMaxLen @@ -455,8 +454,8 @@ function tp_recvto( nPort, cDelim, nMaxlen, nTimeout ) enddo if nFirst > 0 - cRet := Left( aPorts[ nPort, TPFP_INBUF ], nFirst ) - aPorts[ nPort, TPFP_INBUF ] := SubStr( aPorts[ nPort, TPFP_INBUF ], nFirst + 1 ) + cRet := Left( s_aPorts[ nPort, TPFP_INBUF ], nFirst ) + s_aPorts[ nPort, TPFP_INBUF ] := SubStr( s_aPorts[ nPort, TPFP_INBUF ], nFirst + 1 ) endif return cRet @@ -477,7 +476,7 @@ function tp_lookfor( nPort, cLookfor ) FetchChars( nPort ) -return At( cLookfor, aPorts[ nPort, TPFP_INBUF ] ) +return At( cLookfor, s_aPorts[ nPort, TPFP_INBUF ] ) @@ -489,7 +488,7 @@ function tp_inchrs( nPort ) FetchChars( nPort ) -return Len( aPorts[ nPort, TPFP_INBUF ] ) +return Len( s_aPorts[ nPort, TPFP_INBUF ] ) @@ -499,7 +498,7 @@ function tp_outfree( nPort ) return 0 endif -return p_OutFree( aPorts[ nPort, TPFP_HANDLE ] ) +return p_OutFree( s_aPorts[ nPort, TPFP_HANDLE ] ) @@ -507,7 +506,7 @@ function tp_clearin( nPort ) if isopenport( nPort ) FetchChars( nPort ) - aPorts[ nPort, TPFP_INBUF ] := "" + s_aPorts[ nPort, TPFP_INBUF ] := "" endif return nil @@ -561,6 +560,7 @@ function tp_waitfor( ... ) endif while ( nDone > _clock() .or. nFirst == 100000 ) .and. ! tp_idle() + if nFirst == 100000 nFirst := 99999 endif @@ -569,9 +569,9 @@ function tp_waitfor( ... ) for x := 1 to len( acList ) if lIgnorecase - nAt := at( upper( acList[ x ] ), upper( aPorts[ nPort, TPFP_INBUF ] )) + nAt := at( upper( acList[ x ] ), upper( s_aPorts[ nPort, TPFP_INBUF ] )) else - nAt := at( acList[ x ] , aPorts[ nPort, TPFP_INBUF ] ) + nAt := at( acList[ x ] , s_aPorts[ nPort, TPFP_INBUF ] ) endif if nAt > 0 .and. nAt < nFirst nFirst := nAt @@ -582,10 +582,11 @@ function tp_waitfor( ... ) if nFirst < 64000 exit endif - hb_inline() - { - sched_yield(); - } + +#if 0 + sched_yield() // C level function +#endif + enddo if nFirst < 64000 @@ -609,10 +610,10 @@ function tp_ctrlcts( nPort, nNewCtrl ) endif if Valtype( nNewCtrl ) == "U" - nCurValue := p_ctrlcts( aPorts[ nPort, TPFP_HANDLE ] ) + nCurValue := p_ctrlcts( s_aPorts[ nPort, TPFP_HANDLE ] ) else - nCurValue := p_ctrlcts( aPorts[ nPort, TPFP_HANDLE ], nNewCtrl ) + nCurValue := p_ctrlcts( s_aPorts[ nPort, TPFP_HANDLE ], nNewCtrl ) endif @@ -638,30 +639,9 @@ function tp_ctrldtr( nPort, nParamNewval ) if ! isopenport( nPort ) return -1 endif - nph := aPorts[ nPort, TPFP_HANDLE ] - HB_INLINE(nph, @nnewval, @noldval) - { - double nph = hb_parnd(1); - double nnewval, noldval; - unsigned int result = 0; - ioctl( nph, TIOCMGET, &result ); - if ( result & TIOCM_DTR ) - noldval = 1; - else - noldval = 0; + nph := s_aPorts[ nPort, TPFP_HANDLE ] - if ( noldval != nnewval ) - { - if ( nnewval == 0 ) - result &= ~TIOCM_DTR; - else - result |= TIOCM_DTR; - - ioctl( nph, TIOCMSET, &result ); - } - hb_stornd(nnewval,2); - hb_stornd(noldval,3); - } + _P_CTRLDTR(nph, @nnewval, @noldval) return noldval */ @@ -674,7 +654,7 @@ function tp_isdcd( nPort ) return .f. endif -return p_isdcd( aPorts[ nPort, TPFP_HANDLE ] ) +return p_isdcd( s_aPorts[ nPort, TPFP_HANDLE ] ) @@ -684,7 +664,7 @@ function tp_isri( nPort ) return .f. endif -return p_isri( aPorts[ nPort, TPFP_HANDLE ] ) +return p_isri( s_aPorts[ nPort, TPFP_HANDLE ] ) @@ -694,7 +674,7 @@ function tp_isdsr( nPort ) return .f. endif -return p_isdsr( aPorts[ nPort, TPFP_HANDLE ] ) +return p_isdsr( s_aPorts[ nPort, TPFP_HANDLE ] ) @@ -704,7 +684,7 @@ function tp_iscts( nPort ) return .f. endif -return p_iscts( aPorts[ nPort, TPFP_HANDLE ] ) +return p_iscts( s_aPorts[ nPort, TPFP_HANDLE ] ) @@ -722,7 +702,7 @@ function tp_flush( nPort, nTimeout ) return TE_CLOSED endif - nRes := p_Drain( aPorts[ nPort, TPFP_HANDLE ] ) + nRes := p_Drain( s_aPorts[ nPort, TPFP_HANDLE ] ) // Sleep rest of timeout /* @@ -789,7 +769,7 @@ static function isopenport( nPort ) return .f. endif -return aPorts[ nPort, TPFP_OC ] +return s_aPorts[ nPort, TPFP_OC ] @@ -811,10 +791,10 @@ static function FetchChars( nPort ) return 0 endif - cStr := p_ReadPort( aPorts[ nPort, TPFP_HANDLE ] ) + cStr := p_ReadPort( s_aPorts[ nPort, TPFP_HANDLE ] ) if ! Empty( cStr ) - aPorts[ nPort, TPFP_INBUF ] += cStr + s_aPorts[ nPort, TPFP_INBUF ] += cStr endif return Len( cStr ) @@ -825,11 +805,11 @@ INIT PROCEDURE _tpinit() local x - if aPorts == nil - aPorts := array( TP_MAXPORTS ) - for x := 1 to len( aPorts ) + if s_aPorts == nil + s_aPorts := array( TP_MAXPORTS ) + for x := 1 to len( s_aPorts ) /// port name, file handle, baud, data bits, parity, stop bits, Open?, input buffer, input buff.size - aPorts[ x ] := { "", -1, 1200, 8, "N", 1, .F., "", 0 } + s_aPorts[ x ] := { "", -1, 1200, 8, "N", 1, .F., "", 0 } next endif diff --git a/harbour-1.0.0RC1/contrib/hbtpathy/tplinux.c b/harbour-1.0.0RC1/contrib/hbtpathy/tplinux.c index 968fd99b6e..158cfb796a 100644 --- a/harbour-1.0.0RC1/contrib/hbtpathy/tplinux.c +++ b/harbour-1.0.0RC1/contrib/hbtpathy/tplinux.c @@ -54,8 +54,8 @@ * */ -#define _CLIPDEFS_H - +#include "hbapi.h" +#include "hbapiitm.h" #include "hbapifs.h" #ifdef HB_OS_UNIX @@ -68,24 +68,16 @@ #include /* POSIX terminal control definitions */ #include -#include "extend.api" -#include "item.api" +HB_FUNC( P_OPEN ) +{ + int fd = open( hb_parcx( 1 ), O_RDWR | O_NOCTTY | O_NDELAY ); /* File descriptor for the port */ -HB_FUNC( P_OPEN ) { - - int fd; /* File descriptor for the port */ - - fd = open( hb_parcx( 1 ), O_RDWR | O_NOCTTY | O_NDELAY ); - - if (fd != -1) { + if( fd != -1 ) fcntl( fd, F_SETFL, 0 ); - } hb_retnl( fd ); } - - /* p_InitPortSpeed( aPorts[ nPort, TPFP_HANDLE ] ,; aPorts[ nPort, TPFP_BAUD ] ,; @@ -93,122 +85,64 @@ p_InitPortSpeed( aPorts[ nPort, TPFP_HANDLE ] ,; aPorts[ nPort, TPFP_PARITY ] ,; aPorts[ nPort, TPFP_SBITS ] ) */ -HB_FUNC( P_INITPORTSPEED ) { - +HB_FUNC( P_INITPORTSPEED ) +{ struct termios options; int port = hb_parnl( 1 ); int baud = B300; - char *ptr = hb_parcx( 4 ); + char * ptr = hb_parcx( 4 ); int rc; tcgetattr( port, &options ); - // let's set baud rate - switch ( hb_parnl( 2 ) ) { - - case 0: - baud = B0; // Drop line - break; - - case 50: - baud = B50; - break; - - case 75: - baud = B75; - break; - - case 110: - baud = B110; - break; - - case 150: - baud = B150; - break; - - case 200: - baud = B200; - break; - - case 300: - baud = B300; - break; - - case 600: - baud = B600; - break; - - case 1200: - baud = B1200; - break; - - case 1800: - baud = B1800; - break; - - case 2400: - baud = B2400; - break; - - case 4800: - baud = B4800; - break; - - case 9600: - baud = B9600; - break; - - case 19200: - baud = B19200; - break; - - case 38400: - baud = B38400; - break; - - case 57600: - baud = B57600; - break; - - case 115200: - baud = B115200; - break; - - case 230400: - baud = B230400; - break; + /* let's set baud rate */ + switch( hb_parnl( 2 ) ) + { + case 0: baud = B0; break; /* Drop line */ + case 50: baud = B50; break; + case 75: baud = B75; break; + case 110: baud = B110; break; + case 150: baud = B150; break; + case 200: baud = B200; break; + case 300: baud = B300; break; + case 600: baud = B600; break; + case 1200: baud = B1200; break; + case 1800: baud = B1800; break; + case 2400: baud = B2400; break; + case 4800: baud = B4800; break; + case 9600: baud = B9600; break; + case 19200: baud = B19200; break; + case 38400: baud = B38400; break; + case 57600: baud = B57600; break; + case 115200: baud = B115200; break; + case 230400: baud = B230400; break; } cfsetispeed( &options, baud ); cfsetospeed( &options, baud ); - // Enable the receiver and set local mode... + /* Enable the receiver and set local mode... */ options.c_cflag |= ( CLOCAL | CREAD ); - // Raw input from device + /* Raw input from device */ cfmakeraw( &options ); - // Reset data bits ( cfmakeraw() puts it to CS8 ) + /* Reset data bits ( cfmakeraw() puts it to CS8 ) */ options.c_cflag &= ~CSIZE; - // Data bits - if ( hb_parni( 3 ) == 8 ) { - + /* Data bits */ + if( hb_parni( 3 ) == 8 ) options.c_cflag |= CS8; - - } else { - + else options.c_cflag |= CS7; - } - // Stop bits - if ( hb_parni( 5 ) == 1 ) { + /* Stop bits */ + if( hb_parni( 5 ) == 1 ) options.c_cflag &= ~CSTOPB; - } - - // Parity, only No, Even, Odd supported - switch ( *ptr ) { + /* Parity, only No, Even, Odd supported */ + switch ( *ptr ) + { case 'N': case 'n': options.c_cflag &= ~PARENB; @@ -233,157 +167,90 @@ HB_FUNC( P_INITPORTSPEED ) { break; } - - // Every read() call returns as soon as a char is available OR after 3 tenths of a second + /* Every read() call returns as soon as a char is available OR after 3 tenths of a second */ options.c_cc[ VMIN ] = 0; options.c_cc[ VTIME ] = 3; - // Set the new options for the port... + /* Set the new options for the port... */ rc = tcsetattr( port, TCSAFLUSH, &options ); hb_retnl( rc ); } +HB_FUNC( P_READPORT ) +{ + char Buffer[ 512 ]; + int nRead = read( hb_parnl( 1 ), Buffer, sizeof( Buffer ) ); - -HB_FUNC( P_READPORT ) { - - char Buffer[512]; - int nRead; - - nRead = read( hb_parnl( 1 ), Buffer, 512 ); - - if ( nRead < 0 ) { - - hb_retclen( "", 0 ); - - } else { - - hb_retclen( Buffer, nRead ); - } + hb_retclen( nRead > 0 ? Buffer : NULL, nRead ); } +HB_FUNC( P_WRITEPORT ) +{ + long n = write( hb_parnl( 1 ), hb_parcx( 2 ), hb_parclen( 2 ) ); - -HB_FUNC( P_WRITEPORT ) { - - long n; - - n = write( hb_parnl( 1 ), hb_parcx( 2 ), hb_parclen( 2 ) ); - - if ( n < 0 ) { - - hb_retnl( -1 ); - - } else { - - hb_retnl( n ); - } + hb_retnl( n < 0 ? -1 : n ); } - - -HB_FUNC( P_DRAIN ) { - +HB_FUNC( P_DRAIN ) +{ hb_retnl( tcdrain( hb_parnl( 1 ) ) ); - } - - -HB_FUNC( P_OUTFREE ) { +HB_FUNC( P_OUTFREE ) +{ /* APIRET rc; RXQUEUE rxqueue = { 0 }; - if ( ( rc = DosDevIOCtl( (HFILE) hb_parnl( 1 ), IOCTL_ASYNC, ASYNC_GETOUTQUECOUNT, - NULL, 0L, NULL, &rxqueue, sizeof(RXQUEUE), NULL ) ) == NO_ERROR ) { - + if ( ( rc = DosDevIOCtl( ( HFILE ) hb_parnl( 1 ), IOCTL_ASYNC, ASYNC_GETOUTQUECOUNT, + NULL, 0L, NULL, &rxqueue, sizeof( RXQUEUE ), NULL ) ) == NO_ERROR ) hb_retnl( rxqueue.cb - rxqueue.cch ); - - } else { - // Put GetLastError() here, or better a second byref param? - hb_retnl( -1 ); - } - + else + hb_retnl( -1 ); /* Put GetLastError() here, or better a second byref param? */ */ - } - - -HB_FUNC( P_ISDCD ) { - +HB_FUNC( P_ISDCD ) +{ int status; - int rc; - rc = ioctl( hb_parnl( 1 ), TIOCMGET, &status ); - - if ( rc == 0 ) { + if ( ioctl( hb_parnl( 1 ), TIOCMGET, &status ) == 0 ) hb_retl( ( status & TIOCM_CD ) == TIOCM_CD ); - - } else { - + else hb_retl( FALSE ); - } } - - -HB_FUNC( P_ISRI ) { - +HB_FUNC( P_ISRI ) +{ int status; - int rc; - rc = ioctl( hb_parnl( 1 ), TIOCMGET, &status ); - - if ( rc == 0 ) { + if ( ioctl( hb_parnl( 1 ), TIOCMGET, &status ) == 0 ) hb_retl( ( status & TIOCM_RI ) == TIOCM_RI ); - - } else { - + else hb_retl( FALSE ); - } } - - -HB_FUNC( P_ISDSR ) { - +HB_FUNC( P_ISDSR ) +{ int status; - int rc; - rc = ioctl( hb_parnl( 1 ), TIOCMGET, &status ); - - if ( rc == 0 ) { + if ( ioctl( hb_parnl( 1 ), TIOCMGET, &status ) == 0 ) hb_retl( ( status & TIOCM_DSR ) == TIOCM_DSR ); - - } else { - + else hb_retl( FALSE ); - } } - - -HB_FUNC( P_ISCTS ) { - +HB_FUNC( P_ISCTS ) +{ int status; - int rc; - rc = ioctl( hb_parnl( 1 ), TIOCMGET, &status ); - - if ( rc == 0 ) { + if ( ioctl( hb_parnl( 1 ), TIOCMGET, &status ) == 0 ) hb_retl( ( status & TIOCM_CTS ) == TIOCM_CTS ); - - } else { - + else hb_retl( FALSE ); - } } - - HB_FUNC( P_CTRLCTS ) { struct termios options; @@ -395,20 +262,47 @@ HB_FUNC( P_CTRLCTS ) { tcgetattr( port, &options ); curvalue = ( options.c_cflag & CRTSCTS ) == CRTSCTS; - if ( newvalue == 0 ) { + if( newvalue == 0 ) options.c_cflag &= ~CRTSCTS; + else if( newvalue == 1 ) + options.c_cflag |= CRTSCTS; - } else { - if ( newvalue == 1 ) { - options.c_cflag |= CRTSCTS; - } - } - - if ( newvalue >= 0 ) { + if( newvalue >= 0 ) rc = tcsetattr( port, TCSAFLUSH, &options ); - } hb_retni( curvalue ? 1 : 0 ); - } -#endif // HB_OS_UNIX + +#if 0 + +/* Inline function moved here from telepath.prg */ +HB_FUNC( _P_CTRLDTR ) +{ + double nph = hb_parnd( 1 ); + double nnewval, noldval; + unsigned int result = 0; + + ioctl( nph, TIOCMGET, &result ); + + if( result & TIOCM_DTR ) + noldval = 1; + else + noldval = 0; + + if( noldval != nnewval ) + { + if( nnewval == 0 ) + result &= ~TIOCM_DTR; + else + result |= TIOCM_DTR; + + ioctl( nph, TIOCMSET, &result ); + } + + hb_stornd( nnewval, 2 ); + hb_stornd( noldval, 3 ); +} + +#endif + +#endif /* HB_OS_UNIX */ diff --git a/harbour-1.0.0RC1/contrib/hbwhat32/winuser.ch b/harbour-1.0.0RC1/contrib/hbwhat32/winuser.ch index 7495b1e0d9..f2bf29ae53 100644 --- a/harbour-1.0.0RC1/contrib/hbwhat32/winuser.ch +++ b/harbour-1.0.0RC1/contrib/hbwhat32/winuser.ch @@ -2,6317 +2,2240 @@ * $Id$ */ -* Automatically translated from winuser.h by hConvert.EXE -* (Copyright PC Wise Technology) AJ Wos (andrwos@global.co.za) 1998-2000 -* Fitness for any particular purpose is not guaranteed nor implied. -* It is recommended to verify the correctness of the file before use. +#define FALT 16 +#define FCONTROL 8 +#define FNOINVERT 2 +#define FSHIFT 4 +#define FVIRTKEY 1 +#define ATF_TIMEOUTON 1 +#define ATF_ONOFFFEEDBACK 2 +#define ATF_AVAILABLE 4 /* May be obsolete. Not in recent MS docs. */ +#define WH_MIN (-1) +#define WH_MSGFILTER (-1) +#define WH_JOURNALRECORD 0 +#define WH_JOURNALPLAYBACK 1 +#define WH_KEYBOARD 2 +#define WH_GETMESSAGE 3 +#define WH_CALLWNDPROC 4 +#define WH_CBT 5 +#define WH_SYSMSGFILTER 6 +#define WH_MOUSE 7 +#define WH_HARDWARE 8 +#define WH_DEBUG 9 +#define WH_SHELL 10 +#define WH_FOREGROUNDIDLE 11 +#define WH_CALLWNDPROCRET 12 +#define WH_KEYBOARD_LL 13 +#define WH_MOUSE_LL 14 +#define WH_MAX 14 +#define WH_MINHOOK WH_MIN +#define WH_MAXHOOK WH_MAX +#define HC_ACTION 0 +#define HC_GETNEXT 1 +#define HC_SKIP 2 +#define HC_NOREMOVE 3 +#define HC_NOREM 3 +#define HC_SYSMODALON 4 +#define HC_SYSMODALOFF 5 +#define HCBT_MOVESIZE 0 +#define HCBT_MINMAX 1 +#define HCBT_QS 2 +#define HCBT_CREATEWND 3 +#define HCBT_DESTROYWND 4 +#define HCBT_ACTIVATE 5 +#define HCBT_CLICKSKIPPED 6 +#define HCBT_KEYSKIPPED 7 +#define HCBT_SYSCOMMAND 8 +#define HCBT_SETFOCUS 9 +#define CF_TEXT 1 +#define CF_BITMAP 2 +#define CF_METAFILEPICT 3 +#define CF_SYLK 4 +#define CF_DIF 5 +#define CF_TIFF 6 +#define CF_OEMTEXT 7 +#define CF_DIB 8 +#define CF_PALETTE 9 +#define CF_PENDATA 10 +#define CF_RIFF 11 +#define CF_WAVE 12 +#define CF_UNICODETEXT 13 +#define CF_ENHMETAFILE 14 +#define CF_HDROP 15 +#define CF_LOCALE 16 +#define CF_MAX 17 +#define CF_OWNERDISPLAY 128 +#define CF_DSPTEXT 129 +#define CF_DSPBITMAP 130 +#define CF_DSPMETAFILEPICT 131 +#define CF_DSPENHMETAFILE 142 +#define CF_PRIVATEFIRST 512 +#define CF_PRIVATELAST 767 +#define CF_GDIOBJFIRST 768 +#define CF_GDIOBJLAST 1023 +#define HKL_NEXT 1 +#define HKL_PREV 0 +#define KLF_ACTIVATE 1 +#define KLF_SUBSTITUTE_OK 2 +#define KLF_UNLOADPREVIOUS 4 +#define KLF_REORDER 8 +#define KLF_REPLACELANG 16 +#define KLF_NOTELLSHELL 128 +#define KLF_SETFORPROCESS 256 +#define KL_NAMELENGTH 9 +#define MF_ENABLED 0 +#define MF_GRAYED 1 +#define MF_DISABLED 2 +#define MF_BITMAP 4 +#define MF_CHECKED 8 +#define MF_MENUBARBREAK 32 +#define MF_MENUBREAK 64 +#define MF_OWNERDRAW 256 +#define MF_POPUP 16 +#define MF_SEPARATOR 0x800 +#define MF_STRING 0 +#define MF_UNCHECKED 0 +#define MF_DEFAULT 4096 +#define MF_SYSMENU 0x2000 +#define MF_HELP 0x4000 +#define MF_END 128 +#define MF_RIGHTJUSTIFY 0x4000 +#define MF_MOUSESELECT 0x8000 +#define MF_INSERT 0 +#define MF_CHANGE 128 +#define MF_APPEND 256 +#define MF_DELETE 512 +#define MF_REMOVE 4096 +#define MF_USECHECKBITMAPS 512 +#define MF_UNHILITE 0 +#define MF_HILITE 128 + +/* Also defined in dbt.h */ +#define BSM_ALLCOMPONENTS 0 +#define BSM_APPLICATIONS 8 +#define BSM_ALLDESKTOPS 16 +#define BSM_INSTALLABLEDRIVERS 4 +#define BSM_NETDRIVER 2 +#define BSM_VXDS 1 +#define BSF_FLUSHDISK 0x00000004 +#define BSF_FORCEIFHUNG 0x00000020 +#define BSF_IGNORECURRENTTASK 0x00000002 +#define BSF_NOHANG 0x00000008 +#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040 +#define BSF_POSTMESSAGE 0x00000010 +#define BSF_QUERY 0x00000001 +#define BSF_ALLOWSFW 0x00000080 +#define BSF_SENDNOTIFYMESSAGE 0x00000100 +#define BSF_LUID 0x00000400 +#define BSF_RETURNHDESK 0x00000200 + +#define BROADCAST_QUERY_DENY 1112363332 +#define ENUM_CURRENT_SETTINGS ((DWORD)-1) +#define ENUM_REGISTRY_SETTINGS ((DWORD)-2) +#define CDS_UPDATEREGISTRY 1 +#define CDS_TEST 2 +#define CDS_FULLSCREEN 4 +#define CDS_GLOBAL 8 +#define CDS_SET_PRIMARY 16 +#define CDS_RESET 0x40000000 +#define CDS_SETRECT 0x20000000 +#define CDS_NORESET 0x10000000 +#define DISP_CHANGE_SUCCESSFUL 0 +#define DISP_CHANGE_RESTART 1 +#define DISP_CHANGE_FAILED (-1) +#define DISP_CHANGE_BADMODE (-2) +#define DISP_CHANGE_NOTUPDATED (-3) +#define DISP_CHANGE_BADFLAGS (-4) +#define DISP_CHANGE_BADPARAM (-5) +#define DISP_CHANGE_BADDUALVIEW (-6) +#define BST_CHECKED 1 +#define BST_INDETERMINATE 2 +#define BST_UNCHECKED 0 +#define BST_FOCUS 8 +#define BST_PUSHED 4 +#define MF_BYCOMMAND 0 +#define MF_BYPOSITION 1024 +#define CWP_ALL 0 +#define CWP_SKIPINVISIBLE 1 +#define CWP_SKIPDISABLED 2 +#define CWP_SKIPTRANSPARENT 4 +#define IMAGE_BITMAP 0 +#define IMAGE_ICON 1 +#define IMAGE_CURSOR 2 +#define IMAGE_ENHMETAFILE 3 +#define DF_ALLOWOTHERACCOUNTHOOK 1 +#define DESKTOP_CREATEMENU 4 +#define DESKTOP_CREATEWINDOW 2 +#define DESKTOP_ENUMERATE 64 +#define DESKTOP_HOOKCONTROL 8 +#define DESKTOP_JOURNALPLAYBACK 32 +#define DESKTOP_JOURNALRECORD 16 +#define DESKTOP_READOBJECTS 1 +#define DESKTOP_SWITCHDESKTOP 256 +#define DESKTOP_WRITEOBJECTS 128 +#define CW_USEDEFAULT 0x80000000 +#define WS_BORDER 0x800000 +#define WS_CAPTION 0xc00000 +#define WS_CHILD 0x40000000 +#define WS_CHILDWINDOW 0x40000000 +#define WS_CLIPCHILDREN 0x2000000 +#define WS_CLIPSIBLINGS 0x4000000 +#define WS_DISABLED 0x8000000 +#define WS_DLGFRAME 0x400000 +#define WS_GROUP 0x20000 +#define WS_HSCROLL 0x100000 +#define WS_ICONIC 0x20000000 +#define WS_MAXIMIZE 0x1000000 +#define WS_MAXIMIZEBOX 0x10000 +#define WS_MINIMIZE 0x20000000 +#define WS_MINIMIZEBOX 0x20000 +#define WS_OVERLAPPED 0 +#define WS_OVERLAPPEDWINDOW 0xcf0000 +#define WS_POPUP 0x80000000 +#define WS_POPUPWINDOW 0x80880000 +#define WS_SIZEBOX 0x40000 +#define WS_SYSMENU 0x80000 +#define WS_TABSTOP 0x10000 +#define WS_THICKFRAME 0x40000 +#define WS_TILED 0 +#define WS_TILEDWINDOW 0xcf0000 +#define WS_VISIBLE 0x10000000 +#define WS_VSCROLL 0x200000 +#define MDIS_ALLCHILDSTYLES 1 +#define BS_3STATE 5 +#define BS_AUTO3STATE 6 +#define BS_AUTOCHECKBOX 3 +#define BS_AUTORADIOBUTTON 9 +#define BS_BITMAP 128 +#define BS_BOTTOM 0x800 +#define BS_CENTER 0x300 +#define BS_CHECKBOX 2 +#define BS_DEFPUSHBUTTON 1 +#define BS_GROUPBOX 7 +#define BS_ICON 64 +#define BS_LEFT 256 +#define BS_LEFTTEXT 32 +#define BS_MULTILINE 0x2000 +#define BS_NOTIFY 0x4000 +#define BS_OWNERDRAW 0xb +#define BS_PUSHBUTTON 0 +#define BS_PUSHLIKE 4096 +#define BS_RADIOBUTTON 4 +#define BS_RIGHT 512 +#define BS_RIGHTBUTTON 32 +#define BS_TEXT 0 +#define BS_TOP 0x400 +#define BS_USERBUTTON 8 +#define BS_VCENTER 0xc00 +#define BS_FLAT 0x8000 +#define CBS_AUTOHSCROLL 64 +#define CBS_DISABLENOSCROLL 0x800 +#define CBS_DROPDOWN 2 +#define CBS_DROPDOWNLIST 3 +#define CBS_HASSTRINGS 512 +#define CBS_LOWERCASE 0x4000 +#define CBS_NOINTEGRALHEIGHT 0x400 +#define CBS_OEMCONVERT 128 +#define CBS_OWNERDRAWFIXED 16 +#define CBS_OWNERDRAWVARIABLE 32 +#define CBS_SIMPLE 1 +#define CBS_SORT 256 +#define CBS_UPPERCASE 0x2000 +#define ES_AUTOHSCROLL 128 +#define ES_AUTOVSCROLL 64 +#define ES_CENTER 1 +#define ES_LEFT 0 +#define ES_LOWERCASE 16 +#define ES_MULTILINE 4 +#define ES_NOHIDESEL 256 +#define ES_NUMBER 0x2000 +#define ES_OEMCONVERT 0x400 +#define ES_PASSWORD 32 +#define ES_READONLY 0x800 +#define ES_RIGHT 2 +#define ES_UPPERCASE 8 +#define ES_WANTRETURN 4096 +#define LBS_DISABLENOSCROLL 4096 +#define LBS_EXTENDEDSEL 0x800 +#define LBS_HASSTRINGS 64 +#define LBS_MULTICOLUMN 512 +#define LBS_MULTIPLESEL 8 +#define LBS_NODATA 0x2000 +#define LBS_NOINTEGRALHEIGHT 256 +#define LBS_NOREDRAW 4 +#define LBS_NOSEL 0x4000 +#define LBS_NOTIFY 1 +#define LBS_OWNERDRAWFIXED 16 +#define LBS_OWNERDRAWVARIABLE 32 +#define LBS_SORT 2 +#define LBS_STANDARD 0xa00003 +#define LBS_USETABSTOPS 128 +#define LBS_WANTKEYBOARDINPUT 0x400 +#define SBS_BOTTOMALIGN 4 +#define SBS_HORZ 0 +#define SBS_LEFTALIGN 2 +#define SBS_RIGHTALIGN 4 +#define SBS_SIZEBOX 8 +#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4 +#define SBS_SIZEBOXTOPLEFTALIGN 2 +#define SBS_SIZEGRIP 16 +#define SBS_TOPALIGN 2 +#define SBS_VERT 1 +#define SS_BITMAP 14 +#define SS_BLACKFRAME 7 +#define SS_BLACKRECT 4 +#define SS_CENTER 1 +#define SS_CENTERIMAGE 512 +#define SS_ENHMETAFILE 15 +#define SS_ETCHEDFRAME 18 +#define SS_ETCHEDHORZ 16 +#define SS_ETCHEDVERT 17 +#define SS_GRAYFRAME 8 +#define SS_GRAYRECT 5 +#define SS_ICON 3 +#define SS_LEFT 0 +#define SS_LEFTNOWORDWRAP 0xc +#define SS_NOPREFIX 128 +#define SS_NOTIFY 256 +#define SS_OWNERDRAW 0xd +#define SS_REALSIZEIMAGE 0x800 +#define SS_RIGHT 2 +#define SS_RIGHTJUST 0x400 +#define SS_SIMPLE 11 +#define SS_SUNKEN 4096 +#define SS_WHITEFRAME 9 +#define SS_WHITERECT 6 +#define SS_USERITEM 10 +#define SS_TYPEMASK 0x0000001FL +#define SS_ENDELLIPSIS 0x00004000L +#define SS_PATHELLIPSIS 0x00008000L +#define SS_WORDELLIPSIS 0x0000C000L +#define SS_ELLIPSISMASK 0x0000C000L +#define DS_3DLOOK 4 +#define DS_ABSALIGN 1 +#define DS_CENTER 0x800 +#define DS_CENTERMOUSE 4096 +#define DS_CONTEXTHELP 0x2000 +#define DS_CONTROL 0x400 +#define DS_FIXEDSYS 8 +#define DS_LOCALEDIT 32 +#define DS_MODALFRAME 128 +#define DS_NOFAILCREATE 16 +#define DS_NOIDLEMSG 256 +#define DS_SETFONT 64 +#define DS_SETFOREGROUND 512 +#define DS_SYSMODAL 2 +#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS) +#define WS_EX_ACCEPTFILES 16 +#define WS_EX_APPWINDOW 0x40000 +#define WS_EX_CLIENTEDGE 512 +#define WS_EX_COMPOSITED 0x2000000 /* XP */ +#define WS_EX_CONTEXTHELP 0x400 +#define WS_EX_CONTROLPARENT 0x10000 +#define WS_EX_DLGMODALFRAME 1 +#define WS_EX_LAYERED 0x80000 /* w2k */ +#define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */ +#define WS_EX_LEFT 0 +#define WS_EX_LEFTSCROLLBAR 0x4000 +#define WS_EX_LTRREADING 0 +#define WS_EX_MDICHILD 64 +#define WS_EX_NOACTIVATE 0x8000000 /* w2k */ +#define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */ +#define WS_EX_NOPARENTNOTIFY 4 +#define WS_EX_OVERLAPPEDWINDOW 0x300 +#define WS_EX_PALETTEWINDOW 0x188 +#define WS_EX_RIGHT 0x1000 +#define WS_EX_RIGHTSCROLLBAR 0 +#define WS_EX_RTLREADING 0x2000 +#define WS_EX_STATICEDGE 0x20000 +#define WS_EX_TOOLWINDOW 128 +#define WS_EX_TOPMOST 8 +#define WS_EX_TRANSPARENT 32 +#define WS_EX_WINDOWEDGE 256 +#define WINSTA_ALL_ACCESS 895 +#define WINSTA_ACCESSCLIPBOARD 4 +#define WINSTA_ACCESSGLOBALATOMS 32 +#define WINSTA_CREATEDESKTOP 8 +#define WINSTA_ENUMDESKTOPS 1 +#define WINSTA_ENUMERATE 256 +#define WINSTA_EXITWINDOWS 64 +#define WINSTA_READATTRIBUTES 2 +#define WINSTA_READSCREEN 512 +#define WINSTA_WRITEATTRIBUTES 16 +#define DDL_READWRITE 0 +#define DDL_READONLY 1 +#define DDL_HIDDEN 2 +#define DDL_SYSTEM 4 +#define DDL_DIRECTORY 16 +#define DDL_ARCHIVE 32 +#define DDL_POSTMSGS 8192 +#define DDL_DRIVES 16384 +#define DDL_EXCLUSIVE 32768 +#define DC_ACTIVE 0x00000001 +#define DC_SMALLCAP 0x00000002 +#define DC_ICON 0x00000004 +#define DC_TEXT 0x00000008 +#define DC_INBUTTON 0x00000010 +#define DC_GRADIENT 0x00000020 +#define DC_BUTTONS 0x00001000 +#define DC_CAPTION (DC_ICON|DC_TEXT|DC_BUTTONS) +#define DC_NC (DC_CAPTION|DC_FRAME) + +#define BDR_RAISEDOUTER 1 +#define BDR_SUNKENOUTER 2 +#define BDR_RAISEDINNER 4 +#define BDR_SUNKENINNER 8 +#define BDR_OUTER 3 +#define BDR_INNER 0xc +#define BDR_RAISED 5 +#define BDR_SUNKEN 10 +#define EDGE_RAISED (BDR_RAISEDOUTER|BDR_RAISEDINNER) +#define EDGE_SUNKEN (BDR_SUNKENOUTER|BDR_SUNKENINNER) +#define EDGE_ETCHED (BDR_SUNKENOUTER|BDR_RAISEDINNER) +#define EDGE_BUMP (BDR_RAISEDOUTER|BDR_SUNKENINNER) +#define BF_LEFT 1 +#define BF_TOP 2 +#define BF_RIGHT 4 +#define BF_BOTTOM 8 +#define BF_TOPLEFT (BF_TOP|BF_LEFT) +#define BF_TOPRIGHT (BF_TOP|BF_RIGHT) +#define BF_BOTTOMLEFT (BF_BOTTOM|BF_LEFT) +#define BF_BOTTOMRIGHT (BF_BOTTOM|BF_RIGHT) +#define BF_RECT (BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM) +#define BF_DIAGONAL 16 +#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL|BF_TOP|BF_RIGHT) +#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL|BF_TOP|BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL|BF_BOTTOM|BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL|BF_BOTTOM|BF_RIGHT) +#define BF_MIDDLE 0x800 +#define BF_SOFT 0x1000 +#define BF_ADJUST 0x2000 +#define BF_FLAT 0x4000 +#define BF_MONO 0x8000 +#define DFC_CAPTION 1 +#define DFC_MENU 2 +#define DFC_SCROLL 3 +#define DFC_BUTTON 4 +#define DFC_POPUPMENU 5 +#define DFCS_CAPTIONCLOSE 0 +#define DFCS_CAPTIONMIN 1 +#define DFCS_CAPTIONMAX 2 +#define DFCS_CAPTIONRESTORE 3 +#define DFCS_CAPTIONHELP 4 +#define DFCS_MENUARROW 0 +#define DFCS_MENUCHECK 1 +#define DFCS_MENUBULLET 2 +#define DFCS_MENUARROWRIGHT 4 +#define DFCS_SCROLLUP 0 +#define DFCS_SCROLLDOWN 1 +#define DFCS_SCROLLLEFT 2 +#define DFCS_SCROLLRIGHT 3 +#define DFCS_SCROLLCOMBOBOX 5 +#define DFCS_SCROLLSIZEGRIP 8 +#define DFCS_SCROLLSIZEGRIPRIGHT 16 +#define DFCS_BUTTONCHECK 0 +#define DFCS_BUTTONRADIOIMAGE 1 +#define DFCS_BUTTONRADIOMASK 2 +#define DFCS_BUTTONRADIO 4 +#define DFCS_BUTTON3STATE 8 +#define DFCS_BUTTONPUSH 16 +#define DFCS_INACTIVE 256 +#define DFCS_PUSHED 512 +#define DFCS_CHECKED 1024 +#define DFCS_TRANSPARENT 0x800 +#define DFCS_HOT 0x1000 +#define DFCS_ADJUSTRECT 0x2000 +#define DFCS_FLAT 0x4000 +#define DFCS_MONO 0x8000 +#define DST_COMPLEX 0 +#define DST_TEXT 1 +#define DST_PREFIXTEXT 2 +#define DST_ICON 3 +#define DST_BITMAP 4 +#define DSS_NORMAL 0 +#define DSS_UNION 16 +#define DSS_DISABLED 32 +#define DSS_MONO 128 +#define DSS_RIGHT 0x8000 +#define DT_BOTTOM 8 +#define DT_CALCRECT 1024 +#define DT_CENTER 1 +#define DT_EDITCONTROL 8192 +#define DT_END_ELLIPSIS 32768 +#define DT_PATH_ELLIPSIS 16384 +#define DT_WORD_ELLIPSIS 0x40000 +#define DT_EXPANDTABS 64 +#define DT_EXTERNALLEADING 512 +#define DT_LEFT 0 +#define DT_MODIFYSTRING 65536 +#define DT_NOCLIP 256 +#define DT_NOPREFIX 2048 +#define DT_RIGHT 2 +#define DT_RTLREADING 131072 +#define DT_SINGLELINE 32 +#define DT_TABSTOP 128 +#define DT_TOP 0 +#define DT_VCENTER 4 +#define DT_WORDBREAK 16 +#define DT_INTERNAL 4096 +#define WB_ISDELIMITER 2 +#define WB_LEFT 0 +#define WB_RIGHT 1 +#define SB_HORZ 0 +#define SB_VERT 1 +#define SB_CTL 2 +#define SB_BOTH 3 +#define ESB_DISABLE_BOTH 3 +#define ESB_DISABLE_DOWN 2 +#define ESB_DISABLE_LEFT 1 +#define ESB_DISABLE_LTUP 1 +#define ESB_DISABLE_RIGHT 2 +#define ESB_DISABLE_RTDN 2 +#define ESB_DISABLE_UP 1 +#define ESB_ENABLE_BOTH 0 +#define SB_LINEUP 0 +#define SB_LINEDOWN 1 +#define SB_LINELEFT 0 +#define SB_LINERIGHT 1 +#define SB_PAGEUP 2 +#define SB_PAGEDOWN 3 +#define SB_PAGELEFT 2 +#define SB_PAGERIGHT 3 +#define SB_THUMBPOSITION 4 +#define SB_THUMBTRACK 5 +#define SB_ENDSCROLL 8 +#define SB_LEFT 6 +#define SB_RIGHT 7 +#define SB_BOTTOM 7 +#define SB_TOP 6 +#define RT_MANIFEST 24 +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2 +#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3 +#define EWX_FORCE 4 +#define EWX_LOGOFF 0 +#define EWX_POWEROFF 8 +#define EWX_REBOOT 2 +#define EWX_SHUTDOWN 1 +#define EWX_FORCEIFHUNG 16 +#define CS_BYTEALIGNCLIENT 4096 +#define CS_BYTEALIGNWINDOW 8192 +#define CS_KEYCVTWINDOW 4 +#define CS_NOKEYCVT 256 +#define CS_CLASSDC 64 +#define CS_DBLCLKS 8 +#define CS_GLOBALCLASS 16384 +#define CS_HREDRAW 2 +#define CS_NOCLOSE 512 +#define CS_OWNDC 32 +#define CS_PARENTDC 128 +#define CS_SAVEBITS 2048 +#define CS_VREDRAW 1 +#define CS_IME 0x10000 +#define CS_DROPSHADOW 0x20000 +#define GCW_ATOM (-32) +#define GCL_CBCLSEXTRA (-20) +#define GCL_CBWNDEXTRA (-18) +#define GCL_HBRBACKGROUND (-10) +#define GCL_HCURSOR (-12) +#define GCL_HICON (-14) +#define GCL_HICONSM (-34) +#define GCL_HMODULE (-16) +#define GCL_MENUNAME (-8) +#define GCL_STYLE (-26) +#define GCL_WNDPROC (-24) +#define GCLP_MENUNAME (-8) +#define GCLP_HBRBACKGROUND (-10) +#define GCLP_HCURSOR (-12) +#define GCLP_HICON (-14) +#define GCLP_HMODULE (-16) +#define GCLP_WNDPROC (-24) +#define GCLP_HICONSM (-34) +#define IDC_STATIC (-1) +#define IDI_APPLICATION 32512 +#define IDI_HAND 32513 +#define IDI_QUESTION 32514 +#define IDI_EXCLAMATION 32515 +#define IDI_ASTERISK 32516 +#define IDI_WINLOGO 32517 +#define IDI_WARNING IDI_EXCLAMATION +#define IDI_ERROR IDI_HAND +#define IDI_INFORMATION IDI_ASTERISK +#define MIIM_STATE 1 +#define MIIM_ID 2 +#define MIIM_SUBMENU 4 +#define MIIM_CHECKMARKS 8 +#define MIIM_TYPE 16 +#define MIIM_DATA 32 +#define MIIM_STRING 64 +#define MIIM_BITMAP 128 +#define MIIM_FTYPE 256 +#define MIM_MAXHEIGHT 1 +#define MIM_BACKGROUND 2 +#define MIM_HELPID 4 +#define MIM_MENUDATA 8 +#define MIM_STYLE 16 +#define MIM_APPLYTOSUBMENUS 0x80000000L +#define MNS_NOCHECK 0x80000000 +#define MNS_MODELESS 0x40000000 +#define MNS_DRAGDROP 0x20000000 +#define MNS_AUTODISMISS 0x10000000 +#define MNS_NOTIFYBYPOS 0x08000000 +#define MNS_CHECKORBMP 0x04000000 +#define MFT_BITMAP 4 +#define MFT_MENUBARBREAK 32 +#define MFT_MENUBREAK 64 +#define MFT_OWNERDRAW 256 +#define MFT_RADIOCHECK 512 +#define MFT_RIGHTJUSTIFY 0x4000 +#define MFT_SEPARATOR 0x800 +#define MFT_RIGHTORDER 0x2000L +#define MFT_STRING 0 +#define MFS_CHECKED 8 +#define MFS_DEFAULT 4096 +#define MFS_DISABLED 3 +#define MFS_ENABLED 0 +#define MFS_GRAYED 3 +#define MFS_HILITE 128 +#define MFS_UNCHECKED 0 +#define MFS_UNHILITE 0 +#define GW_HWNDNEXT 2 +#define GW_HWNDPREV 3 +#define GW_CHILD 5 +#define GW_HWNDFIRST 0 +#define GW_HWNDLAST 1 +#define GW_OWNER 4 +#define SW_HIDE 0 +#define SW_NORMAL 1 +#define SW_SHOWNORMAL 1 +#define SW_SHOWMINIMIZED 2 +#define SW_MAXIMIZE 3 +#define SW_SHOWMAXIMIZED 3 +#define SW_SHOWNOACTIVATE 4 +#define SW_SHOW 5 +#define SW_MINIMIZE 6 +#define SW_SHOWMINNOACTIVE 7 +#define SW_SHOWNA 8 +#define SW_RESTORE 9 +#define SW_SHOWDEFAULT 10 +#define SW_FORCEMINIMIZE 11 +#define SW_MAX 11 +#define MB_USERICON 128 +#define MB_ICONASTERISK 64 +#define MB_ICONEXCLAMATION 0x30 +#define MB_ICONWARNING 0x30 +#define MB_ICONERROR 16 +#define MB_ICONHAND 16 +#define MB_ICONQUESTION 32 +#define MB_OK 0 +#define MB_ABORTRETRYIGNORE 2 +#define MB_APPLMODAL 0 +#define MB_DEFAULT_DESKTOP_ONLY 0x20000 +#define MB_HELP 0x4000 +#define MB_RIGHT 0x80000 +#define MB_RTLREADING 0x100000 +#define MB_TOPMOST 0x40000 +#define MB_DEFBUTTON1 0 +#define MB_DEFBUTTON2 256 +#define MB_DEFBUTTON3 512 +#define MB_DEFBUTTON4 0x300 +#define MB_ICONINFORMATION 64 +#define MB_ICONSTOP 16 +#define MB_OKCANCEL 1 +#define MB_RETRYCANCEL 5 +#define MB_SERVICE_NOTIFICATION 0x00200000 +//#define MB_SERVICE_NOTIFICATION 0x00040000 +#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000 +#define MB_SETFOREGROUND 0x10000 +#define MB_SYSTEMMODAL 4096 +#define MB_TASKMODAL 0x2000 +#define MB_YESNO 4 +#define MB_YESNOCANCEL 3 +#define MB_ICONMASK 240 +#define MB_DEFMASK 3840 +#define MB_MODEMASK 0x00003000 +#define MB_MISCMASK 0x0000C000 +#define MB_NOFOCUS 0x00008000 +#define MB_TYPEMASK 15 +#define MB_CANCELTRYCONTINUE 6 + +#define IDOK 1 +#define IDCANCEL 2 +#define IDABORT 3 +#define IDRETRY 4 +#define IDIGNORE 5 +#define IDYES 6 +#define IDNO 7 +#define IDCLOSE 8 +#define IDHELP 9 +#define IDTRYAGAIN 10 +#define IDCONTINUE 11 + +#define GWL_EXSTYLE (-20) +#define GWL_STYLE (-16) +#define GWL_WNDPROC (-4) +#define GWLP_WNDPROC (-4) +#define GWL_HINSTANCE (-6) +#define GWLP_HINSTANCE (-6) +#define GWL_HWNDPARENT (-8) +#define GWLP_HWNDPARENT (-8) +#define GWL_ID (-12) +#define GWLP_ID (-12) +#define GWL_USERDATA (-21) +#define GWLP_USERDATA (-21) +#define DWL_DLGPROC 4 +#define DWLP_DLGPROC 4 +#define DWL_MSGRESULT 0 +#define DWLP_MSGRESULT 0 +#define DWL_USER 8 +#define DWLP_USER 8 +#define QS_ALLEVENTS 1215 +#define QS_ALLINPUT 1279 +//#define QS_ALLEVENTS 191 +//#define QS_ALLINPUT 255 +#define QS_ALLPOSTMESSAGE 256 +#define QS_HOTKEY 128 +#define QS_INPUT 1031 +//#define QS_INPUT 7 +#define QS_KEY 1 +#define QS_MOUSE 6 +#define QS_MOUSEBUTTON 4 +#define QS_MOUSEMOVE 2 +#define QS_PAINT 32 +#define QS_POSTMESSAGE 8 +#define QS_RAWINPUT 1024 +#define QS_SENDMESSAGE 64 +#define QS_TIMER 16 +#define MWMO_WAITALL 1 +#define MWMO_ALERTABLE 2 +#define MWMO_INPUTAVAILABLE 4 +#define COLOR_3DDKSHADOW 21 +#define COLOR_3DFACE 15 +#define COLOR_3DHILIGHT 20 +#define COLOR_3DHIGHLIGHT 20 +#define COLOR_3DLIGHT 22 +#define COLOR_BTNHILIGHT 20 +#define COLOR_3DSHADOW 16 +#define COLOR_ACTIVEBORDER 10 +#define COLOR_ACTIVECAPTION 2 +#define COLOR_APPWORKSPACE 12 +#define COLOR_BACKGROUND 1 +#define COLOR_DESKTOP 1 +#define COLOR_BTNFACE 15 +#define COLOR_BTNHIGHLIGHT 20 +#define COLOR_BTNSHADOW 16 +#define COLOR_BTNTEXT 18 +#define COLOR_CAPTIONTEXT 9 +#define COLOR_GRAYTEXT 17 +#define COLOR_HIGHLIGHT 13 +#define COLOR_HIGHLIGHTTEXT 14 +#define COLOR_INACTIVEBORDER 11 +#define COLOR_INACTIVECAPTION 3 +#define COLOR_INACTIVECAPTIONTEXT 19 +#define COLOR_INFOBK 24 +#define COLOR_INFOTEXT 23 +#define COLOR_MENU 4 +#define COLOR_MENUTEXT 7 +#define COLOR_SCROLLBAR 0 +#define COLOR_WINDOW 5 +#define COLOR_WINDOWFRAME 6 +#define COLOR_WINDOWTEXT 8 +#define COLOR_HOTLIGHT 26 +#define COLOR_GRADIENTACTIVECAPTION 27 +#define COLOR_GRADIENTINACTIVECAPTION 28 +#define CTLCOLOR_MSGBOX 0 +#define CTLCOLOR_EDIT 1 +#define CTLCOLOR_LISTBOX 2 +#define CTLCOLOR_BTN 3 +#define CTLCOLOR_DLG 4 +#define CTLCOLOR_SCROLLBAR 5 +#define CTLCOLOR_STATIC 6 +#define CTLCOLOR_MAX 7 +#define SM_CXSCREEN 0 +#define SM_CYSCREEN 1 +#define SM_CXVSCROLL 2 +#define SM_CYHSCROLL 3 +#define SM_CYCAPTION 4 +#define SM_CXBORDER 5 +#define SM_CYBORDER 6 +#define SM_CXDLGFRAME 7 +#define SM_CXFIXEDFRAME 7 +#define SM_CYDLGFRAME 8 +#define SM_CYFIXEDFRAME 8 +#define SM_CYVTHUMB 9 +#define SM_CXHTHUMB 10 +#define SM_CXICON 11 +#define SM_CYICON 12 +#define SM_CXCURSOR 13 +#define SM_CYCURSOR 14 +#define SM_CYMENU 15 +#define SM_CXFULLSCREEN 16 +#define SM_CYFULLSCREEN 17 +#define SM_CYKANJIWINDOW 18 +#define SM_MOUSEPRESENT 19 +#define SM_CYVSCROLL 20 +#define SM_CXHSCROLL 21 +#define SM_DEBUG 22 +#define SM_SWAPBUTTON 23 +#define SM_RESERVED1 24 +#define SM_RESERVED2 25 +#define SM_RESERVED3 26 +#define SM_RESERVED4 27 +#define SM_CXMIN 28 +#define SM_CYMIN 29 +#define SM_CXSIZE 30 +#define SM_CYSIZE 31 +#define SM_CXSIZEFRAME 32 +#define SM_CXFRAME 32 +#define SM_CYSIZEFRAME 33 +#define SM_CYFRAME 33 +#define SM_CXMINTRACK 34 +#define SM_CYMINTRACK 35 +#define SM_CXDOUBLECLK 36 +#define SM_CYDOUBLECLK 37 +#define SM_CXICONSPACING 38 +#define SM_CYICONSPACING 39 +#define SM_MENUDROPALIGNMENT 40 +#define SM_PENWINDOWS 41 +#define SM_DBCSENABLED 42 +#define SM_CMOUSEBUTTONS 43 +#define SM_SECURE 44 +#define SM_CXEDGE 45 +#define SM_CYEDGE 46 +#define SM_CXMINSPACING 47 +#define SM_CYMINSPACING 48 +#define SM_CXSMICON 49 +#define SM_CYSMICON 50 +#define SM_CYSMCAPTION 51 +#define SM_CXSMSIZE 52 +#define SM_CYSMSIZE 53 +#define SM_CXMENUSIZE 54 +#define SM_CYMENUSIZE 55 +#define SM_ARRANGE 56 +#define SM_CXMINIMIZED 57 +#define SM_CYMINIMIZED 58 +#define SM_CXMAXTRACK 59 +#define SM_CYMAXTRACK 60 +#define SM_CXMAXIMIZED 61 +#define SM_CYMAXIMIZED 62 +#define SM_NETWORK 63 +#define SM_CLEANBOOT 67 +#define SM_CXDRAG 68 +#define SM_CYDRAG 69 +#define SM_SHOWSOUNDS 70 +#define SM_CXMENUCHECK 71 +#define SM_CYMENUCHECK 72 +#define SM_SLOWMACHINE 73 +#define SM_MIDEASTENABLED 74 +#define SM_MOUSEWHEELPRESENT 75 +#define SM_XVIRTUALSCREEN 76 +#define SM_YVIRTUALSCREEN 77 +#define SM_CXVIRTUALSCREEN 78 +#define SM_CYVIRTUALSCREEN 79 +#define SM_CMONITORS 80 +#define SM_SAMEDISPLAYFORMAT 81 +#define SM_IMMENABLED 82 +#define SM_CXFOCUSBORDER 83 +#define SM_CYFOCUSBORDER 84 +#define SM_TABLETPC 86 +#define SM_MEDIACENTER 87 +#define SM_STARTER 88 +#define SM_SERVERR2 89 +//#define SM_CMETRICS 76 +#define SM_CMETRICS 88 +#define SM_REMOTESESSION 0X1000 +#define ARW_BOTTOMLEFT 0 +#define ARW_BOTTOMRIGHT 1 +#define ARW_HIDE 8 +#define ARW_TOPLEFT 2 +#define ARW_TOPRIGHT 3 +#define ARW_DOWN 4 +#define ARW_LEFT 0 +#define ARW_RIGHT 0 +#define ARW_UP 4 +#define UOI_FLAGS 1 +#define UOI_NAME 2 +#define UOI_TYPE 3 +#define UOI_USER_SID 4 +#define LR_DEFAULTCOLOR 0 +#define LR_MONOCHROME 1 +#define LR_COLOR 2 +#define LR_COPYRETURNORG 4 +#define LR_COPYDELETEORG 8 +#define LR_LOADFROMFILE 16 +#define LR_LOADTRANSPARENT 32 +#define LR_LOADREALSIZE 128 +#define LR_DEFAULTSIZE 0x0040 +#define LR_VGACOLOR 0x0080 +#define LR_LOADMAP3DCOLORS 4096 +#define LR_CREATEDIBSECTION 8192 +#define LR_COPYFROMRESOURCE 0x4000 +#define LR_SHARED 32768 +#define KEYEVENTF_EXTENDEDKEY 0x00000001 +#define KEYEVENTF_KEYUP 00000002 +#define KEYEVENTF_UNICODE 0x00000004 +#define KEYEVENTF_SCANCODE 0x00000008 +#define OBM_BTNCORNERS 32758 +#define OBM_BTSIZE 32761 +#define OBM_CHECK 32760 +#define OBM_CHECKBOXES 32759 +#define OBM_CLOSE 32754 +#define OBM_COMBO 32738 +#define OBM_DNARROW 32752 +#define OBM_DNARROWD 32742 +#define OBM_DNARROWI 32736 +#define OBM_LFARROW 32750 +#define OBM_LFARROWI 32734 +#define OBM_LFARROWD 32740 +#define OBM_MNARROW 32739 +#define OBM_OLD_CLOSE 32767 +#define OBM_OLD_DNARROW 32764 +#define OBM_OLD_LFARROW 32762 +#define OBM_OLD_REDUCE 32757 +#define OBM_OLD_RESTORE 32755 +#define OBM_OLD_RGARROW 32763 +#define OBM_OLD_UPARROW 32765 +#define OBM_OLD_ZOOM 32756 +#define OBM_REDUCE 32749 +#define OBM_REDUCED 32746 +#define OBM_RESTORE 32747 +#define OBM_RESTORED 32744 +#define OBM_RGARROW 32751 +#define OBM_RGARROWD 32741 +#define OBM_RGARROWI 32735 +#define OBM_SIZE 32766 +#define OBM_UPARROW 32753 +#define OBM_UPARROWD 32743 +#define OBM_UPARROWI 32737 +#define OBM_ZOOM 32748 +#define OBM_ZOOMD 32745 +#define OCR_NORMAL 32512 +#define OCR_IBEAM 32513 +#define OCR_WAIT 32514 +#define OCR_CROSS 32515 +#define OCR_UP 32516 +#define OCR_SIZE 32640 +#define OCR_ICON 32641 +#define OCR_SIZENWSE 32642 +#define OCR_SIZENESW 32643 +#define OCR_SIZEWE 32644 +#define OCR_SIZENS 32645 +#define OCR_SIZEALL 32646 +#define OCR_NO 32648 +#define OCR_APPSTARTING 32650 +#define OIC_SAMPLE 32512 +#define OIC_HAND 32513 +#define OIC_QUES 32514 +#define OIC_BANG 32515 +#define OIC_NOTE 32516 +#define OIC_WINLOGO 32517 +#define OIC_WARNING OIC_BANG +#define OIC_ERROR OIC_HAND +#define OIC_INFORMATION OIC_NOTE +#define HELPINFO_MENUITEM 2 +#define HELPINFO_WINDOW 1 +#define MSGF_DIALOGBOX 0 +#define MSGF_MESSAGEBOX 1 +#define MSGF_MENU 2 +#define MSGF_MOVE 3 +#define MSGF_SIZE 4 +#define MSGF_SCROLLBAR 5 +#define MSGF_NEXTWINDOW 6 +#define MSGF_MAINLOOP 8 +#define MSGF_USER 4096 +#define MOUSEEVENTF_MOVE 0x00000001 +#define MOUSEEVENTF_LEFTDOWN 0x00000002 +#define MOUSEEVENTF_LEFTUP 0x00000004 +#define MOUSEEVENTF_RIGHTDOWN 0x00000008 +#define MOUSEEVENTF_RIGHTUP 0x00000010 +#define MOUSEEVENTF_MIDDLEDOWN 0x00000020 +#define MOUSEEVENTF_MIDDLEUP 0x00000040 +#define MOUSEEVENTF_ABSOLUTE 0x00008000 +#define MOUSEEVENTF_WHEEL 0x00000800 +#define MOUSEEVENTF_XDOWN 0x00000080 +#define MOUSEEVENTF_XUP 0x00000100 +#define PBT_APMQUERYSUSPEND 0 +#define PBT_APMQUERYSTANDBY 1 +#define PBT_APMQUERYSUSPENDFAILED 2 +#define PBT_APMQUERYSTANDBYFAILED 3 +#define PBT_APMSUSPEND 4 +#define PBT_APMSTANDBY 5 +#define PBT_APMRESUMECRITICAL 6 +#define PBT_APMRESUMESUSPEND 7 +#define PBT_APMRESUMESTANDBY 8 +#define PBT_APMBATTERYLOW 9 +#define PBT_APMPOWERSTATUSCHANGE 10 +#define PBT_APMOEMEVENT 11 +#define PBT_APMRESUMEAUTOMATIC 18 +#define PBTF_APMRESUMEFROMFAILURE 1 +#define PM_NOREMOVE 0 +#define PM_REMOVE 1 +#define PM_NOYIELD 2 +#define PM_QS_INPUT (QS_INPUT << 16) +#define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16) +#define PM_QS_PAINT (QS_PAINT << 16) +#define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16) +#define RDW_ERASE 4 +#define RDW_FRAME 1024 +#define RDW_INTERNALPAINT 2 +#define RDW_INVALIDATE 1 +#define RDW_NOERASE 32 +#define RDW_NOFRAME 2048 +#define RDW_NOINTERNALPAINT 16 +#define RDW_VALIDATE 8 +#define RDW_ERASENOW 512 +#define RDW_UPDATENOW 256 +#define RDW_ALLCHILDREN 128 +#define RDW_NOCHILDREN 64 +#define SMTO_ABORTIFHUNG 0x0002 +#define SMTO_BLOCK 0x0001 +#define SMTO_NORMAL 0x0000 +#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008 +#define SIF_DISABLENOSCROLL 0x0008 +#define SIF_PAGE 0x0002 +#define SIF_POS 0x0004 +#define SIF_RANGE 0x0001 +#define SIF_TRACKPOS 0x0010 +#define SWP_DRAWFRAME 0x0020 +#define SWP_FRAMECHANGED 0x0020 +#define SWP_HIDEWINDOW 0x0080 +#define SWP_NOACTIVATE 0x0010 +#define SWP_NOCOPYBITS 0x0100 +#define SWP_NOMOVE 0x0002 +#define SWP_NOSIZE 0x0001 +#define SWP_NOREDRAW 0x0008 +#define SWP_NOZORDER 0x0004 +#define SWP_SHOWWINDOW 0x0040 +#define SWP_NOOWNERZORDER 0x0200 +#define SWP_NOREPOSITION SWP_NOOWNERZORDER +#define SWP_NOSENDCHANGING 0x0400 +#define SWP_DEFERERASE 0x2000 +#define SWP_ASYNCWINDOWPOS 0x4000 +#define HSHELL_ACTIVATESHELLWINDOW 3 +#define HSHELL_ENDTASK 10 +#define HSHELL_GETMINRECT 5 +#define HSHELL_LANGUAGE 8 +#define HSHELL_REDRAW 6 +#define HSHELL_TASKMAN 7 +#define HSHELL_WINDOWACTIVATED 4 +#define HSHELL_WINDOWCREATED 1 +#define HSHELL_WINDOWDESTROYED 2 +#define HSHELL_ACCESSIBILITYSTATE 11 +#define HSHELL_APPCOMMAND 12 +#define HSHELL_RUDEAPPACTIVATED 32772 +#define HSHELL_FLASH 32774 +#define HSHELL_WINDOWREPLACED 13 +#define HSHELL_WINDOWREPLACING 14 +#define SPI_GETACCESSTIMEOUT 0x003C +#define SPI_GETACTIVEWINDOWTRACKING 0x1000 +#define SPI_GETACTIVEWNDTRKTIMEOUT 8194 +#define SPI_GETACTIVEWNDTRKZORDER 0x100C +#define SPI_GETANIMATION 0x0048 +#define SPI_GETBEEP 0x0001 +#define SPI_GETBLOCKSENDINPUTRESETS 0x1026 +#define SPI_GETBORDER 0x0005 +#define SPI_GETCARETWIDTH 0x2006 +#define SPI_GETCOMBOBOXANIMATION 0x1004 +#define SPI_GETCURSORSHADOW 0x101A +#define SPI_GETDEFAULTINPUTLANG 0x0059 +#define SPI_GETDESKWALLPAPER 0x0073 +#define SPI_GETDRAGFULLWINDOWS 0x0026 +#define SPI_GETFASTTASKSWITCH 0x0023 +#define SPI_GETFILTERKEYS 0x0032 +#define SPI_GETFONTSMOOTHING 0x004A +#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004 +#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000 +#define SPI_GETGRADIENTCAPTIONS 0x1008 +#define SPI_GETGRIDGRANULARITY 0x0012 +#define SPI_GETHIGHCONTRAST 0x0042 +#define SPI_GETHOTTRACKING 0x100E +#define SPI_GETICONMETRICS 0x002D +#define SPI_GETICONTITLELOGFONT 0x001F +#define SPI_GETICONTITLEWRAP 0x0019 +#define SPI_GETKEYBOARDCUES 0x100A +#define SPI_GETKEYBOARDDELAY 0x0016 +#define SPI_GETKEYBOARDPREF 0x0044 +#define SPI_GETKEYBOARDSPEED 0x000A +#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006 +#define SPI_GETLOWPOWERACTIVE 0x0053 +#define SPI_GETLOWPOWERTIMEOUT 0x004F +#define SPI_GETMENUANIMATION 0x1002 +#define SPI_GETMENUDROPALIGNMENT 0x001B +#define SPI_GETMENUFADE 0x1012 +#define SPI_GETMENUSHOWDELAY 0x006A +#define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES +#define SPI_GETMINIMIZEDMETRICS 0x002B +#define SPI_GETMOUSE 0x0003 +#define SPI_GETMOUSEHOVERHEIGHT 0x0064 +#define SPI_GETMOUSEHOVERTIME 0x0066 +#define SPI_GETMOUSEHOVERWIDTH 0x0062 +#define SPI_GETMOUSEKEYS 0x0036 +#define SPI_GETMOUSESPEED 0x0070 +#define SPI_GETMOUSETRAILS 0x005E +#define SPI_GETNONCLIENTMETRICS 0x0029 +#define SPI_GETPOWEROFFACTIVE 0x0054 +#define SPI_GETPOWEROFFTIMEOUT 0x0050 +#define SPI_GETSCREENREADER 0x0046 +#define SPI_GETSCREENSAVEACTIVE 0x0010 +#define SPI_GETSCREENSAVERRUNNING 0x0072 +#define SPI_GETSCREENSAVETIMEOUT 0x000E +#define SPI_GETSELECTIONFADE 0x1014 +#define SPI_GETSERIALKEYS 0x003E +#define SPI_GETSHOWIMEUI 0x006E +#define SPI_GETSHOWSOUNDS 0x0038 +#define SPI_GETSNAPTODEFBUTTON 0x005F +#define SPI_GETSOUNDSENTRY 0x0040 +#define SPI_GETSTICKYKEYS 0x003A +#define SPI_GETTOGGLEKEYS 0x0034 +#define SPI_GETTOOLTIPANIMATION 0x1016 +#define SPI_GETTOOLTIPFADE 0x1018 +#define SPI_GETUIEFFECTS 0x103E +#define SPI_GETWHEELSCROLLLINES 0x0068 +#define SPI_GETWINDOWSEXTENSION 0x005C +#define SPI_GETWORKAREA 0x0030 +#define SPI_ICONHORIZONTALSPACING 0x000D +#define SPI_ICONVERTICALSPACING 0x0018 +#define SPI_LANGDRIVER 0x000C +#define SPI_SETACCESSTIMEOUT 0x003D +#define SPI_SETACTIVEWINDOWTRACKING 0x1001 +#define SPI_SETACTIVEWNDTRKTIMEOUT 8195 +#define SPI_SETACTIVEWNDTRKZORDER 0x100D +#define SPI_SETANIMATION 0x0049 +#define SPI_SETBEEP 0x0002 +#define SPI_SETBLOCKSENDINPUTRESETS 0x1027 +#define SPI_SETBORDER 0x0006 +#define SPI_SETCARETWIDTH 0x2007 +#define SPI_SETCOMBOBOXANIMATION 0x1005 +#define SPI_SETCURSORS 0x0057 +#define SPI_SETCURSORSHADOW 0x101B +#define SPI_SETDEFAULTINPUTLANG 0x005A +#define SPI_SETDESKPATTERN 0x0015 +#define SPI_SETDESKWALLPAPER 0x0014 +#define SPI_SETDOUBLECLICKTIME 0x0020 +#define SPI_SETDOUBLECLKHEIGHT 0x001E +#define SPI_SETDOUBLECLKWIDTH 0x001D +#define SPI_SETDRAGFULLWINDOWS 0x0025 +#define SPI_SETDRAGHEIGHT 0x004D +#define SPI_SETDRAGWIDTH 0x004C +#define SPI_SETFASTTASKSWITCH 0x0024 +#define SPI_SETFILTERKEYS 0x0033 +#define SPI_SETFONTSMOOTHING 0x004B +#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005 +#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001 +#define SPI_SETGRADIENTCAPTIONS 0x1009 +#define SPI_SETGRIDGRANULARITY 0x0013 +#define SPI_SETHANDHELD 0x004E +#define SPI_SETHIGHCONTRAST 0x0043 +#define SPI_SETHOTTRACKING 0x100F +#define SPI_SETICONMETRICS 0x002E +#define SPI_SETICONS 0x0058 +#define SPI_SETICONTITLELOGFONT 0x0022 +#define SPI_SETICONTITLEWRAP 0x001A +#define SPI_SETKEYBOARDCUES 0x100B +#define SPI_SETKEYBOARDDELAY 0x0017 +#define SPI_SETKEYBOARDPREF 0x0045 +#define SPI_SETKEYBOARDSPEED 0x000B +#define SPI_SETLANGTOGGLE 0x005B +#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007 +#define SPI_SETLOWPOWERACTIVE 0x0055 +#define SPI_SETLOWPOWERTIMEOUT 0x0051 +#define SPI_SETMENUANIMATION 0x1003 +#define SPI_SETMENUDROPALIGNMENT 0x001C +#define SPI_SETMENUFADE 0x1013 +#define SPI_SETMENUSHOWDELAY 0x006B +#define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES +#define SPI_SETMINIMIZEDMETRICS 0x002C +#define SPI_SETMOUSE 0x0004 +#define SPI_SETMOUSEBUTTONSWAP 0x0021 +#define SPI_SETMOUSEHOVERHEIGHT 0x0065 +#define SPI_SETMOUSEHOVERTIME 0x0067 +#define SPI_SETMOUSEHOVERWIDTH 0x0063 +#define SPI_SETMOUSEKEYS 0x0037 +#define SPI_SETMOUSESPEED 0x0071 +#define SPI_SETMOUSETRAILS 0x005D +#define SPI_SETNONCLIENTMETRICS 0x002A +#define SPI_SETPENWINDOWS 0x0031 +#define SPI_SETPOWEROFFACTIVE 0x0056 +#define SPI_SETPOWEROFFTIMEOUT 0x0052 +#define SPI_SETSCREENREADER 0x0047 +#define SPI_SETSCREENSAVEACTIVE 0x0011 +#define SPI_SETSCREENSAVERRUNNING 0x0061 +#define SPI_SETSCREENSAVETIMEOUT 0x000F +#define SPI_SETSELECTIONFADE 0x1015 +#define SPI_SETSERIALKEYS 0x003F +#define SPI_SETSHOWIMEUI 0x006F +#define SPI_SETSHOWSOUNDS 0x0039 +#define SPI_SETSNAPTODEFBUTTON 0x0060 +#define SPI_SETSOUNDSENTRY 0x0041 +#define SPI_SETSTICKYKEYS 0x003B +#define SPI_SETTOGGLEKEYS 0x0035 +#define SPI_SETTOOLTIPANIMATION 0x1017 +#define SPI_SETTOOLTIPFADE 0x1019 +#define SPI_SETUIEFFECTS 0x103F +#define SPI_SETWHEELSCROLLLINES 0x0069 +#define SPI_SETWORKAREA 0x002F +#define SPI_GETDROPSHADOW 0x1024 +#define SPI_GETFLATMENU 0x1022 +#define SPI_GETFOCUSBORDERHEIGHT 0x2010 +#define SPI_GETFOCUSBORDERWIDTH 0x200E +#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C +#define SPI_GETFONTSMOOTHINGTYPE 0x200A +#define SPI_GETMOUSECLICKLOCK 0x101E +#define SPI_GETMOUSECLICKLOCKTIME 0x2008 +#define SPI_GETMOUSESONAR 0x101C +#define SPI_GETMOUSEVANISH 0x1020 +#define SPI_SETDROPSHADOW 0x1025 +#define SPI_SETFLATMENU 0x1023 +#define SPI_SETFOCUSBORDERHEIGHT 0x2011 +#define SPI_SETFOCUSBORDERWIDTH 0x200F +#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D +#define SPI_SETFONTSMOOTHINGTYPE 0x200B +#define SPI_SETMOUSECLICKLOCK 0x101F +#define SPI_SETMOUSECLICKLOCKTIME 0x2009 +#define SPI_SETMOUSESONAR 0x101D +#define SPI_SETMOUSEVANISH 0x1021 +#define SPIF_UPDATEINIFILE 0x0001 +#define SPIF_SENDCHANGE 0x0002 +#define SPIF_SENDWININICHANGE SPIF_SENDCHANGE +#define WM_APP 32768 +#define WM_ACTIVATE 6 +#define WM_ACTIVATEAPP 28 +#define WM_AFXFIRST 864 +#define WM_AFXLAST 895 +#define WM_ASKCBFORMATNAME 780 +#define WM_CANCELJOURNAL 75 +#define WM_CANCELMODE 31 +#define WM_CAPTURECHANGED 533 +#define WM_CHANGECBCHAIN 781 +#define WM_CHAR 258 +#define WM_CHARTOITEM 47 +#define WM_CHILDACTIVATE 34 +#define WM_CLEAR 771 +#define WM_CLOSE 16 +#define WM_COMMAND 273 +#define WM_COMMNOTIFY 68 /* obsolete */ +#define WM_COMPACTING 65 +#define WM_COMPAREITEM 57 +#define WM_CONTEXTMENU 123 +#define WM_COPY 769 +#define WM_COPYDATA 74 +#define WM_CREATE 1 +#define WM_CTLCOLORBTN 309 +#define WM_CTLCOLORDLG 310 +#define WM_CTLCOLOREDIT 307 +#define WM_CTLCOLORLISTBOX 308 +#define WM_CTLCOLORMSGBOX 306 +#define WM_CTLCOLORSCROLLBAR 311 +#define WM_CTLCOLORSTATIC 312 +#define WM_CUT 768 +#define WM_DEADCHAR 259 +#define WM_DELETEITEM 45 +#define WM_DESTROY 2 +#define WM_DESTROYCLIPBOARD 775 +#define WM_DEVICECHANGE 537 +#define WM_DEVMODECHANGE 27 +#define WM_DISPLAYCHANGE 126 +#define WM_DRAWCLIPBOARD 776 +#define WM_DRAWITEM 43 +#define WM_DROPFILES 563 +#define WM_ENABLE 10 +#define WM_ENDSESSION 22 +#define WM_ENTERIDLE 289 +#define WM_ENTERMENULOOP 529 +#define WM_ENTERSIZEMOVE 561 +#define WM_ERASEBKGND 20 +#define WM_EXITMENULOOP 530 +#define WM_EXITSIZEMOVE 562 +#define WM_FONTCHANGE 29 +#define WM_GETDLGCODE 135 +#define WM_GETFONT 49 +#define WM_GETHOTKEY 51 +#define WM_GETICON 127 +#define WM_GETMINMAXINFO 36 +#define WM_GETTEXT 13 +#define WM_GETTEXTLENGTH 14 +#define WM_HANDHELDFIRST 856 +#define WM_HANDHELDLAST 863 +#define WM_HELP 83 +#define WM_HOTKEY 786 +#define WM_HSCROLL 276 +#define WM_HSCROLLCLIPBOARD 782 +#define WM_ICONERASEBKGND 39 +#define WM_INITDIALOG 272 +#define WM_INITMENU 278 +#define WM_INITMENUPOPUP 279 +#define WM_INPUT 0x00FF +#define WM_INPUTLANGCHANGE 81 +#define WM_INPUTLANGCHANGEREQUEST 80 +#define WM_KEYDOWN 256 +#define WM_KEYUP 257 +#define WM_KILLFOCUS 8 +#define WM_MDIACTIVATE 546 +#define WM_MDICASCADE 551 +#define WM_MDICREATE 544 +#define WM_MDIDESTROY 545 +#define WM_MDIGETACTIVE 553 +#define WM_MDIICONARRANGE 552 +#define WM_MDIMAXIMIZE 549 +#define WM_MDINEXT 548 +#define WM_MDIREFRESHMENU 564 +#define WM_MDIRESTORE 547 +#define WM_MDISETMENU 560 +#define WM_MDITILE 550 +#define WM_MEASUREITEM 44 +#define WM_GETOBJECT 0x003D +#define WM_CHANGEUISTATE 0x0127 +#define WM_UPDATEUISTATE 0x0128 +#define WM_QUERYUISTATE 0x0129 +#define WM_UNINITMENUPOPUP 0x0125 +#define WM_MENURBUTTONUP 290 +#define WM_MENUCOMMAND 0x0126 +#define WM_MENUGETOBJECT 0x0124 +#define WM_MENUDRAG 0x0123 +#define WM_APPCOMMAND 0x0319 +#define WM_MENUCHAR 288 +#define WM_MENUSELECT 287 +#define WM_NEXTMENU 531 +#define WM_MOVE 3 +#define WM_MOVING 534 +#define WM_NCACTIVATE 134 +#define WM_NCCALCSIZE 131 +#define WM_NCCREATE 129 +#define WM_NCDESTROY 130 +#define WM_NCHITTEST 132 +#define WM_NCLBUTTONDBLCLK 163 +#define WM_NCLBUTTONDOWN 161 +#define WM_NCLBUTTONUP 162 +#define WM_NCMBUTTONDBLCLK 169 +#define WM_NCMBUTTONDOWN 167 +#define WM_NCMBUTTONUP 168 +#define WM_NCXBUTTONDOWN 171 +#define WM_NCXBUTTONUP 172 +#define WM_NCXBUTTONDBLCLK 173 +#define WM_NCMOUSEHOVER 0x02A0 +#define WM_NCMOUSELEAVE 0x02A2 +#define WM_NCMOUSEMOVE 160 +#define WM_NCPAINT 133 +#define WM_NCRBUTTONDBLCLK 166 +#define WM_NCRBUTTONDOWN 164 +#define WM_NCRBUTTONUP 165 +#define WM_NEXTDLGCTL 40 +#define WM_NOTIFY 78 +#define WM_NOTIFYFORMAT 85 +#define WM_NULL 0 +#define WM_PAINT 15 +#define WM_PAINTCLIPBOARD 777 +#define WM_PAINTICON 38 +#define WM_PALETTECHANGED 785 +#define WM_PALETTEISCHANGING 784 +#define WM_PARENTNOTIFY 528 +#define WM_PASTE 770 +#define WM_PENWINFIRST 896 +#define WM_PENWINLAST 911 +#define WM_POWER 72 +#define WM_POWERBROADCAST 536 +#define WM_PRINT 791 +#define WM_PRINTCLIENT 792 +#define WM_QUERYDRAGICON 55 +#define WM_QUERYENDSESSION 17 +#define WM_QUERYNEWPALETTE 783 +#define WM_QUERYOPEN 19 +#define WM_QUEUESYNC 35 +#define WM_QUIT 18 +#define WM_RENDERALLFORMATS 774 +#define WM_RENDERFORMAT 773 +#define WM_SETCURSOR 32 +#define WM_SETFOCUS 7 +#define WM_SETFONT 48 +#define WM_SETHOTKEY 50 +#define WM_SETICON 128 +#define WM_SETREDRAW 11 +#define WM_SETTEXT 12 +#define WM_SETTINGCHANGE 26 +#define WM_SHOWWINDOW 24 +#define WM_SIZE 5 +#define WM_SIZECLIPBOARD 779 +#define WM_SIZING 532 +#define WM_SPOOLERSTATUS 42 +#define WM_STYLECHANGED 125 +#define WM_STYLECHANGING 124 +#define WM_SYSCHAR 262 +#define WM_SYSCOLORCHANGE 21 +#define WM_SYSCOMMAND 274 +#define WM_SYSDEADCHAR 263 +#define WM_SYSKEYDOWN 260 +#define WM_SYSKEYUP 261 +#define WM_TCARD 82 +#define WM_THEMECHANGED 794 +#define WM_TIMECHANGE 30 +#define WM_TIMER 275 +#define WM_UNDO 772 +#define WM_USER 1024 +#define WM_USERCHANGED 84 +#define WM_VKEYTOITEM 46 +#define WM_VSCROLL 277 +#define WM_VSCROLLCLIPBOARD 778 +#define WM_WINDOWPOSCHANGED 71 +#define WM_WINDOWPOSCHANGING 70 +#define WM_WININICHANGE 26 +#define WM_KEYFIRST 256 +#define WM_KEYLAST 264 +#define WM_SYNCPAINT 136 +#define WM_MOUSEACTIVATE 33 +#define WM_MOUSEMOVE 512 +#define WM_LBUTTONDOWN 513 +#define WM_LBUTTONUP 514 +#define WM_LBUTTONDBLCLK 515 +#define WM_RBUTTONDOWN 516 +#define WM_RBUTTONUP 517 +#define WM_RBUTTONDBLCLK 518 +#define WM_MBUTTONDOWN 519 +#define WM_MBUTTONUP 520 +#define WM_MBUTTONDBLCLK 521 +#define WM_MOUSEWHEEL 522 +#define WM_MOUSEFIRST 512 +#define WM_XBUTTONDOWN 523 +#define WM_XBUTTONUP 524 +#define WM_XBUTTONDBLCLK 525 +//#define WM_MOUSELAST 525 +#define WM_MOUSELAST 522 +#define WM_MOUSEHOVER 0x2A1 +#define WM_MOUSELEAVE 0x2A3 +#define WHEEL_DELTA 120 +#define WHEEL_PAGESCROLL UINT_MAX +#define BM_CLICK 245 +#define BM_GETCHECK 240 +#define BM_GETIMAGE 246 +#define BM_GETSTATE 242 +#define BM_SETCHECK 241 +#define BM_SETIMAGE 247 +#define BM_SETSTATE 243 +#define BM_SETSTYLE 244 +#define BN_CLICKED 0 +#define BN_DBLCLK 5 +#define BN_DISABLE 4 +#define BN_DOUBLECLICKED 5 +#define BN_HILITE 2 +#define BN_KILLFOCUS 7 +#define BN_PAINT 1 +#define BN_PUSHED 2 +#define BN_SETFOCUS 6 +#define BN_UNHILITE 3 +#define BN_UNPUSHED 3 +#define CB_ADDSTRING 323 +#define CB_DELETESTRING 324 +#define CB_DIR 325 +#define CB_FINDSTRING 332 +#define CB_FINDSTRINGEXACT 344 +#define CB_GETCOUNT 326 +#define CB_GETCURSEL 327 +#define CB_GETDROPPEDCONTROLRECT 338 +#define CB_GETDROPPEDSTATE 343 +#define CB_GETDROPPEDWIDTH 351 +#define CB_GETEDITSEL 320 +#define CB_GETEXTENDEDUI 342 +#define CB_GETHORIZONTALEXTENT 349 +#define CB_GETITEMDATA 336 +#define CB_GETITEMHEIGHT 340 +#define CB_GETLBTEXT 328 +#define CB_GETLBTEXTLEN 329 +#define CB_GETLOCALE 346 +#define CB_GETTOPINDEX 347 +#define CB_INITSTORAGE 353 +#define CB_INSERTSTRING 330 +#define CB_LIMITTEXT 321 +#define CB_RESETCONTENT 331 +#define CB_SELECTSTRING 333 +#define CB_SETCURSEL 334 +#define CB_SETDROPPEDWIDTH 352 +#define CB_SETEDITSEL 322 +#define CB_SETEXTENDEDUI 341 +#define CB_SETHORIZONTALEXTENT 350 +#define CB_SETITEMDATA 337 +#define CB_SETITEMHEIGHT 339 +#define CB_SETLOCALE 345 +#define CB_SETTOPINDEX 348 +#define CB_SHOWDROPDOWN 335 +#define CB_SETMINVISIBLE 0x1701 +#define CB_GETMINVISIBLE 0x1702 +#define CBN_CLOSEUP 8 +#define CBN_DBLCLK 2 +#define CBN_DROPDOWN 7 +#define CBN_EDITCHANGE 5 +#define CBN_EDITUPDATE 6 +#define CBN_ERRSPACE (-1) +#define CBN_KILLFOCUS 4 +#define CBN_SELCHANGE 1 +#define CBN_SELENDCANCEL 10 +#define CBN_SELENDOK 9 +#define CBN_SETFOCUS 3 +#define EM_CANUNDO 198 +#define EM_CHARFROMPOS 215 +#define EM_EMPTYUNDOBUFFER 205 +#define EM_FMTLINES 200 +#define EM_GETFIRSTVISIBLELINE 206 +#define EM_GETHANDLE 189 +#define EM_GETLIMITTEXT 213 +#define EM_GETLINE 196 +#define EM_GETLINECOUNT 186 +#define EM_GETMARGINS 212 +#define EM_GETMODIFY 184 +#define EM_GETPASSWORDCHAR 210 +#define EM_GETRECT 178 +#define EM_GETSEL 176 +#define EM_GETTHUMB 190 +#define EM_GETWORDBREAKPROC 209 +#define EM_LIMITTEXT 197 +#define EM_LINEFROMCHAR 201 +#define EM_LINEINDEX 187 +#define EM_LINELENGTH 193 +#define EM_LINESCROLL 182 +#define EM_POSFROMCHAR 214 +#define EM_REPLACESEL 194 +#define EM_SCROLL 181 +#define EM_SCROLLCARET 183 +#define EM_SETHANDLE 188 +#define EM_SETLIMITTEXT 197 +#define EM_SETMARGINS 211 +#define EM_SETMODIFY 185 +#define EM_SETPASSWORDCHAR 204 +#define EM_SETREADONLY 207 +#define EM_SETRECT 179 +#define EM_SETRECTNP 180 +#define EM_SETSEL 177 +#define EM_SETTABSTOPS 203 +#define EM_SETWORDBREAKPROC 208 +#define EM_UNDO 199 +#define EM_GETIMESTATUS 217 +#define EM_SETIMESTATUS 216 +#define EN_CHANGE 768 +#define EN_ERRSPACE 1280 +#define EN_HSCROLL 1537 +#define EN_KILLFOCUS 512 +#define EN_MAXTEXT 1281 +#define EN_SETFOCUS 256 +#define EN_UPDATE 1024 +#define EN_VSCROLL 1538 +#define LB_ADDFILE 406 +#define LB_ADDSTRING 384 +#define LB_DELETESTRING 386 +#define LB_DIR 397 +#define LB_FINDSTRING 399 +#define LB_FINDSTRINGEXACT 418 +#define LB_GETANCHORINDEX 413 +#define LB_GETCARETINDEX 415 +#define LB_GETCOUNT 395 +#define LB_GETCURSEL 392 +#define LB_GETHORIZONTALEXTENT 403 +#define LB_GETITEMDATA 409 +#define LB_GETITEMHEIGHT 417 +#define LB_GETITEMRECT 408 +#define LB_GETLOCALE 422 +#define LB_GETSEL 391 +#define LB_GETSELCOUNT 400 +#define LB_GETSELITEMS 401 +#define LB_GETTEXT 393 +#define LB_GETTEXTLEN 394 +#define LB_GETTOPINDEX 398 +#define LB_INITSTORAGE 424 +#define LB_INSERTSTRING 385 +#define LB_ITEMFROMPOINT 425 +#define LB_RESETCONTENT 388 +#define LB_SELECTSTRING 396 +#define LB_SELITEMRANGE 411 +#define LB_SELITEMRANGEEX 387 +#define LB_SETANCHORINDEX 412 +#define LB_SETCARETINDEX 414 +#define LB_SETCOLUMNWIDTH 405 +#define LB_SETCOUNT 423 +#define LB_SETCURSEL 390 +#define LB_SETHORIZONTALEXTENT 404 +#define LB_SETITEMDATA 410 +#define LB_SETITEMHEIGHT 416 +#define LB_SETLOCALE 421 +#define LB_SETSEL 389 +#define LB_SETTABSTOPS 402 +#define LB_SETTOPINDEX 407 +#define LBN_DBLCLK 2 +#define LBN_ERRSPACE (-2) +#define LBN_KILLFOCUS 5 +#define LBN_SELCANCEL 3 +#define LBN_SELCHANGE 1 +#define LBN_SETFOCUS 4 +#define SBM_ENABLE_ARROWS 228 +#define SBM_GETPOS 225 +#define SBM_GETRANGE 227 +#define SBM_GETSCROLLINFO 234 +#define SBM_SETPOS 224 +#define SBM_SETRANGE 226 +#define SBM_SETRANGEREDRAW 230 +#define SBM_SETSCROLLINFO 233 +#define STM_GETICON 369 +#define STM_GETIMAGE 371 +#define STM_SETICON 368 +#define STM_SETIMAGE 370 +#define STN_CLICKED 0 +#define STN_DBLCLK 1 +#define STN_DISABLE 3 +#define STN_ENABLE 2 +#define DM_GETDEFID WM_USER +#define DM_SETDEFID (WM_USER+1) +#define DM_REPOSITION (WM_USER+2) +#define PSM_PAGEINFO (WM_USER+100) +#define PSM_SHEETINFO (WM_USER+101) +#define PSI_SETACTIVE 1 +#define PSI_KILLACTIVE 2 +#define PSI_APPLY 3 +#define PSI_RESET 4 +#define PSI_HASHELP 5 +#define PSI_HELP 6 +#define PSI_CHANGED 1 +#define PSI_GUISTART 2 +#define PSI_REBOOT 3 +#define PSI_GETSIBLINGS 4 +#define DCX_WINDOW 1 +#define DCX_CACHE 2 +#define DCX_PARENTCLIP 32 +#define DCX_CLIPSIBLINGS 16 +#define DCX_CLIPCHILDREN 8 +#define DCX_NORESETATTRS 4 +#define DCX_INTERSECTUPDATE 0x200 +#define DCX_LOCKWINDOWUPDATE 0x400 +#define DCX_EXCLUDERGN 64 +#define DCX_INTERSECTRGN 128 +#define DCX_VALIDATE 0x200000 +#define GMDI_GOINTOPOPUPS 2 +#define GMDI_USEDISABLED 1 +#define FKF_AVAILABLE 2 +#define FKF_CLICKON 64 +#define FKF_FILTERKEYSON 1 +#define FKF_HOTKEYACTIVE 4 +#define FKF_HOTKEYSOUND 16 +#define FKF_CONFIRMHOTKEY 8 +#define FKF_INDICATOR 32 +#define HCF_HIGHCONTRASTON 1 +#define HCF_AVAILABLE 2 +#define HCF_HOTKEYACTIVE 4 +#define HCF_CONFIRMHOTKEY 8 +#define HCF_HOTKEYSOUND 16 +#define HCF_INDICATOR 32 +#define HCF_HOTKEYAVAILABLE 64 +#define MKF_AVAILABLE 2 +#define MKF_CONFIRMHOTKEY 8 +#define MKF_HOTKEYACTIVE 4 +#define MKF_HOTKEYSOUND 16 +#define MKF_INDICATOR 32 +#define MKF_MOUSEKEYSON 1 +#define MKF_MODIFIERS 64 +#define MKF_REPLACENUMBERS 128 +#define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */ +#define SERKF_AVAILABLE 2 +#define SERKF_INDICATOR 4 +#define SERKF_SERIALKEYSON 1 +#define SSF_AVAILABLE 2 +#define SSF_SOUNDSENTRYON 1 +#define SSTF_BORDER 2 +#define SSTF_CHARS 1 +#define SSTF_DISPLAY 3 +#define SSTF_NONE 0 +#define SSGF_DISPLAY 3 +#define SSGF_NONE 0 +#define SSWF_CUSTOM 4 +#define SSWF_DISPLAY 3 +#define SSWF_NONE 0 +#define SSWF_TITLE 1 +#define SSWF_WINDOW 2 +#define SKF_AUDIBLEFEEDBACK 64 +#define SKF_AVAILABLE 2 +#define SKF_CONFIRMHOTKEY 8 +#define SKF_HOTKEYACTIVE 4 +#define SKF_HOTKEYSOUND 16 +#define SKF_INDICATOR 32 +#define SKF_STICKYKEYSON 1 +#define SKF_TRISTATE 128 +#define SKF_TWOKEYSOFF 256 +#define TKF_AVAILABLE 2 +#define TKF_CONFIRMHOTKEY 8 +#define TKF_HOTKEYACTIVE 4 +#define TKF_HOTKEYSOUND 16 +#define TKF_TOGGLEKEYSON 1 +#define MDITILE_SKIPDISABLED 2 +#define MDITILE_HORIZONTAL 1 +#define MDITILE_VERTICAL 0 +#define VK_LBUTTON 1 +#define VK_RBUTTON 2 +#define VK_CANCEL 3 +#define VK_MBUTTON 4 +#define VK_XBUTTON1 5 +#define VK_XBUTTON2 6 +#define VK_BACK 8 +#define VK_TAB 9 +#define VK_CLEAR 12 +#define VK_RETURN 13 +#define VK_SHIFT 16 +#define VK_CONTROL 17 +#define VK_MENU 18 +#define VK_PAUSE 19 +#define VK_CAPITAL 20 +#define VK_KANA 0x15 +#define VK_HANGEUL 0x15 +#define VK_HANGUL 0x15 +#define VK_JUNJA 0x17 +#define VK_FINAL 0x18 +#define VK_HANJA 0x19 +#define VK_KANJI 0x19 +#define VK_ESCAPE 0x1B +#define VK_CONVERT 0x1C +#define VK_NONCONVERT 0x1D +#define VK_ACCEPT 0x1E +#define VK_MODECHANGE 0x1F +#define VK_SPACE 32 +#define VK_PRIOR 33 +#define VK_NEXT 34 +#define VK_END 35 +#define VK_HOME 36 +#define VK_LEFT 37 +#define VK_UP 38 +#define VK_RIGHT 39 +#define VK_DOWN 40 +#define VK_SELECT 41 +#define VK_PRINT 42 +#define VK_EXECUTE 43 +#define VK_SNAPSHOT 44 +#define VK_INSERT 45 +#define VK_DELETE 46 +#define VK_HELP 47 +#define VK_LWIN 0x5B +#define VK_RWIN 0x5C +#define VK_APPS 0x5D +#define VK_SLEEP 0x5F +#define VK_NUMPAD0 0x60 +#define VK_NUMPAD1 0x61 +#define VK_NUMPAD2 0x62 +#define VK_NUMPAD3 0x63 +#define VK_NUMPAD4 0x64 +#define VK_NUMPAD5 0x65 +#define VK_NUMPAD6 0x66 +#define VK_NUMPAD7 0x67 +#define VK_NUMPAD8 0x68 +#define VK_NUMPAD9 0x69 +#define VK_MULTIPLY 0x6A +#define VK_ADD 0x6B +#define VK_SEPARATOR 0x6C +#define VK_SUBTRACT 0x6D +#define VK_DECIMAL 0x6E +#define VK_DIVIDE 0x6F +#define VK_F1 0x70 +#define VK_F2 0x71 +#define VK_F3 0x72 +#define VK_F4 0x73 +#define VK_F5 0x74 +#define VK_F6 0x75 +#define VK_F7 0x76 +#define VK_F8 0x77 +#define VK_F9 0x78 +#define VK_F10 0x79 +#define VK_F11 0x7A +#define VK_F12 0x7B +#define VK_F13 0x7C +#define VK_F14 0x7D +#define VK_F15 0x7E +#define VK_F16 0x7F +#define VK_F17 0x80 +#define VK_F18 0x81 +#define VK_F19 0x82 +#define VK_F20 0x83 +#define VK_F21 0x84 +#define VK_F22 0x85 +#define VK_F23 0x86 +#define VK_F24 0x87 +#define VK_NUMLOCK 0x90 +#define VK_SCROLL 0x91 +#define VK_LSHIFT 0xA0 +#define VK_RSHIFT 0xA1 +#define VK_LCONTROL 0xA2 +#define VK_RCONTROL 0xA3 +#define VK_LMENU 0xA4 +#define VK_RMENU 0xA5 +#define VK_BROWSER_BACK 0xA6 +#define VK_BROWSER_FORWARD 0xA7 +#define VK_BROWSER_REFRESH 0xA8 +#define VK_BROWSER_STOP 0xA9 +#define VK_BROWSER_SEARCH 0xAA +#define VK_BROWSER_FAVORITES 0xAB +#define VK_BROWSER_HOME 0xAC +#define VK_VOLUME_MUTE 0xAD +#define VK_VOLUME_DOWN 0xAE +#define VK_VOLUME_UP 0xAF +#define VK_MEDIA_NEXT_TRACK 0xB0 +#define VK_MEDIA_PREV_TRACK 0xB1 +#define VK_MEDIA_STOP 0xB2 +#define VK_MEDIA_PLAY_PAUSE 0xB3 +#define VK_LAUNCH_MAIL 0xB4 +#define VK_LAUNCH_MEDIA_SELECT 0xB5 +#define VK_LAUNCH_APP1 0xB6 +#define VK_LAUNCH_APP2 0xB7 +#define VK_OEM_1 0xBA +#define VK_OEM_PLUS 0xBB +#define VK_OEM_COMMA 0xBC +#define VK_OEM_MINUS 0xBD +#define VK_OEM_PERIOD 0xBE +#define VK_OEM_2 0xBF +#define VK_OEM_3 0xC0 +#define VK_OEM_4 0xDB +#define VK_OEM_5 0xDC +#define VK_OEM_6 0xDD +#define VK_OEM_7 0xDE +#define VK_OEM_8 0xDF +#define VK_OEM_102 0xE2 +#define VK_PROCESSKEY 0xE5 +#define VK_PACKET 0xE7 +#define VK_ATTN 0xF6 +#define VK_CRSEL 0xF7 +#define VK_EXSEL 0xF8 +#define VK_EREOF 0xF9 +#define VK_PLAY 0xFA +#define VK_ZOOM 0xFB +#define VK_NONAME 0xFC +#define VK_PA1 0xFD +#define VK_OEM_CLEAR 0xFE +#define TME_HOVER 1 +#define TME_LEAVE 2 +#define TME_QUERY 0x40000000 +#define TME_CANCEL 0x80000000 +#define HOVER_DEFAULT 0xFFFFFFFF +#define MK_LBUTTON 1 +#define MK_RBUTTON 2 +#define MK_SHIFT 4 +#define MK_CONTROL 8 +#define MK_MBUTTON 16 +#define MK_XBUTTON1 32 +#define MK_XBUTTON2 64 +#define TPM_CENTERALIGN 4 +#define TPM_LEFTALIGN 0 +#define TPM_RIGHTALIGN 8 +#define TPM_LEFTBUTTON 0 +#define TPM_RIGHTBUTTON 2 +#define TPM_HORIZONTAL 0 +#define TPM_VERTICAL 64 +#define TPM_TOPALIGN 0 +#define TPM_VCENTERALIGN 16 +#define TPM_BOTTOMALIGN 32 +#define TPM_NONOTIFY 128 +#define TPM_RETURNCMD 256 +#define TPM_RECURSE 1 +#define HELP_COMMAND 0x102 +#define HELP_CONTENTS 3 +#define HELP_CONTEXT 1 +#define HELP_CONTEXTPOPUP 8 +#define HELP_FORCEFILE 9 +#define HELP_HELPONHELP 4 +#define HELP_INDEX 3 +#define HELP_KEY 0x101 +#define HELP_MULTIKEY 0x201 +#define HELP_PARTIALKEY 0x105 +#define HELP_QUIT 2 +#define HELP_SETCONTENTS 5 +#define HELP_SETINDEX 5 +#define HELP_SETWINPOS 0x203 +#define HELP_CONTEXTMENU 0xa +#define HELP_FINDER 0xb +#define HELP_WM_HELP 0xc +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 16 +#define HELP_TCARD_OTHER_CALLER 0x11 +#define IDH_NO_HELP 28440 +#define IDH_MISSING_CONTEXT 28441 +#define IDH_GENERIC_HELP_BUTTON 28442 +#define IDH_OK 28443 +#define IDH_CANCEL 28444 +#define IDH_HELP 28445 +#define LB_CTLCODE 0 +#define LB_OKAY 0 +#define LB_ERR (-1) +#define LB_ERRSPACE (-2) +#define CB_OKAY 0 +#define CB_ERR (-1) +#define CB_ERRSPACE (-2) +#define HIDE_WINDOW 0 +#define SHOW_OPENWINDOW 1 +#define SHOW_ICONWINDOW 2 +#define SHOW_FULLSCREEN 3 +#define SHOW_OPENNOACTIVATE 4 +#define SW_PARENTCLOSING 1 +#define SW_OTHERZOOM 2 +#define SW_PARENTOPENING 3 +#define SW_OTHERUNZOOM 4 +#define KF_EXTENDED 256 +#define KF_DLGMODE 2048 +#define KF_MENUMODE 4096 +#define KF_ALTDOWN 8192 +#define KF_REPEAT 16384 +#define KF_UP 32768 +#define WSF_VISIBLE 1 +#define PWR_OK 1 +#define PWR_FAIL (-1) +#define PWR_SUSPENDREQUEST 1 +#define PWR_SUSPENDRESUME 2 +#define PWR_CRITICALRESUME 3 +#define NFR_ANSI 1 +#define NFR_UNICODE 2 +#define NF_QUERY 3 +#define NF_REQUERY 4 +#define MENULOOP_WINDOW 0 +#define MENULOOP_POPUP 1 +#define WMSZ_LEFT 1 +#define WMSZ_RIGHT 2 +#define WMSZ_TOP 3 +#define WMSZ_TOPLEFT 4 +#define WMSZ_TOPRIGHT 5 +#define WMSZ_BOTTOM 6 +#define WMSZ_BOTTOMLEFT 7 +#define WMSZ_BOTTOMRIGHT 8 +#define HTERROR (-2) +#define HTTRANSPARENT (-1) +#define HTNOWHERE 0 +#define HTCLIENT 1 +#define HTCAPTION 2 +#define HTSYSMENU 3 +#define HTGROWBOX 4 +#define HTSIZE 4 +#define HTMENU 5 +#define HTHSCROLL 6 +#define HTVSCROLL 7 +#define HTMINBUTTON 8 +#define HTMAXBUTTON 9 +#define HTREDUCE 8 +#define HTZOOM 9 +#define HTLEFT 10 +#define HTSIZEFIRST 10 +#define HTRIGHT 11 +#define HTTOP 12 +#define HTTOPLEFT 13 +#define HTTOPRIGHT 14 +#define HTBOTTOM 15 +#define HTBOTTOMLEFT 16 +#define HTBOTTOMRIGHT 17 +#define HTSIZELAST 17 +#define HTBORDER 18 +#define HTOBJECT 19 +#define HTCLOSE 20 +#define HTHELP 21 +#define MA_ACTIVATE 1 +#define MA_ACTIVATEANDEAT 2 +#define MA_NOACTIVATE 3 +#define MA_NOACTIVATEANDEAT 4 +#define SIZE_RESTORED 0 +#define SIZE_MINIMIZED 1 +#define SIZE_MAXIMIZED 2 +#define SIZE_MAXSHOW 3 +#define SIZE_MAXHIDE 4 +#define SIZENORMAL 0 +#define SIZEICONIC 1 +#define SIZEFULLSCREEN 2 +#define SIZEZOOMSHOW 3 +#define SIZEZOOMHIDE 4 +#define WVR_ALIGNTOP 16 +#define WVR_ALIGNLEFT 32 +#define WVR_ALIGNBOTTOM 64 +#define WVR_ALIGNRIGHT 128 +#define WVR_HREDRAW 256 +#define WVR_VREDRAW 512 +#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW) +#define WVR_VALIDRECTS 1024 +#define PRF_CHECKVISIBLE 1 +#define PRF_NONCLIENT 2 +#define PRF_CLIENT 4 +#define PRF_ERASEBKGND 8 +#define PRF_CHILDREN 16 +#define PRF_OWNED 32 +#define IDANI_OPEN 1 +#define IDANI_CLOSE 2 +#define IDANI_CAPTION 3 +#define WPF_RESTORETOMAXIMIZED 2 +#define WPF_SETMINPOSITION 1 +#define ODT_MENU 1 +#define ODT_LISTBOX 2 +#define ODT_COMBOBOX 3 +#define ODT_BUTTON 4 +#define ODT_STATIC 5 +#define ODA_DRAWENTIRE 1 +#define ODA_SELECT 2 +#define ODA_FOCUS 4 +#define ODS_SELECTED 1 +#define ODS_GRAYED 2 +#define ODS_DISABLED 4 +#define ODS_CHECKED 8 +#define ODS_FOCUS 16 +#define ODS_DEFAULT 32 +#define ODS_COMBOBOXEDIT 4096 +#define IDHOT_SNAPWINDOW (-1) +#define IDHOT_SNAPDESKTOP (-2) +#define DBWF_LPARAMPOINTER 0x8000 +#define DLGWINDOWEXTRA 30 +#define MNC_IGNORE 0 +#define MNC_CLOSE 1 +#define MNC_EXECUTE 2 +#define MNC_SELECT 3 +#define DOF_EXECUTABLE 0x8001 +#define DOF_DOCUMENT 0x8002 +#define DOF_DIRECTORY 0x8003 +#define DOF_MULTIPLE 0x8004 +#define DOF_PROGMAN 1 +#define DOF_SHELLDATA 2 +#define DO_DROPFILE 0x454C4946 +#define DO_PRINTFILE 0x544E5250 +#define SW_SCROLLCHILDREN 1 +#define SW_INVALIDATE 2 +#define SW_ERASE 4 +#define SW_SMOOTHSCROLL 0x0010 +#define SC_SIZE 0xF000 +#define SC_MOVE 0xF010 +#define SC_MINIMIZE 0xF020 +#define SC_ICON 0xf020 +#define SC_MAXIMIZE 0xF030 +#define SC_ZOOM 0xF030 +#define SC_NEXTWINDOW 0xF040 +#define SC_PREVWINDOW 0xF050 +#define SC_CLOSE 0xF060 +#define SC_VSCROLL 0xF070 +#define SC_HSCROLL 0xF080 +#define SC_MOUSEMENU 0xF090 +#define SC_KEYMENU 0xF100 +#define SC_ARRANGE 0xF110 +#define SC_RESTORE 0xF120 +#define SC_TASKLIST 0xF130 +#define SC_SCREENSAVE 0xF140 +#define SC_HOTKEY 0xF150 +#define SC_DEFAULT 0xF160 +#define SC_MONITORPOWER 0xF170 +#define SC_CONTEXTHELP 0xF180 +#define SC_SEPARATOR 0xF00F +#define EC_LEFTMARGIN 1 +#define EC_RIGHTMARGIN 2 +#define EC_USEFONTINFO 0xffff +#define DC_HASDEFID 0x534B +#define DLGC_WANTARROWS 1 +#define DLGC_WANTTAB 2 +#define DLGC_WANTALLKEYS 4 +#define DLGC_WANTMESSAGE 4 +#define DLGC_HASSETSEL 8 +#define DLGC_DEFPUSHBUTTON 16 +#define DLGC_UNDEFPUSHBUTTON 32 +#define DLGC_RADIOBUTTON 64 +#define DLGC_WANTCHARS 128 +#define DLGC_STATIC 256 +#define DLGC_BUTTON 0x2000 +#define WA_INACTIVE 0 +#define WA_ACTIVE 1 +#define WA_CLICKACTIVE 2 +#define ICON_SMALL 0 +#define ICON_BIG 1 +#define ICON_SMALL2 2 +#define HBMMENU_CALLBACK ((HBITMAP) -1) +#define HBMMENU_SYSTEM ((HBITMAP)1) +#define HBMMENU_MBAR_RESTORE ((HBITMAP)2) +#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3) +#define HBMMENU_MBAR_CLOSE ((HBITMAP)5) +#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6) +#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7) +#define HBMMENU_POPUP_CLOSE ((HBITMAP)8) +#define HBMMENU_POPUP_RESTORE ((HBITMAP)9) +#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10) +#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11) +#define MOD_ALT 1 +#define MOD_CONTROL 2 +#define MOD_SHIFT 4 +#define MOD_WIN 8 +#define MOD_IGNORE_ALL_MODIFIER 1024 +#define MOD_ON_KEYUP 2048 +#define MOD_RIGHT 16384 +#define MOD_LEFT 32768 +#define LLKHF_EXTENDED (KF_EXTENDED >> 8) +#define LLKHF_INJECTED 0x00000010 +#define LLKHF_ALTDOWN (KF_ALTDOWN >> 8) +#define LLKHF_UP (KF_UP >> 8) +#define FLASHW_STOP 0 +#define FLASHW_CAPTION 1 +#define FLASHW_TRAY 2 +#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY) +#define FLASHW_TIMER 4 +#define FLASHW_TIMERNOFG 12 +#define CURSOR_SHOWING 0x00000001 +#define WS_ACTIVECAPTION 0x00000001 +#define INPUT_MOUSE 0x00000000 +#define INPUT_KEYBOARD 0x00000001 +#define INPUT_HARDWARE 0x00000002 +#define ENDSESSION_LOGOFF 0x80000000 +#define CHILDID_SELF 0 +#define OBJID_WINDOW 0x00000000 +#define OBJID_SYSMENU 0xFFFFFFFF +#define OBJID_TITLEBAR 0xFFFFFFFE +#define OBJID_MENU 0xFFFFFFFD +#define OBJID_CLIENT 0xFFFFFFFC +#define OBJID_VSCROLL 0xFFFFFFFB +#define OBJID_HSCROLL 0xFFFFFFFA +#define OBJID_SIZEGRIP 0xFFFFFFF9 +#define OBJID_CARET 0xFFFFFFF8 +#define OBJID_CURSOR 0xFFFFFFF7 +#define OBJID_ALERT 0xFFFFFFF6 +#define OBJID_SOUND 0xFFFFFFF5 +#define GUI_CARETBLINKING 0x00000001 +#define GUI_INMOVESIZE 0x00000002 +#define GUI_INMENUMODE 0x00000004 +#define GUI_SYSTEMMENUMODE 0x00000008 +#define GUI_POPUPMENUMODE 0x00000010 +#define GUI_16BITTASK 0x00000020 +#define WINEVENT_OUTOFCONTEXT 0x0000 +#define WINEVENT_SKIPOWNTHREAD 0x0001 +#define WINEVENT_SKIPOWNPROCESS 0x0002 +#define WINEVENT_INCONTEXT 0x0004 +#define AW_HOR_POSITIVE 0x00000001 +#define AW_HOR_NEGATIVE 0x00000002 +#define AW_VER_POSITIVE 0x00000004 +#define AW_VER_NEGATIVE 0x00000008 +#define AW_CENTER 0x00000010 +#define AW_HIDE 0x00010000 +#define AW_ACTIVATE 0x00020000 +#define AW_SLIDE 0x00040000 +#define AW_BLEND 0x00080000 +#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000 +#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001 +#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004 +#define EVENT_MIN 0x00000001 +#define EVENT_SYSTEM_SOUND 0x00000001 +#define EVENT_SYSTEM_ALERT 0x00000002 +#define EVENT_SYSTEM_FOREGROUND 0x00000003 +#define EVENT_SYSTEM_MENUSTART 0x00000004 +#define EVENT_SYSTEM_MENUEND 0x00000005 +#define EVENT_SYSTEM_MENUPOPUPSTART 0x00000006 +#define EVENT_SYSTEM_MENUPOPUPEND 0x00000007 +#define EVENT_SYSTEM_CAPTURESTART 0x00000008 +#define EVENT_SYSTEM_CAPTUREEND 0x00000009 +#define EVENT_SYSTEM_MOVESIZESTART 0x0000000a +#define EVENT_SYSTEM_MOVESIZEEND 0x0000000b +#define EVENT_SYSTEM_CONTEXTHELPSTART 0x0000000c +#define EVENT_SYSTEM_CONTEXTHELPEND 0x0000000d +#define EVENT_SYSTEM_DRAGDROPSTART 0x0000000e +#define EVENT_SYSTEM_DRAGDROPEND 0x0000000f +#define EVENT_SYSTEM_DIALOGSTART 0x00000010 +#define EVENT_SYSTEM_DIALOGEND 0x00000011 +#define EVENT_SYSTEM_SCROLLINGSTART 0x00000012 +#define EVENT_SYSTEM_SCROLLINGEND 0x00000013 +#define EVENT_SYSTEM_SWITCHSTART 0x00000014 +#define EVENT_SYSTEM_SWITCHEND 0x00000015 +#define EVENT_SYSTEM_MINIMIZESTART 0x00000016 +#define EVENT_SYSTEM_MINIMIZEEND 0x00000017 +#define EVENT_OBJECT_CREATE 0x00008000 +#define EVENT_OBJECT_DESTROY 0x00008001 +#define EVENT_OBJECT_SHOW 0x00008002 +#define EVENT_OBJECT_HIDE 0x00008003 +#define EVENT_OBJECT_REORDER 0x00008004 +#define EVENT_OBJECT_FOCUS 0x00008005 +#define EVENT_OBJECT_SELECTION 0x00008006 +#define EVENT_OBJECT_SELECTIONADD 0x00008007 +#define EVENT_OBJECT_SELECTIONREMOVE 0x00008008 +#define EVENT_OBJECT_SELECTIONWITHIN 0x00008009 +#define EVENT_OBJECT_STATECHANGE 0x0000800a +#define EVENT_OBJECT_LOCATIONCHANGE 0x0000800b +#define EVENT_OBJECT_NAMECHANGE 0x0000800c +#define EVENT_OBJECT_DESCRIPTIONCHANGE 0x0000800d +#define EVENT_OBJECT_VALUECHANGE 0x0000800e +#define EVENT_OBJECT_PARENTCHANGE 0x0000800f +#define EVENT_OBJECT_HELPCHANGE 0x00008010 +#define EVENT_OBJECT_DEFACTIONCHANGE 0x00008011 +#define EVENT_OBJECT_ACCELERATORCHANGE 0x00008012 +#define EVENT_CONSOLE_CARET 0x00004001 +#define CONSOLE_CARET_SELECTION 0x00000001 +#define CONSOLE_CARET_VISIBLE 0x00000002 +#define EVENT_CONSOLE_UPDATE_REGION 0x00004002 +#define EVENT_CONSOLE_UPDATE_SIMPLE 0x00004003 +#define EVENT_CONSOLE_UPDATE_SCROLL 0x00004004 +#define EVENT_CONSOLE_LAYOUT 0x00004005 +#define EVENT_CONSOLE_START_APPLICATION 0x00004006 +#define CONSOLE_APPLICATION_16BIT 0x00000001 +#define EVENT_CONSOLE_END_APPLICATION 0x00004007 +#define EVENT_MAX 0x7fffffff +#define ASFW_ANY ((DWORD)-1) +#define LSFW_LOCK 1 +#define LSFW_UNLOCK 2 +#define LWA_COLORKEY 0x01 +#define LWA_ALPHA 0x02 +#define ULW_COLORKEY 0x01 +#define ULW_ALPHA 0x02 +#define ULW_OPAQUE 0x04 +#define GA_PARENT 1 +#define GA_ROOT 2 +#define GA_ROOTOWNER 3 +#define MONITOR_DEFAULTTONULL 0 +#define MONITOR_DEFAULTTOPRIMARY 1 +#define MONITOR_DEFAULTTONEAREST 2 +#define MONITORINFOF_PRIMARY 1 +#define EDS_RAWMODE 0x00000002 +#define ISMEX_NOSEND 0x00000000 +#define ISMEX_CALLBACK 0x00000004 +#define ISMEX_NOTIFY 0x00000002 +#define ISMEX_REPLIED 0x00000008 +#define ISMEX_SEND 0x00000001 +#define GR_GDIOBJECTS 0 +#define GR_USEROBJECTS 1 +#define GMMP_USE_DISPLAY_POINTS 1 +#define GMMP_USE_HIGH_RESOLUTION_POINTS 2 +#define XBUTTON1 0x0001 +#define XBUTTON2 0x0002 +#define FE_FONTSMOOTHINGSTANDARD 0x0001 +#define FE_FONTSMOOTHINGCLEARTYPE 0x0002 +#define PW_CLIENTONLY 0x00000001 +#define RIM_INPUT 0x00000000 +#define RIM_INPUTSINK 0x00000001 +#define RIM_TYPEMOUSE 0x00000000 +#define RIM_TYPEKEYBOARD 0x00000001 +#define RIM_TYPEHID 0x00000002 +#define MOUSE_MOVE_RELATIVE 0x00000000 +#define MOUSE_MOVE_ABSOLUTE 0x00000001 +#define MOUSE_VIRTUAL_DESKTOP 0x00000002 +#define MOUSE_ATTRIBUTES_CHANGED 0x00000004 +#define RI_MOUSE_LEFT_BUTTON_DOWN 0x0001 +#define RI_MOUSE_LEFT_BUTTON_UP 0x0002 +#define RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004 +#define RI_MOUSE_RIGHT_BUTTON_UP 0x0008 +#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010 +#define RI_MOUSE_MIDDLE_BUTTON_UP 0x0020 +#define RI_MOUSE_BUTTON_1_DOWN RI_MOUSE_LEFT_BUTTON_DOWN +#define RI_MOUSE_BUTTON_1_UP RI_MOUSE_LEFT_BUTTON_UP +#define RI_MOUSE_BUTTON_2_DOWN RI_MOUSE_RIGHT_BUTTON_DOWN +#define RI_MOUSE_BUTTON_2_UP RI_MOUSE_RIGHT_BUTTON_UP +#define RI_MOUSE_BUTTON_3_DOWN RI_MOUSE_MIDDLE_BUTTON_DOWN +#define RI_MOUSE_BUTTON_3_UP RI_MOUSE_MIDDLE_BUTTON_UP +#define RI_MOUSE_BUTTON_4_DOWN 0x0040 +#define RI_MOUSE_BUTTON_4_UP 0x0080 +#define RI_MOUSE_BUTTON_5_DOWN 0x0100 +#define RI_MOUSE_BUTTON_5_UP 0x0200 +#define RI_MOUSE_WHEEL 0x0400 +#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff +#define RI_KEY_MAKE 0x0000 +#define RI_KEY_BREAK 0x0001 +#define RI_KEY_E0 0x0002 +#define RI_KEY_E1 0x0004 +#define RI_KEY_TERMSRV_SET_LED 0x0008 +#define RI_KEY_TERMSRV_SHADOW 0x0010 +#define RID_INPUT 0x10000003 +#define RID_HEADER 0x10000005 +#define RIDI_PREPARSEDDATA 0x20000005 +#define RIDI_DEVICENAME 0x20000007 +#define RIDI_DEVICEINFO 0x2000000b +#define RIDEV_REMOVE 0x00000001 +#define RIDEV_EXCLUDE 0x00000010 +#define RIDEV_PAGEONLY 0x00000020 +#define RIDEV_NOLEGACY 0x00000030 +#define RIDEV_INPUTSINK 0x00000100 +#define RIDEV_CAPTUREMOUSE 0x00000200 +#define RIDEV_NOHOTKEYS 0x00000200 +#define RIDEV_APPKEYS 0x00000400 + +#define IDC_ARROW 32512 +#define HWND_TOP (0) +#define HWND_BOTTOM (1) +#define HWND_TOPMOST (-1) +#define HWND_NOTOP (-2) -/**************************************************************************** -* * -* winuser.h -- USER procedure declarations, constant definitions and macros * -* * -* Copyright (c) 1985 - 1999, Microsoft Corporation * -* * -****************************************************************************/ - - -#ifndef _WINUSER_ - //P_O_Push - #define _WINUSER_ - - - // - // Define API decoration for direct importing of DLL references. - // - - - //#define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0) - //#define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i))) - //#define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i))) - //#ifdef UNICODE - //#define MAKEINTRESOURCE MAKEINTRESOURCEW - //#else - //#define MAKEINTRESOURCE MAKEINTRESOURCEA - //#endif // !UNICODE - - #ifndef NORESOURCE - - /* - * Predefined Resource Types - */ - #define RT_CURSOR 1 - #define RT_BITMAP 2 - #define RT_ICON 3 - #define RT_MENU 4 - #define RT_DIALOG 5 - #define RT_STRING 6 - #define RT_FONTDIR 7 - #define RT_FONT 8 - #define RT_ACCELERATOR 9 - #define RT_RCDATA 10 - #define RT_GROUP_CURSOR 12 - #define RT_GROUP_ICON 14 - #define RT_VERSION 16 - #define RT_DLGINCLUDE 17 - - //#define RT_CURSOR MAKEINTRESOURCE(1) - //#define RT_BITMAP MAKEINTRESOURCE(2) - //#define RT_ICON MAKEINTRESOURCE(3) - //#define RT_MENU MAKEINTRESOURCE(4) - //#define RT_DIALOG MAKEINTRESOURCE(5) - //#define RT_STRING MAKEINTRESOURCE(6) - //#define RT_FONTDIR MAKEINTRESOURCE(7) - //#define RT_FONT MAKEINTRESOURCE(8) - //#define RT_ACCELERATOR MAKEINTRESOURCE(9) - //#define RT_RCDATA MAKEINTRESOURCE(10) - - #define RT_MESSAGETABLE MAKEINTRESOURCE(11) - - #define DIFFERENCE 11 - //#define RT_GROUP_CURSOR MAKEINTRESOURCE((ULONG_PTR)RT_CURSOR + DIFFERENCE) - //#define RT_GROUP_ICON MAKEINTRESOURCE((ULONG_PTR)RT_ICON + DIFFERENCE) - //#define RT_VERSION MAKEINTRESOURCE(16) - //#define RT_DLGINCLUDE MAKEINTRESOURCE(17) - //#if (WINVER >= 1024) - #define RT_PLUGPLAY MAKEINTRESOURCE(19) - #define RT_VXD MAKEINTRESOURCE(20) - #define RT_ANICURSOR MAKEINTRESOURCE(21) - #define RT_ANIICON MAKEINTRESOURCE(22) - //#endif // WINVER >= 0x0400 - #define RT_HTML MAKEINTRESOURCE(23) - - #endif // !NORESOURCE - - - //#ifdef UNICODE - //#define wvsprintf wvsprintfW - //#else - //#define wvsprintf wvsprintfA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define wsprintf wsprintfW - //#else - //#define wsprintf wsprintfA - //#endif // !UNICODE - - - /* - * SPI_SETDESKWALLPAPER defined constants - */ - #define SETWALLPAPER_DEFAULT ((LPWSTR)-1) - - #ifndef NOSCROLL - - /* - * Scroll Bar Constants - */ - #define SB_HORZ 0 - #define SB_VERT 1 - #define SB_CTL 2 - #define SB_BOTH 3 - - /* - * Scroll Bar Commands - */ - #define SB_LINEUP 0 - #define SB_LINELEFT 0 - #define SB_LINEDOWN 1 - #define SB_LINERIGHT 1 - #define SB_PAGEUP 2 - #define SB_PAGELEFT 2 - #define SB_PAGEDOWN 3 - #define SB_PAGERIGHT 3 - #define SB_THUMBPOSITION 4 - #define SB_THUMBTRACK 5 - #define SB_TOP 6 - #define SB_LEFT 6 - #define SB_BOTTOM 7 - #define SB_RIGHT 7 - #define SB_ENDSCROLL 8 - - #endif // !NOSCROLL - - #ifndef NOSHOWWINDOW - - /* - * ShowWindow() Commands - */ - #define SW_HIDE 0 - #define SW_SHOWNORMAL 1 - #define SW_NORMAL 1 - #define SW_SHOWMINIMIZED 2 - #define SW_SHOWMAXIMIZED 3 - #define SW_MAXIMIZE 3 - #define SW_SHOWNOACTIVATE 4 - #define SW_SHOW 5 - #define SW_MINIMIZE 6 - #define SW_SHOWMINNOACTIVE 7 - #define SW_SHOWNA 8 - #define SW_RESTORE 9 - #define SW_SHOWDEFAULT 10 - #define SW_FORCEMINIMIZE 11 - #define SW_MAX 11 - - /* - * Old ShowWindow() Commands - */ - #define HIDE_WINDOW 0 - #define SHOW_OPENWINDOW 1 - #define SHOW_ICONWINDOW 2 - #define SHOW_FULLSCREEN 3 - #define SHOW_OPENNOACTIVATE 4 - - /* - * Identifiers for the WM_SHOWWINDOW message - */ - #define SW_PARENTCLOSING 1 - #define SW_OTHERZOOM 2 - #define SW_PARENTOPENING 3 - #define SW_OTHERUNZOOM 4 - - - #endif // !NOSHOWWINDOW - - //#if(WINVER >= 1280) - /* - * AnimateWindow() Commands - */ - #define AW_HOR_POSITIVE 1 - #define AW_HOR_NEGATIVE 2 - #define AW_VER_POSITIVE 4 - #define AW_VER_NEGATIVE 8 - #define AW_CENTER 16 - #define AW_HIDE 65536 - #define AW_ACTIVATE 131072 - #define AW_SLIDE 262144 - #define AW_BLEND 524288 - - //#endif // WINVER >= 0x0500 - - - /* - * WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags - */ - #define KF_EXTENDED 256 - #define KF_DLGMODE 2048 - #define KF_MENUMODE 4096 - #define KF_ALTDOWN 8192 - #define KF_REPEAT 16384 - #define KF_UP 32768 - - #ifndef NOVIRTUALKEYCODES - - /* - * Virtual Keys, Standard Set - */ - #define VK_LBUTTON 1 - #define VK_RBUTTON 2 - #define VK_CANCEL 3 - #define VK_MBUTTON 4 // NOT contiguous with L & RBUTTON - - //#if(_WIN32_WINNT >= 1280) - #define VK_XBUTTON1 5 // NOT contiguous with L & RBUTTON - #define VK_XBUTTON2 6 // NOT contiguous with L & RBUTTON - //#endif // _WIN32_WINNT >= 0x0500 - - /* - * 0x07 : unassigned - */ - - #define VK_BACK 8 - #define VK_TAB 9 - - /* - * 0x0A - 0x0B : reserved - */ - - #define VK_CLEAR 12 - #define VK_RETURN 13 - - #define VK_SHIFT 16 - #define VK_CONTROL 17 - #define VK_MENU 18 - #define VK_PAUSE 19 - #define VK_CAPITAL 20 - - #define VK_KANA 21 - #define VK_HANGEUL 21 // old name - should be here for compatibility - #define VK_HANGUL 21 - #define VK_JUNJA 23 - #define VK_FINAL 24 - #define VK_HANJA 25 - #define VK_KANJI 25 - - #define VK_ESCAPE 27 - - #define VK_CONVERT 28 - #define VK_NONCONVERT 29 - #define VK_ACCEPT 30 - #define VK_MODECHANGE 31 - - #define VK_SPACE 32 - #define VK_PRIOR 33 - #define VK_NEXT 34 - #define VK_END 35 - #define VK_HOME 36 - #define VK_LEFT 37 - #define VK_UP 38 - #define VK_RIGHT 39 - #define VK_DOWN 40 - #define VK_SELECT 41 - #define VK_PRINT 42 - #define VK_EXECUTE 43 - #define VK_SNAPSHOT 44 - #define VK_INSERT 45 - #define VK_DELETE 46 - #define VK_HELP 47 - - /* - * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) - * 0x40 : unassigned - * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) - */ - - #define VK_LWIN 91 - #define VK_RWIN 92 - #define VK_APPS 93 - - /* - * 0x5E : reserved - */ - - #define VK_SLEEP 95 - - #define VK_NUMPAD0 96 - #define VK_NUMPAD1 97 - #define VK_NUMPAD2 98 - #define VK_NUMPAD3 99 - #define VK_NUMPAD4 100 - #define VK_NUMPAD5 101 - #define VK_NUMPAD6 102 - #define VK_NUMPAD7 103 - #define VK_NUMPAD8 104 - #define VK_NUMPAD9 105 - #define VK_MULTIPLY 106 - #define VK_ADD 107 - #define VK_SEPARATOR 108 - #define VK_SUBTRACT 109 - #define VK_DECIMAL 110 - #define VK_DIVIDE 111 - #define VK_F1 112 - #define VK_F2 113 - #define VK_F3 114 - #define VK_F4 115 - #define VK_F5 116 - #define VK_F6 117 - #define VK_F7 118 - #define VK_F8 119 - #define VK_F9 120 - #define VK_F10 121 - #define VK_F11 122 - #define VK_F12 123 - #define VK_F13 124 - #define VK_F14 125 - #define VK_F15 126 - #define VK_F16 127 - #define VK_F17 128 - #define VK_F18 129 - #define VK_F19 130 - #define VK_F20 131 - #define VK_F21 132 - #define VK_F22 133 - #define VK_F23 134 - #define VK_F24 135 - - /* - * 0x88 - 0x8F : unassigned - */ - - #define VK_NUMLOCK 144 - #define VK_SCROLL 145 - - /* - * NEC PC-9800 kbd definitions - */ - #define VK_OEM_NEC_EQUAL 146 // '=' key on numpad - - /* - * Fujitsu/OASYS kbd definitions - */ - #define VK_OEM_FJ_JISHO 146 // 'Dictionary' key - #define VK_OEM_FJ_MASSHOU 147 // 'Unregister word' key - #define VK_OEM_FJ_TOUROKU 148 // 'Register word' key - #define VK_OEM_FJ_LOYA 149 // 'Left OYAYUBI' key - #define VK_OEM_FJ_ROYA 150 // 'Right OYAYUBI' key - - /* - * 0x97 - 0x9F : unassigned - */ - - /* - * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys. - * Used only as parameters to GetAsyncKeyState() and GetKeyState(). - * No other API or message will distinguish left and right keys in this way. - */ - #define VK_LSHIFT 160 - #define VK_RSHIFT 161 - #define VK_LCONTROL 162 - #define VK_RCONTROL 163 - #define VK_LMENU 164 - #define VK_RMENU 165 - - //#if(_WIN32_WINNT >= 1280) - #define VK_BROWSER_BACK 166 - #define VK_BROWSER_FORWARD 167 - #define VK_BROWSER_REFRESH 168 - #define VK_BROWSER_STOP 169 - #define VK_BROWSER_SEARCH 170 - #define VK_BROWSER_FAVORITES 171 - #define VK_BROWSER_HOME 172 - - #define VK_VOLUME_MUTE 173 - #define VK_VOLUME_DOWN 174 - #define VK_VOLUME_UP 175 - #define VK_MEDIA_NEXT_TRACK 176 - #define VK_MEDIA_PREV_TRACK 177 - #define VK_MEDIA_STOP 178 - #define VK_MEDIA_PLAY_PAUSE 179 - #define VK_LAUNCH_MAIL 180 - #define VK_LAUNCH_MEDIA_SELECT 181 - #define VK_LAUNCH_APP1 182 - #define VK_LAUNCH_APP2 183 - - //#endif // _WIN32_WINNT >= 0x0500 - - /* - * 0xB8 - 0xB9 : reserved - */ - - #define VK_OEM_1 186 // ';:' for US - #define VK_OEM_PLUS 187 // '+' any country - #define VK_OEM_COMMA 188 // ',' any country - #define VK_OEM_MINUS 189 // '-' any country - #define VK_OEM_PERIOD 190 // '.' any country - #define VK_OEM_2 191 // '/?' for US - #define VK_OEM_3 192 // '`~' for US - - /* - * 0xC1 - 0xD7 : reserved - */ - - /* - * 0xD8 - 0xDA : unassigned - */ - - #define VK_OEM_4 219 // '[{' for US - #define VK_OEM_5 220 // '\|' for US - #define VK_OEM_6 221 // ']}' for US - #define VK_OEM_7 222 // ''"' for US - #define VK_OEM_8 223 - - /* - * 0xE0 : reserved - */ - - /* - * Various extended or enhanced keyboards - */ - #define VK_OEM_AX 225 // 'AX' key on Japanese AX kbd - #define VK_OEM_102 226 // "<>" or "\|" on RT 102-key kbd. - #define VK_ICO_HELP 227 // Help key on ICO - #define VK_ICO_00 228 // 00 key on ICO - - //#if(WINVER >= 1024) - #define VK_PROCESSKEY 229 - //#endif // WINVER >= 0x0400 - - #define VK_ICO_CLEAR 230 - - - //#if(_WIN32_WINNT >= 1280) - #define VK_PACKET 231 - //#endif // _WIN32_WINNT >= 0x0500 - - /* - * 0xE8 : unassigned - */ - - /* - * Nokia/Ericsson definitions - */ - #define VK_OEM_RESET 233 - #define VK_OEM_JUMP 234 - #define VK_OEM_PA1 235 - #define VK_OEM_PA2 236 - #define VK_OEM_PA3 237 - #define VK_OEM_WSCTRL 238 - #define VK_OEM_CUSEL 239 - #define VK_OEM_ATTN 240 - #define VK_OEM_FINISH 241 - #define VK_OEM_COPY 242 - #define VK_OEM_AUTO 243 - #define VK_OEM_ENLW 244 - #define VK_OEM_BACKTAB 245 - - #define VK_ATTN 246 - #define VK_CRSEL 247 - #define VK_EXSEL 248 - #define VK_EREOF 249 - #define VK_PLAY 250 - #define VK_ZOOM 251 - #define VK_NONAME 252 - #define VK_PA1 253 - #define VK_OEM_CLEAR 254 - - /* - * 0xFF : reserved - */ - - #endif // !NOVIRTUALKEYCODES - - #ifndef NOWH - - /* - * SetWindowsHook() codes - */ - #define WH_MIN (-1) - #define WH_MSGFILTER (-1) - #define WH_JOURNALRECORD 0 - #define WH_JOURNALPLAYBACK 1 - #define WH_KEYBOARD 2 - #define WH_GETMESSAGE 3 - #define WH_CALLWNDPROC 4 - #define WH_CBT 5 - #define WH_SYSMSGFILTER 6 - #define WH_MOUSE 7 - //#if defined(_WIN32_WINDOWS) - #define WH_HARDWARE 8 - //#endif - #define WH_DEBUG 9 - #define WH_SHELL 10 - #define WH_FOREGROUNDIDLE 11 - //#if(WINVER >= 1024) - #define WH_CALLWNDPROCRET 12 - //#endif // WINVER >= 0x0400 - - //#if (_WIN32_WINNT >= 1024) - #define WH_KEYBOARD_LL 13 - #define WH_MOUSE_LL 14 - //#endif // (_WIN32_WINNT >= 0x0400) - - //#if(WINVER >= 1024) - //#if (_WIN32_WINNT >= 1024) - //#define WH_MAX 14 - //#else - //#define WH_MAX 12 - //#endif // (_WIN32_WINNT >= 0x0400) - //#else - #define WH_MAX 11 - //#endif - - #define WH_MINHOOK WH_MIN - #define WH_MAXHOOK WH_MAX - - /* - * Hook Codes - */ - #define HC_ACTION 0 - #define HC_GETNEXT 1 - #define HC_SKIP 2 - #define HC_NOREMOVE 3 - #define HC_NOREM HC_NOREMOVE - #define HC_SYSMODALON 4 - #define HC_SYSMODALOFF 5 - - /* - * CBT Hook Codes - */ - #define HCBT_MOVESIZE 0 - #define HCBT_MINMAX 1 - #define HCBT_QS 2 - #define HCBT_CREATEWND 3 - #define HCBT_DESTROYWND 4 - #define HCBT_ACTIVATE 5 - #define HCBT_CLICKSKIPPED 6 - #define HCBT_KEYSKIPPED 7 - #define HCBT_SYSCOMMAND 8 - #define HCBT_SETFOCUS 9 - - /* - * HCBT_CREATEWND parameters pointed to by lParam - */ - - - /* - * HCBT_CREATEWND parameters pointed to by lParam - */ - - - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - /* - * HCBT_ACTIVATE structure pointed to by lParam - */ - - - /* - * WH_MSGFILTER Filter Proc Codes - */ - #define MSGF_DIALOGBOX 0 - #define MSGF_MESSAGEBOX 1 - #define MSGF_MENU 2 - #define MSGF_SCROLLBAR 5 - #define MSGF_NEXTWINDOW 6 - #define MSGF_MAX 8 // unused - #define MSGF_USER 4096 - - /* - * Shell support - */ - #define HSHELL_WINDOWCREATED 1 - #define HSHELL_WINDOWDESTROYED 2 - #define HSHELL_ACTIVATESHELLWINDOW 3 - - //#if(WINVER >= 1024) - #define HSHELL_WINDOWACTIVATED 4 - #define HSHELL_GETMINRECT 5 - #define HSHELL_REDRAW 6 - #define HSHELL_TASKMAN 7 - #define HSHELL_LANGUAGE 8 - //#endif // WINVER >= 0x0400 - //#if(_WIN32_WINNT >= 1280) - #define HSHELL_ACCESSIBILITYSTATE 11 - #define HSHELL_APPCOMMAND 12 - //#endif // _WIN32_WINNT >= 0x0500 - - - //#if(_WIN32_WINNT >= 1280) - //// wparam for HSHELL_ACCESSIBILITYSTATE - #define ACCESS_STICKYKEYS 1 - #define ACCESS_FILTERKEYS 2 - #define ACCESS_MOUSEKEYS 3 - // - //// cmd for HSHELL_APPCOMMAND and WM_APPCOMMAND - #define APPCOMMAND_BROWSER_BACKWARD 1 - #define APPCOMMAND_BROWSER_FORWARD 2 - #define APPCOMMAND_BROWSER_REFRESH 3 - #define APPCOMMAND_BROWSER_STOP 4 - #define APPCOMMAND_BROWSER_SEARCH 5 - #define APPCOMMAND_BROWSER_FAVORITES 6 - #define APPCOMMAND_BROWSER_HOME 7 - #define APPCOMMAND_VOLUME_MUTE 8 - #define APPCOMMAND_VOLUME_DOWN 9 - #define APPCOMMAND_VOLUME_UP 10 - #define APPCOMMAND_MEDIA_NEXTTRACK 11 - #define APPCOMMAND_MEDIA_PREVIOUSTRACK 12 - #define APPCOMMAND_MEDIA_STOP 13 - #define APPCOMMAND_MEDIA_PLAY_PAUSE 14 - #define APPCOMMAND_LAUNCH_MAIL 15 - #define APPCOMMAND_LAUNCH_MEDIA_SELECT 16 - #define APPCOMMAND_LAUNCH_APP1 17 - #define APPCOMMAND_LAUNCH_APP2 18 - #define APPCOMMAND_BASS_DOWN 19 - #define APPCOMMAND_BASS_BOOST 20 - #define APPCOMMAND_BASS_UP 21 - #define APPCOMMAND_TREBLE_DOWN 22 - #define APPCOMMAND_TREBLE_UP 23 - - #define FAPPCOMMAND_MOUSE 32768 - #define FAPPCOMMAND_KEY 0 - #define FAPPCOMMAND_OEM 4096 - #define FAPPCOMMAND_MASK 61440 - - #define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) * ~FAPPCOMMAND_MASK)) - #define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) * FAPPCOMMAND_MASK)) - #define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM - #define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam)) - #define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam) - //#endif // _WIN32_WINNT >= 0x0500 - - - /* - * Message Structure used in Journaling - */ - - - /* - * Message structure used by WH_CALLWNDPROC - */ - - - //#if(WINVER >= 1024) - ///* - // * Message structure used by WH_CALLWNDPROCRET - // */ - // - // - //#endif // WINVER >= 0x0400 - - //#if (_WIN32_WINNT >= 1024) - - /* - * Low level hook flags - */ - - #define LLKHF_EXTENDED (KF_EXTENDED >> 8) - #define LLKHF_INJECTED 16 - #define LLKHF_ALTDOWN (KF_ALTDOWN >> 8) - #define LLKHF_UP (KF_UP >> 8) - - #define LLMHF_INJECTED 1 - - /* - * Structure used by WH_KEYBOARD_LL - */ - - - /* - * Structure used by WH_MOUSE_LL - */ - - - //#endif // (_WIN32_WINNT >= 0x0400) - - /* - * Structure used by WH_DEBUG - */ - - - /* - * Structure used by WH_MOUSE - */ - - - //#if(_WIN32_WINNT >= 1280) - //#ifdef __cplusplus - // - // - //#else // ndef __cplusplus - // - // - //#endif - //#endif // _WIN32_WINNT >= 0x0500 - // - //#if(WINVER >= 1024) - ///* - // * Structure used by WH_HARDWARE - // */ - // - // - //#endif // WINVER >= 0x0400 - #endif // !NOWH - - /* - * Keyboard Layout API - */ - #define HKL_PREV 0 - #define HKL_NEXT 1 - - - #define KLF_ACTIVATE 1 - #define KLF_SUBSTITUTE_OK 2 - #define KLF_REORDER 8 - //#if(WINVER >= 1024) - #define KLF_REPLACELANG 16 - #define KLF_NOTELLSHELL 128 - //#endif // WINVER >= 0x0400 - #define KLF_SETFORPROCESS 256 - //#if(_WIN32_WINNT >= 1280) - #define KLF_SHIFTLOCK 65536 - #define KLF_RESET 1073741824 - //#endif // _WIN32_WINNT >= 0x0500 - - - //#if(WINVER >= 1280) - ///* - // * Bits in wParam of WM_INPUTLANGCHANGEREQUEST message - // */ - #define INPUTLANGCHANGE_SYSCHARSET 1 - #define INPUTLANGCHANGE_FORWARD 2 - #define INPUTLANGCHANGE_BACKWARD 4 - //#endif // WINVER >= 0x0500 - - /* - * Size of KeyboardLayoutName (number of characters), including nul terminator - */ - #define KL_NAMELENGTH 9 - - - //#ifdef UNICODE - //#define LoadKeyboardLayout LoadKeyboardLayoutW - //#else - //#define LoadKeyboardLayout LoadKeyboardLayoutA - //#endif // !UNICODE - - - //#if(WINVER >= 1024) - // - // - //#else - // - // - //#endif // WINVER >= 0x0400 - // - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - //#define GetKeyboardLayoutName GetKeyboardLayoutNameW - //#else - //#define GetKeyboardLayoutName GetKeyboardLayoutNameA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - // - //#if(WINVER >= 1280) - // - // - ///* - // * Values for resolution parameter of GetMouseMovePointsEx - // */ - #define GMMP_USE_DISPLAY_POINTS 1 - #define GMMP_USE_HIGH_RESOLUTION_POINTS 2 - // - // - //#endif // WINVER >= 0x0500 - - #ifndef NODESKTOP - - /* - * Desktop-specific access flags - */ - #define DESKTOP_READOBJECTS 1 - #define DESKTOP_CREATEWINDOW 2 - #define DESKTOP_CREATEMENU 4 - #define DESKTOP_HOOKCONTROL 8 - #define DESKTOP_JOURNALRECORD 16 - #define DESKTOP_JOURNALPLAYBACK 32 - #define DESKTOP_ENUMERATE 64 - #define DESKTOP_WRITEOBJECTS 128 - #define DESKTOP_SWITCHDESKTOP 256 - - /* - * Desktop-specific control flags - */ - #define DF_ALLOWOTHERACCOUNTHOOK 1 - - #ifdef _WINGDI_ - - #ifndef NOGDI - - //#ifdef UNICODE - //#define CreateDesktop CreateDesktopW - //#else - //#define CreateDesktop CreateDesktopA - //#endif // !UNICODE - - #endif // NOGDI - #endif // _WINGDI_ - - - //#ifdef UNICODE - //#define OpenDesktop OpenDesktopW - //#else - //#define OpenDesktop OpenDesktopA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define EnumDesktops EnumDesktopsW - //#else - //#define EnumDesktops EnumDesktopsA - //#endif // !UNICODE - - - #endif // !NODESKTOP - - #ifndef NOWINDOWSTATION - - /* - * Windowstation-specific access flags - */ - #define WINSTA_ENUMDESKTOPS 1 - #define WINSTA_READATTRIBUTES 2 - #define WINSTA_ACCESSCLIPBOARD 4 - #define WINSTA_CREATEDESKTOP 8 - #define WINSTA_WRITEATTRIBUTES 16 - #define WINSTA_ACCESSGLOBALATOMS 32 - #define WINSTA_EXITWINDOWS 64 - #define WINSTA_ENUMERATE 256 - #define WINSTA_READSCREEN 512 - - /* - * Windowstation-specific attribute flags - */ - #define WSF_VISIBLE 1 - - - //#ifdef UNICODE - //#define CreateWindowStation CreateWindowStationW - //#else - //#define CreateWindowStation CreateWindowStationA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define OpenWindowStation OpenWindowStationW - //#else - //#define OpenWindowStation OpenWindowStationA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define EnumWindowStations EnumWindowStationsW - //#else - //#define EnumWindowStations EnumWindowStationsA - //#endif // !UNICODE - - #endif // !NOWINDOWSTATION - - #ifndef NOSECURITY - - #define UOI_FLAGS 1 - #define UOI_NAME 2 - #define UOI_TYPE 3 - #define UOI_USER_SID 4 - - - //#ifdef UNICODE - //#define GetUserObjectInformation GetUserObjectInformationW - //#else - //#define GetUserObjectInformation GetUserObjectInformationA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define SetUserObjectInformation SetUserObjectInformationW - //#else - //#define SetUserObjectInformation SetUserObjectInformationA - //#endif // !UNICODE - - #endif // !NOSECURITY - - //#if(WINVER >= 1024) - // - // - // // Win 3.x - // - // - // // Win 4.0 - // - // - // // Win 3.x - // - // - // // Win 4.0 - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - - #ifndef NOMSG - - /* - * Message structure - */ - - - //#ifdef _MAC - // - //#endif - - - #define POINTSTOPOINT(pt, pts) \ - - /* - #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y))) - #define MAKEWPARAM(l, h) ((WPARAM)(DWORD)MAKELONG(l, h)) - #define MAKELPARAM(l, h) ((LPARAM)(DWORD)MAKELONG(l, h)) - #define MAKELRESULT(l, h) ((LRESULT)(DWORD)MAKELONG(l, h)) - */ - - #endif // !NOMSG - - #ifndef NOWINOFFSETS - - /* - * Window field offsets for GetWindowLong() - */ - #define GWL_WNDPROC (-4) - #define GWL_HINSTANCE (-6) - #define GWL_HWNDPARENT (-8) - #define GWL_STYLE (-16) - #define GWL_EXSTYLE (-20) - #define GWL_USERDATA (-21) - #define GWL_ID (-12) - - //#ifdef _WIN64 - // - // - //#endif // _WIN64 - - #define GWLP_WNDPROC (-4) - #define GWLP_HINSTANCE (-6) - #define GWLP_HWNDPARENT (-8) - #define GWLP_USERDATA (-21) - #define GWLP_ID (-12) - - /* - * Class field offsets for GetClassLong() - */ - #define GCL_MENUNAME (-8) - #define GCL_HBRBACKGROUND (-10) - #define GCL_HCURSOR (-12) - #define GCL_HICON (-14) - #define GCL_HMODULE (-16) - #define GCL_CBWNDEXTRA (-18) - #define GCL_CBCLSEXTRA (-20) - #define GCL_WNDPROC (-24) - #define GCL_STYLE (-26) - #define GCW_ATOM (-32) - - //#if(WINVER >= 1024) - #define GCL_HICONSM (-34) - //#endif // WINVER >= 0x0400 - - //#ifdef _WIN64 - // - // - //#endif // _WIN64 - - #define GCLP_MENUNAME (-8) - #define GCLP_HBRBACKGROUND (-10) - #define GCLP_HCURSOR (-12) - #define GCLP_HICON (-14) - #define GCLP_HMODULE (-16) - #define GCLP_WNDPROC (-24) - #define GCLP_HICONSM (-34) - - #endif // !NOWINOFFSETS - - #ifndef NOWINMESSAGES - - /* - * Window Messages - */ - - #define WM_NULL 0 - #define WM_CREATE 1 - #define WM_DESTROY 2 - #define WM_MOVE 3 - #define WM_SIZE 5 - - #define WM_ACTIVATE 6 - /* - * WM_ACTIVATE state values - */ - #define WA_INACTIVE 0 - #define WA_ACTIVE 1 - #define WA_CLICKACTIVE 2 - - #define WM_SETFOCUS 7 - #define WM_KILLFOCUS 8 - #define WM_ENABLE 10 - #define WM_SETREDRAW 11 - #define WM_SETTEXT 12 - #define WM_GETTEXT 13 - #define WM_GETTEXTLENGTH 14 - #define WM_PAINT 15 - #define WM_CLOSE 16 - - #ifndef _WIN32_WCE - #define WM_QUERYENDSESSION 17 - #define WM_QUERYOPEN 19 - #define WM_ENDSESSION 22 - #endif - - #define WM_QUIT 18 - #define WM_ERASEBKGND 20 - #define WM_SYSCOLORCHANGE 21 - #define WM_SHOWWINDOW 24 - #define WM_WININICHANGE 26 - //#if(WINVER >= 1024) - #define WM_SETTINGCHANGE WM_WININICHANGE - //#endif // WINVER >= 0x0400 - - - #define WM_DEVMODECHANGE 27 - #define WM_ACTIVATEAPP 28 - #define WM_FONTCHANGE 29 - #define WM_TIMECHANGE 30 - #define WM_CANCELMODE 31 - #define WM_SETCURSOR 32 - #define WM_MOUSEACTIVATE 33 - #define WM_CHILDACTIVATE 34 - #define WM_QUEUESYNC 35 - - #define WM_GETMINMAXINFO 36 - /* - * Struct pointed to by WM_GETMINMAXINFO lParam - */ - - - #define WM_PAINTICON 38 - #define WM_ICONERASEBKGND 39 - #define WM_NEXTDLGCTL 40 - #define WM_SPOOLERSTATUS 42 - #define WM_DRAWITEM 43 - #define WM_MEASUREITEM 44 - #define WM_DELETEITEM 45 - #define WM_VKEYTOITEM 46 - #define WM_CHARTOITEM 47 - #define WM_SETFONT 48 - #define WM_GETFONT 49 - #define WM_SETHOTKEY 50 - #define WM_GETHOTKEY 51 - #define WM_QUERYDRAGICON 55 - #define WM_COMPAREITEM 57 - //#if(WINVER >= 1280) - //#ifndef _WIN32_WCE - #define WM_GETOBJECT 61 - //#endif - //#endif // WINVER >= 0x0500 - #define WM_COMPACTING 65 - #define WM_COMMNOTIFY 68 // no longer suported - #define WM_WINDOWPOSCHANGING 70 - #define WM_WINDOWPOSCHANGED 71 - - #define WM_POWER 72 - /* - * wParam for WM_POWER window message and DRV_POWER driver notification - */ - #define PWR_OK 1 - #define PWR_FAIL (-1) - #define PWR_SUSPENDREQUEST 1 - #define PWR_SUSPENDRESUME 2 - #define PWR_CRITICALRESUME 3 - - #define WM_COPYDATA 74 - #define WM_CANCELJOURNAL 75 - - - /* - * lParam of WM_COPYDATA message points to... - */ - - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - // - // - //#if(WINVER >= 1024) - #define WM_NOTIFY 78 - #define WM_INPUTLANGCHANGEREQUEST 80 - #define WM_INPUTLANGCHANGE 81 - #define WM_TCARD 82 - #define WM_HELP 83 - #define WM_USERCHANGED 84 - #define WM_NOTIFYFORMAT 85 - - #define NFR_ANSI 1 - #define NFR_UNICODE 2 - #define NF_QUERY 3 - #define NF_REQUERY 4 - - #define WM_CONTEXTMENU 123 - #define WM_STYLECHANGING 124 - #define WM_STYLECHANGED 125 - #define WM_DISPLAYCHANGE 126 - #define WM_GETICON 127 - #define WM_SETICON 128 - //#endif // WINVER >= 0x0400 - - #define WM_NCCREATE 129 - #define WM_NCDESTROY 130 - #define WM_NCCALCSIZE 131 - #define WM_NCHITTEST 132 - #define WM_NCPAINT 133 - #define WM_NCACTIVATE 134 - #define WM_GETDLGCODE 135 - //#ifndef _WIN32_WCE - //#define WM_SYNCPAINT 136 - //#endif - #define WM_NCMOUSEMOVE 160 - #define WM_NCLBUTTONDOWN 161 - #define WM_NCLBUTTONUP 162 - #define WM_NCLBUTTONDBLCLK 163 - #define WM_NCRBUTTONDOWN 164 - #define WM_NCRBUTTONUP 165 - #define WM_NCRBUTTONDBLCLK 166 - #define WM_NCMBUTTONDOWN 167 - #define WM_NCMBUTTONUP 168 - #define WM_NCMBUTTONDBLCLK 169 - - - //#if(_WIN32_WINNT >= 1280) - #define WM_NCXBUTTONDOWN 171 - #define WM_NCXBUTTONUP 172 - #define WM_NCXBUTTONDBLCLK 173 - //#endif // _WIN32_WINNT >= 0x0500 - - - #define WM_KEYFIRST 256 - #define WM_KEYDOWN 256 - #define WM_KEYUP 257 - #define WM_CHAR 258 - #define WM_DEADCHAR 259 - #define WM_SYSKEYDOWN 260 - #define WM_SYSKEYUP 261 - #define WM_SYSCHAR 262 - #define WM_SYSDEADCHAR 263 - #define WM_KEYLAST 264 - - //#if(WINVER >= 1024) - #define WM_IME_STARTCOMPOSITION 269 - #define WM_IME_ENDCOMPOSITION 270 - #define WM_IME_COMPOSITION 271 - #define WM_IME_KEYLAST 271 - //#endif // WINVER >= 0x0400 - - #define WM_INITDIALOG 272 - #define WM_COMMAND 273 - #define WM_SYSCOMMAND 274 - #define WM_TIMER 275 - #define WM_HSCROLL 276 - #define WM_VSCROLL 277 - #define WM_INITMENU 278 - #define WM_INITMENUPOPUP 279 - #define WM_MENUSELECT 287 - #define WM_MENUCHAR 288 - #define WM_ENTERIDLE 289 - //#if(WINVER >= 1280) - //#ifndef _WIN32_WCE - #define WM_MENURBUTTONUP 290 - #define WM_MENUDRAG 291 - #define WM_MENUGETOBJECT 292 - #define WM_UNINITMENUPOPUP 293 - #define WM_MENUCOMMAND 294 - // - //#ifndef _WIN32_WCE - //#if(_WIN32_WINNT >= 1280) - #define WM_CHANGEUISTATE 295 - #define WM_UPDATEUISTATE 296 - #define WM_QUERYUISTATE 297 - // - ///* - // * LOWORD(wParam) values in WM_*UISTATE* - // */ - //#define UIS_SET 1 - //#define UIS_CLEAR 2 - //#define UIS_INITIALIZE 3 - // - ///* - // * HIWORD(wParam) values in WM_*UISTATE* - // */ - //#define UISF_HIDEFOCUS 1 - //#define UISF_HIDEACCEL 2 - //#endif // _WIN32_WINNT >= 0x0500 - //#endif - // - //#endif - //#endif // WINVER >= 0x0500 - - - #define WM_CTLCOLORMSGBOX 306 - #define WM_CTLCOLOREDIT 307 - #define WM_CTLCOLORLISTBOX 308 - #define WM_CTLCOLORBTN 309 - #define WM_CTLCOLORDLG 310 - #define WM_CTLCOLORSCROLLBAR 311 - #define WM_CTLCOLORSTATIC 312 - - - #define WM_MOUSEFIRST 512 - #define WM_MOUSEMOVE 512 - #define WM_LBUTTONDOWN 513 - #define WM_LBUTTONUP 514 - #define WM_LBUTTONDBLCLK 515 - #define WM_RBUTTONDOWN 516 - #define WM_RBUTTONUP 517 - #define WM_RBUTTONDBLCLK 518 - #define WM_MBUTTONDOWN 519 - #define WM_MBUTTONUP 520 - #define WM_MBUTTONDBLCLK 521 - //#if (_WIN32_WINNT >= 1024) .OR. (_WIN32_WINDOWS > 1024) - #define WM_MOUSEWHEEL 522 - //#endif - //#if (_WIN32_WINNT >= 1280) - #define WM_XBUTTONDOWN 523 - #define WM_XBUTTONUP 524 - #define WM_XBUTTONDBLCLK 525 - //#endif - //#if (_WIN32_WINNT >= 1280) - //#define WM_MOUSELAST 525 - // - //#define WM_MOUSELAST 522 - //#else - #define WM_MOUSELAST 521 - //#endif // (_WIN32_WINNT >= 0x0500) - - - //#if(_WIN32_WINNT >= 1024) - //// Value for rolling one detent - - #define WHEEL_DELTA 120 - #define GET_WHEEL_DELTA_WPARAM(wParam) HIWORD(wParam) - - // - //// Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES - //#define WHEEL_PAGESCROLL (UINT_MAX) - //#endif // _WIN32_WINNT >= 0x0400 - // - //#if(_WIN32_WINNT >= 1280) - //#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam)) - #define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam)) - #define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam)) - // - //// XButton values are WORD flags - //#define XBUTTON1 1 - //#define XBUTTON2 2 - //// Were there to be an XBUTTON3, it's value would be 0x0004 - //#endif // _WIN32_WINNT >= 0x0500 - - #define WM_PARENTNOTIFY 528 - #define WM_ENTERMENULOOP 529 - #define WM_EXITMENULOOP 530 - - //#if(WINVER >= 1024) - #define WM_NEXTMENU 531 - #define WM_SIZING 532 - #define WM_CAPTURECHANGED 533 - #define WM_MOVING 534 - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1024) - - - #define WM_POWERBROADCAST 536 - - //#ifndef _WIN32_WCE - //#define PBT_APMQUERYSUSPEND 0 - //#define PBT_APMQUERYSTANDBY 1 - // - //#define PBT_APMQUERYSUSPENDFAILED 2 - //#define PBT_APMQUERYSTANDBYFAILED 3 - // - //#define PBT_APMSUSPEND 4 - //#define PBT_APMSTANDBY 5 - // - //#define PBT_APMRESUMECRITICAL 6 - //#define PBT_APMRESUMESUSPEND 7 - //#define PBT_APMRESUMESTANDBY 8 - // - //#define PBTF_APMRESUMEFROMFAILURE 1 - // - //#define PBT_APMBATTERYLOW 9 - //#define PBT_APMPOWERSTATUSCHANGE 10 - // - //#define PBT_APMOEMEVENT 11 - //#define PBT_APMRESUMEAUTOMATIC 18 - //#endif - // - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1024) - #define WM_DEVICECHANGE 537 - //#endif // WINVER >= 0x0400 - - #define WM_MDICREATE 544 - #define WM_MDIDESTROY 545 - #define WM_MDIACTIVATE 546 - #define WM_MDIRESTORE 547 - #define WM_MDINEXT 548 - #define WM_MDIMAXIMIZE 549 - #define WM_MDITILE 550 - #define WM_MDICASCADE 551 - #define WM_MDIICONARRANGE 552 - #define WM_MDIGETACTIVE 553 - - - #define WM_MDISETMENU 560 - #define WM_ENTERSIZEMOVE 561 - #define WM_EXITSIZEMOVE 562 - #define WM_DROPFILES 563 - #define WM_MDIREFRESHMENU 564 - - - //#if(WINVER >= 1024) - #define WM_IME_SETCONTEXT 641 - #define WM_IME_NOTIFY 642 - #define WM_IME_CONTROL 643 - #define WM_IME_COMPOSITIONFULL 644 - #define WM_IME_SELECT 645 - #define WM_IME_CHAR 646 - //#endif // WINVER >= 0x0400 - //#if(WINVER >= 1280) - #define WM_IME_REQUEST 648 - //#endif // WINVER >= 0x0500 - //#if(WINVER >= 1024) - #define WM_IME_KEYDOWN 656 - #define WM_IME_KEYUP 657 - //#endif // WINVER >= 0x0400 - - //#if((_WIN32_WINNT >= 1024) .OR. (WINVER >= 1280)) - #define WM_MOUSEHOVER 673 - #define WM_MOUSELEAVE 675 - //#endif - //#if(WINVER >= 1280) - #define WM_NCMOUSEHOVER 672 - #define WM_NCMOUSELEAVE 674 - //#endif // WINVER >= 0x0500 - - #define WM_CUT 768 - #define WM_COPY 769 - #define WM_PASTE 770 - #define WM_CLEAR 771 - #define WM_UNDO 772 - #define WM_RENDERFORMAT 773 - #define WM_RENDERALLFORMATS 774 - #define WM_DESTROYCLIPBOARD 775 - #define WM_DRAWCLIPBOARD 776 - #define WM_PAINTCLIPBOARD 777 - #define WM_VSCROLLCLIPBOARD 778 - #define WM_SIZECLIPBOARD 779 - #define WM_ASKCBFORMATNAME 780 - #define WM_CHANGECBCHAIN 781 - #define WM_HSCROLLCLIPBOARD 782 - #define WM_QUERYNEWPALETTE 783 - #define WM_PALETTEISCHANGING 784 - #define WM_PALETTECHANGED 785 - #define WM_HOTKEY 786 - - //#if(WINVER >= 1024) - #define WM_PRINT 791 - #define WM_PRINTCLIENT 792 - //#endif // WINVER >= 0x0400 - - //#if(_WIN32_WINNT >= 1280) - #define WM_APPCOMMAND 793 - //#endif // _WIN32_WINNT >= 0x0500 - - //#if(WINVER >= 1024) - - #define WM_HANDHELDFIRST 856 - #define WM_HANDHELDLAST 863 - - #define WM_AFXFIRST 864 - #define WM_AFXLAST 895 - //#endif // WINVER >= 0x0400 - - #define WM_PENWINFIRST 896 - #define WM_PENWINLAST 911 - - - //#if(WINVER >= 1024) - #define WM_APP 32768 - //#endif // WINVER >= 0x0400 - - - /* - * NOTE: All Message Numbers below 0x0400 are RESERVED. - * - * Private Window Messages Start Here: - */ - #define WM_USER 1024 - - //#if(WINVER >= 1024) - - // wParam for WM_SIZING message - #define WMSZ_LEFT 1 - #define WMSZ_RIGHT 2 - #define WMSZ_TOP 3 - #define WMSZ_TOPLEFT 4 - #define WMSZ_TOPRIGHT 5 - #define WMSZ_BOTTOM 6 - #define WMSZ_BOTTOMLEFT 7 - #define WMSZ_BOTTOMRIGHT 8 - //#endif // WINVER >= 0x0400 - - #ifndef NONCMESSAGES - - /* - * WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes - */ - #define HTERROR (-2) - #define HTTRANSPARENT (-1) - #define HTNOWHERE 0 - #define HTCLIENT 1 - #define HTCAPTION 2 - #define HTSYSMENU 3 - #define HTGROWBOX 4 - #define HTSIZE HTGROWBOX - #define HTMENU 5 - #define HTHSCROLL 6 - #define HTVSCROLL 7 - #define HTMINBUTTON 8 - #define HTMAXBUTTON 9 - #define HTLEFT 10 - #define HTRIGHT 11 - #define HTTOP 12 - #define HTTOPLEFT 13 - #define HTTOPRIGHT 14 - #define HTBOTTOM 15 - #define HTBOTTOMLEFT 16 - #define HTBOTTOMRIGHT 17 - #define HTBORDER 18 - #define HTREDUCE HTMINBUTTON - #define HTZOOM HTMAXBUTTON - #define HTSIZEFIRST HTLEFT - #define HTSIZELAST HTBOTTOMRIGHT - //#if(WINVER >= 1024) - #define HTOBJECT 19 - #define HTCLOSE 20 - #define HTHELP 21 - //#endif // WINVER >= 0x0400 - - /* - * SendMessageTimeout values - */ - #define SMTO_NORMAL 0 - #define SMTO_BLOCK 1 - #define SMTO_ABORTIFHUNG 2 - //#if(WINVER >= 1280) - #define SMTO_NOTIMEOUTIFNOTHUNG 8 - //#endif // WINVER >= 0x0500 - #endif // !NONCMESSAGES - - /* - * WM_MOUSEACTIVATE Return Codes - */ - #define MA_ACTIVATE 1 - #define MA_ACTIVATEANDEAT 2 - #define MA_NOACTIVATE 3 - #define MA_NOACTIVATEANDEAT 4 - - /* - * WM_SETICON / WM_GETICON Type Codes - */ - #define ICON_SMALL 0 - #define ICON_BIG 1 - - - //#ifdef UNICODE - //#define RegisterWindowMessage RegisterWindowMessageW - //#else - //#define RegisterWindowMessage RegisterWindowMessageA - //#endif // !UNICODE - - - /* - * WM_SIZE message wParam values - */ - #define SIZE_RESTORED 0 - #define SIZE_MINIMIZED 1 - #define SIZE_MAXIMIZED 2 - #define SIZE_MAXSHOW 3 - #define SIZE_MAXHIDE 4 - - /* - * Obsolete constant names - */ - #define SIZENORMAL SIZE_RESTORED - #define SIZEICONIC SIZE_MINIMIZED - #define SIZEFULLSCREEN SIZE_MAXIMIZED - #define SIZEZOOMSHOW SIZE_MAXSHOW - #define SIZEZOOMHIDE SIZE_MAXHIDE - - /* - * WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam - */ - - - /* - * WM_NCCALCSIZE parameter structure - */ - - - /* - * WM_NCCALCSIZE "window valid rect" return values - */ - #define WVR_ALIGNTOP 16 - #define WVR_ALIGNLEFT 32 - #define WVR_ALIGNBOTTOM 64 - #define WVR_ALIGNRIGHT 128 - #define WVR_HREDRAW 256 - #define WVR_VREDRAW 512 - #define WVR_REDRAW (WVR_HREDRAW + \ - - #define WVR_VALIDRECTS 1024 - - - #ifndef NOKEYSTATES - - /* - * Key State Masks for Mouse Messages - */ - #define MK_LBUTTON 1 - #define MK_RBUTTON 2 - #define MK_SHIFT 4 - #define MK_CONTROL 8 - #define MK_MBUTTON 16 - //#if(_WIN32_WINNT >= 1280) - #define MK_XBUTTON1 32 - #define MK_XBUTTON2 64 - //#endif // _WIN32_WINNT >= 0x0500 - - #endif // !NOKEYSTATES - - - //#if(_WIN32_WINNT >= 1024) - #ifndef NOTRACKMOUSEEVENT - - #define TME_HOVER 1 - #define TME_LEAVE 2 - //#if(WINVER >= 1280) - #define TME_NONCLIENT 16 - //#endif // WINVER >= 0x0500 - #define TME_QUERY 1073741824 - #define TME_CANCEL 2147483648 - - - #define HOVER_DEFAULT 4294967295 - //#endif // _WIN32_WINNT >= 0x0400 - - //#if(_WIN32_WINNT >= 1024) - // - // - //#endif // _WIN32_WINNT >= 0x0400 - // - //#if(_WIN32_WINNT >= 1024) - - #endif // !NOTRACKMOUSEEVENT - //#endif // _WIN32_WINNT >= 0x0400 - - - #endif // !NOWINMESSAGES - - #ifndef NOWINSTYLES - - - /* - * Window Styles - */ - #define WS_OVERLAPPED 0 - #define WS_CLOSE 4294967296 - #define WS_POPUP 2147483648 - #define WS_CHILD 1073741824 - #define WS_MINIMIZE 536870912 - #define WS_VISIBLE 268435456 - #define WS_DISABLED 134217728 - #define WS_CLIPSIBLINGS 67108864 - #define WS_CLIPCHILDREN 33554432 - #define WS_MAXIMIZE 16777216 - #define WS_CAPTION 12582912 // WS_BORDER | WS_DLGFRAME - #define WS_BORDER 8388608 - #define WS_DLGFRAME 4194304 - #define WS_VSCROLL 2097152 - #define WS_HSCROLL 1048576 - #define WS_SYSMENU 524288 - #define WS_THICKFRAME 262144 - #define WS_GROUP 131072 - #define WS_TABSTOP 65536 - - #define WS_MINIMIZEBOX 131072 - #define WS_MAXIMIZEBOX 65536 - - - #define WS_TILED WS_OVERLAPPED - #define WS_ICONIC WS_MINIMIZE - #define WS_SIZEBOX WS_THICKFRAME - #define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW - - /* - * Common Window Styles - */ - #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED + ; - WS_CAPTION + ; - WS_SYSMENU + ; - WS_THICKFRAME + ; - WS_MINIMIZEBOX + ; - WS_MAXIMIZEBOX) - - #define WS_POPUPWINDOW (WS_POPUP + ; - WS_BORDER + ; - WS_SYSMENU) - - #define WS_CHILDWINDOW (WS_CHILD) - - /* - * Extended Window Styles - */ - #define WS_EX_DLGMODALFRAME 1 - #define WS_EX_NOPARENTNOTIFY 4 - #define WS_EX_TOPMOST 8 - #define WS_EX_ACCEPTFILES 16 - #define WS_EX_TRANSPARENT 32 - //#if(WINVER >= 1024) - #define WS_EX_MDICHILD 64 - #define WS_EX_TOOLWINDOW 128 - #define WS_EX_WINDOWEDGE 256 - #define WS_EX_CLIENTEDGE 512 - #define WS_EX_CONTEXTHELP 1024 - - #define WS_EX_RIGHT 4096 - #define WS_EX_LEFT 0 - #define WS_EX_RTLREADING 8192 - #define WS_EX_LTRREADING 0 - #define WS_EX_LEFTSCROLLBAR 16384 - #define WS_EX_RIGHTSCROLLBAR 0 - - #define WS_EX_CONTROLPARENT 65536 - #define WS_EX_STATICEDGE 131072 - #define WS_EX_APPWINDOW 262144 - - - #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE + WS_EX_CLIENTEDGE) - #define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE + WS_EX_TOOLWINDOW + WS_EX_TOPMOST) - - //#endif // WINVER >= 0x0400 - - //#if(_WIN32_WINNT >= 1280) - #define WS_EX_LAYERED 524288 - //#endif // _WIN32_WINNT >= 0x0500 - - - //#if(WINVER >= 1280) - #define WS_EX_NOINHERITLAYOUT 1048576 // Disable inheritence of mirroring by children - #define WS_EX_LAYOUTRTL 4194304 // Right to left mirroring - //#endif // WINVER >= 0x0500 - // - //#if(_WIN32_WINNT >= 1280) - #define WS_EX_NOACTIVATE 134217728 - //#endif // _WIN32_WINNT >= 0x0500 - - - /* - * Class styles - */ - #define CS_VREDRAW 1 - #define CS_HREDRAW 2 - #define CS_DBLCLKS 8 - #define CS_OWNDC 32 - #define CS_CLASSDC 64 - #define CS_PARENTDC 128 - #define CS_NOCLOSE 512 - #define CS_SAVEBITS 2048 - #define CS_BYTEALIGNCLIENT 4096 - #define CS_BYTEALIGNWINDOW 8192 - #define CS_GLOBALCLASS 16384 - - #define CS_IME 65536 - - #endif // !NOWINSTYLES - - //#if(WINVER >= 1024) - // WM_PRINT flags - #define PRF_CHECKVISIBLE 1 - #define PRF_NONCLIENT 2 - #define PRF_CLIENT 4 - #define PRF_ERASEBKGND 8 - #define PRF_CHILDREN 16 - #define PRF_OWNED 32 - - // 3D border styles - #define BDR_RAISEDOUTER 1 - #define BDR_SUNKENOUTER 2 - #define BDR_RAISEDINNER 4 - #define BDR_SUNKENINNER 8 - - #define BDR_OUTER (BDR_RAISEDOUTER + BDR_SUNKENOUTER) - #define BDR_INNER (BDR_RAISEDINNER + BDR_SUNKENINNER) - #define BDR_RAISED (BDR_RAISEDOUTER + BDR_RAISEDINNER) - #define BDR_SUNKEN (BDR_SUNKENOUTER + BDR_SUNKENINNER) - - - #define EDGE_RAISED (BDR_RAISEDOUTER + BDR_RAISEDINNER) - #define EDGE_SUNKEN (BDR_SUNKENOUTER + BDR_SUNKENINNER) - #define EDGE_ETCHED (BDR_SUNKENOUTER + BDR_RAISEDINNER) - #define EDGE_BUMP (BDR_RAISEDOUTER + BDR_SUNKENINNER) - - // Border flags - #define BF_LEFT 1 - #define BF_TOP 2 - #define BF_RIGHT 4 - #define BF_BOTTOM 8 - - #define BF_TOPLEFT (BF_TOP + BF_LEFT) - #define BF_TOPRIGHT (BF_TOP + BF_RIGHT) - #define BF_BOTTOMLEFT (BF_BOTTOM + BF_LEFT) - #define BF_BOTTOMRIGHT (BF_BOTTOM + BF_RIGHT) - #define BF_RECT (BF_LEFT + BF_TOP + BF_RIGHT + BF_BOTTOM) - - #define BF_DIAGONAL 16 - - // For diagonal lines, the BF_RECT flags specify the end point of the - // vector bounded by the rectangle parameter. - #define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL + BF_TOP + BF_RIGHT) - #define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL + BF_TOP + BF_LEFT) - #define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL + BF_BOTTOM + BF_LEFT) - #define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL + BF_BOTTOM + BF_RIGHT) - - - #define BF_MIDDLE 2048 // Fill in the middle - #define BF_SOFT 4096 // For softer buttons - #define BF_ADJUST 8192 // Calculate the space left over - #define BF_FLAT 16384 // For flat rather than 3D borders - #define BF_MONO 32768 // For monochrome borders - - - // flags for DrawFrameControl - - #define DFC_CAPTION 1 - #define DFC_MENU 2 - #define DFC_SCROLL 3 - #define DFC_BUTTON 4 - //#if(WINVER >= 1280) - #define DFC_POPUPMENU 5 - //#endif // WINVER >= 0x0500 - - #define DFCS_CAPTIONCLOSE 0 - #define DFCS_CAPTIONMIN 1 - #define DFCS_CAPTIONMAX 2 - #define DFCS_CAPTIONRESTORE 3 - #define DFCS_CAPTIONHELP 4 - - #define DFCS_MENUARROW 0 - #define DFCS_MENUCHECK 1 - #define DFCS_MENUBULLET 2 - #define DFCS_MENUARROWRIGHT 4 - #define DFCS_SCROLLUP 0 - #define DFCS_SCROLLDOWN 1 - #define DFCS_SCROLLLEFT 2 - #define DFCS_SCROLLRIGHT 3 - #define DFCS_SCROLLCOMBOBOX 5 - #define DFCS_SCROLLSIZEGRIP 8 - #define DFCS_SCROLLSIZEGRIPRIGHT 16 - - #define DFCS_BUTTONCHECK 0 - #define DFCS_BUTTONRADIOIMAGE 1 - #define DFCS_BUTTONRADIOMASK 2 - #define DFCS_BUTTONRADIO 4 - #define DFCS_BUTTON3STATE 8 - #define DFCS_BUTTONPUSH 16 - - #define DFCS_INACTIVE 256 - #define DFCS_PUSHED 512 - #define DFCS_CHECKED 1024 - - //#if(WINVER >= 1280) - #define DFCS_TRANSPARENT 2048 - #define DFCS_HOT 4096 - //#endif // WINVER >= 0x0500 - - #define DFCS_ADJUSTRECT 8192 - #define DFCS_FLAT 16384 - #define DFCS_MONO 32768 - - - // flags for DrawCaption - #define DC_ACTIVE 1 - #define DC_SMALLCAP 2 - #define DC_ICON 4 - #define DC_TEXT 8 - #define DC_INBUTTON 16 - //#if(WINVER >= 1280) - #define DC_GRADIENT 32 - //#endif // WINVER >= 0x0500 - - - #define IDANI_OPEN 1 - - - //#endif // WINVER >= 0x0400 - - #ifndef NOCLIPBOARD - - /* - * Predefined Clipboard Formats - */ - #define CF_TEXT 1 - #define CF_BITMAP 2 - #define CF_METAFILEPICT 3 - #define CF_SYLK 4 - #define CF_DIF 5 - #define CF_TIFF 6 - #define CF_OEMTEXT 7 - #define CF_DIB 8 - #define CF_PALETTE 9 - #define CF_PENDATA 10 - #define CF_RIFF 11 - #define CF_WAVE 12 - #define CF_UNICODETEXT 13 - #define CF_ENHMETAFILE 14 - //#if(WINVER >= 1024) - #define CF_HDROP 15 - #define CF_LOCALE 16 - //#endif // WINVER >= 0x0400 - //#if(WINVER >= 1280) - #define CF_DIBV5 17 - //#endif // WINVER >= 0x0500 - - //#if(WINVER >= 1280) - //#define CF_MAX 18 - // - //#define CF_MAX 17 - //#else - #define CF_MAX 15 - //#endif - - #define CF_OWNERDISPLAY 128 - #define CF_DSPTEXT 129 - #define CF_DSPBITMAP 130 - #define CF_DSPMETAFILEPICT 131 - #define CF_DSPENHMETAFILE 142 - - /* - * "Private" formats don't get GlobalFree()'d - */ - #define CF_PRIVATEFIRST 512 - #define CF_PRIVATELAST 767 - - /* - * "GDIOBJ" formats do get DeleteObject()'d - */ - #define CF_GDIOBJFIRST 768 - #define CF_GDIOBJLAST 1023 - - #endif // !NOCLIPBOARD - - /* - * Defines for the fVirt field of the Accelerator table structure. - */ - #define FVIRTKEY 1 // Assumed to be == TRUE - #define FNOINVERT 2 - #define FSHIFT 4 - #define FCONTROL 8 - #define FALT 16 - - - //#ifndef _MAC - // // Also called the flags field - // - // - //#else - // // Also called the flags field - // - // - //#endif - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - - //#ifdef _MAC - // - //#endif - - - #define WPF_SETMINPOSITION 1 - #define WPF_RESTORETOMAXIMIZED 2 - //#if(_WIN32_WINNT >= 1280) - #define WPF_ASYNCWINDOWPLACEMENT 4 - //#endif // _WIN32_WINNT >= 0x0500 - - //#if(WINVER >= 1024) - // - // - // // NM_ code - // - // - //#endif // WINVER >= 0x0400 - - - /* - * Owner draw control types - */ - #define ODT_MENU 1 - #define ODT_LISTBOX 2 - #define ODT_COMBOBOX 3 - #define ODT_BUTTON 4 - //#if(WINVER >= 1024) - #define ODT_STATIC 5 - //#endif // WINVER >= 0x0400 - - /* - * Owner draw actions - */ - #define ODA_DRAWENTIRE 1 - #define ODA_SELECT 2 - #define ODA_FOCUS 4 - - /* - * Owner draw state - */ - #define ODS_SELECTED 1 - #define ODS_GRAYED 2 - #define ODS_DISABLED 4 - #define ODS_CHECKED 8 - #define ODS_FOCUS 16 - //#if(WINVER >= 1024) - #define ODS_DEFAULT 32 - #define ODS_COMBOBOXEDIT 4096 - //#endif // WINVER >= 0x0400 - //#if(WINVER >= 1280) - #define ODS_HOTLIGHT 64 - #define ODS_INACTIVE 128 - //#if(_WIN32_WINNT >= 1280) - #define ODS_NOACCEL 256 - #define ODS_NOFOCUSRECT 512 - //#endif // _WIN32_WINNT >= 0x0500 - //#endif // WINVER >= 0x0500 - - /* - * MEASUREITEMSTRUCT for ownerdraw - */ - - - /* - * DRAWITEMSTRUCT for ownerdraw - */ - - - /* - * DELETEITEMSTRUCT for ownerdraw - */ - - - /* - * COMPAREITEMSTUCT for ownerdraw sorting - */ - - - #ifndef NOMSG - - /* - * Message Function Templates - */ - - - //#ifdef UNICODE - //#define GetMessage GetMessageW - //#else - //#define GetMessage GetMessageA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define DispatchMessage DispatchMessageW - //#else - //#define DispatchMessage DispatchMessageA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define PeekMessage PeekMessageW - //#else - //#define PeekMessage PeekMessageA - //#endif // !UNICODE - - /* - * PeekMessage() Options - */ - #define PM_NOREMOVE 0 - #define PM_REMOVE 1 - #define PM_NOYIELD 2 - //#if(WINVER >= 1280) - #define PM_QS_INPUT (QS_INPUT << 16) - #define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE + QS_HOTKEY + QS_TIMER) << 16) - #define PM_QS_PAINT (QS_PAINT << 16) - #define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16) - //#endif // WINVER >= 0x0500 - - #endif // !NOMSG - - - #define MOD_ALT 1 - #define MOD_CONTROL 2 - #define MOD_SHIFT 4 - #define MOD_WIN 8 - - - #define IDHOT_SNAPWINDOW (-1) // SHIFT-PRINTSCRN - #define IDHOT_SNAPDESKTOP (-2) // PRINTSCRN - - #ifdef WIN_INTERNAL - #ifndef LSTRING - #define NOLSTRING - #endif // LSTRING - - #ifndef LFILEIO - #define NOLFILEIO - #endif // LFILEIO - #endif // WIN_INTERNAL - - //#if(WINVER >= 1024) - - #define ENDSESSION_LOGOFF 2147483648 - //#endif // WINVER >= 0x0400 - - #define EWX_LOGOFF 0 - #define EWX_SHUTDOWN 1 - #define EWX_REBOOT 2 - #define EWX_FORCE 4 - #define EWX_POWEROFF 8 - //#if(_WIN32_WINNT >= 1280) - #define EWX_FORCEIFHUNG 16 - //#endif // _WIN32_WINNT >= 0x0500 - - - #define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 4294967295) - - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - //#define SendMessage SendMessageW - //#else - //#define SendMessage SendMessageA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SendMessageTimeout SendMessageTimeoutW - //#else - //#define SendMessageTimeout SendMessageTimeoutA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SendNotifyMessage SendNotifyMessageW - //#else - //#define SendNotifyMessage SendNotifyMessageA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SendMessageCallback SendMessageCallbackW - //#else - //#define SendMessageCallback SendMessageCallbackA - //#endif // !UNICODE - // - ////#if(WINVER >= 1024) - //// - ////#if defined(_WIN32_WINNT) - // - // - //#ifdef UNICODE - //#define BroadcastSystemMessage BroadcastSystemMessageW - //#else - //#define BroadcastSystemMessage BroadcastSystemMessageA - //#endif // !UNICODE - - // The Win95 version isn't A/W decorated - - - //#endif - - //Broadcast Special Message Recipient list - #define BSM_ALLCOMPONENTS 0 - #define BSM_VXDS 1 - #define BSM_NETDRIVER 2 - #define BSM_INSTALLABLEDRIVERS 4 - #define BSM_APPLICATIONS 8 - #define BSM_ALLDESKTOPS 16 - - //Broadcast Special Message Flags - #define BSF_QUERY 1 - #define BSF_IGNORECURRENTTASK 2 - #define BSF_FLUSHDISK 4 - #define BSF_NOHANG 8 - #define BSF_POSTMESSAGE 16 - #define BSF_FORCEIFHUNG 32 - #define BSF_NOTIMEOUTIFNOTHUNG 64 - //#if(_WIN32_WINNT >= 1280) - #define BSF_ALLOWSFW 128 - #define BSF_SENDNOTIFYMESSAGE 256 - //#endif // _WIN32_WINNT >= 0x0500 - - #define BROADCAST_QUERY_DENY 1112363332 // Return this value to deny a query. - //#endif // WINVER >= 0x0400 - - // RegisterDeviceNotification - - //#if(WINVER >= 1280) - // - // - #define DEVICE_NOTIFY_WINDOW_HANDLE 0 - #define DEVICE_NOTIFY_SERVICE_HANDLE 1 - // - // - //#ifdef UNICODE - //#define RegisterDeviceNotification RegisterDeviceNotificationW - //#else - //#define RegisterDeviceNotification RegisterDeviceNotificationA - //#endif // !UNICODE - // - // - //#endif // WINVER >= 0x0500 - - - //#ifdef UNICODE - //#define PostMessage PostMessageW - //#else - //#define PostMessage PostMessageA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define PostThreadMessage PostThreadMessageW - //#else - //#define PostThreadMessage PostThreadMessageA - //#endif // !UNICODE - - #define PostAppMessageA(idThread, wMsg, wParam, lParam)\ - - #define PostAppMessageW(idThread, wMsg, wParam, lParam)\ - - //#ifdef UNICODE - //#define PostAppMessage PostAppMessageW - //#else - //#define PostAppMessage PostAppMessageA - //#endif // !UNICODE - - /* - * Special HWND value for use with PostMessage() and SendMessage() - */ - #define HWND_BROADCAST 65535 - - //#if(WINVER >= 1280) - #define HWND_MESSAGE -3 - //#endif // WINVER >= 0x0500 - - - //#ifndef _MAC - // - // - //#else - // - // - //#endif - // - // - //#ifndef _MAC - // - // - //#else - // - // - //#endif - - - //#ifdef UNICODE - //#define DefWindowProc DefWindowProcW - //#else - //#define DefWindowProc DefWindowProcA - //#endif // !UNICODE - - - //#ifdef STRICT - - //#ifdef UNICODE - //#define CallWindowProc CallWindowProcW - //#else - //#define CallWindowProc CallWindowProcA - //#endif // !UNICODE - - //#else // !STRICT - - //#ifdef UNICODE - //#define CallWindowProc CallWindowProcW - //#else - //#define CallWindowProc CallWindowProcA - //#endif // !UNICODE - - //#endif // !STRICT - - - //#if(WINVER >= 1280) - // - // - ///* - // * InSendMessageEx return value - // */ - #define ISMEX_NOSEND 0 - #define ISMEX_SEND 1 - #define ISMEX_NOTIFY 2 - #define ISMEX_CALLBACK 4 - #define ISMEX_REPLIED 8 - //#endif // WINVER >= 0x0500 - - - //#ifdef UNICODE - //#define RegisterClass RegisterClassW - //#else - //#define RegisterClass RegisterClassA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define UnregisterClass UnregisterClassW - //#else - //#define UnregisterClass UnregisterClassA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetClassInfo GetClassInfoW - //#else - //#define GetClassInfo GetClassInfoA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - - - //#ifdef UNICODE - //#define RegisterClassEx RegisterClassExW - //#else - //#define RegisterClassEx RegisterClassExA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetClassInfoEx GetClassInfoExW - //#else - //#define GetClassInfoEx GetClassInfoExA - //#endif // !UNICODE - - //#endif // WINVER >= 0x0400 - - //#define CW_USEDEFAULT ((int)2147483648) - #define CW_USEDEFAULT 2147483648 - - /* - * Special value for CreateWindow, et al. - */ - #define HWND_DESKTOP ((HWND)0) - - - //#ifdef UNICODE - //#define CreateWindowEx CreateWindowExW - //#else - //#define CreateWindowEx CreateWindowExA - //#endif // !UNICODE - - - - //#ifdef UNICODE - //#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\ - //#else - //#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\ - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define CreateWindow CreateWindowW - //#else - //#define CreateWindow CreateWindowA - //#endif // !UNICODE - - - //#if(WINVER >= 1280) - // - // - //#endif // WINVER >= 0x0500 - // - //#if(_WIN32_WINNT >= 1280) - //#if defined(_WINGDI_) .AND. !defined (NOGDI) - // - // - //#endif - // - // - #define LWA_COLORKEY 1 - #define LWA_ALPHA 2 - // - // - //#define ULW_COLORKEY 1 - //#define ULW_ALPHA 2 - //#define ULW_OPAQUE 4 - // - //#endif // _WIN32_WINNT >= 0x0500 - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - // - // - //#if(WINVER >= 1280) - // - // - //#define FLASHW_STOP 0 - //#define FLASHW_CAPTION 1 - //#define FLASHW_TRAY 2 - //#define FLASHW_ALL (FLASHW_CAPTION + FLASHW_TRAY) - //#define FLASHW_TIMER 4 - //#define FLASHW_TIMERNOFG 12 - // - //#endif // WINVER >= 0x0500 - - - //#ifndef NODEFERWINDOWPOS - - //#endif // !NODEFERWINDOWPOS - - - /* - * SetWindowPos Flags - */ - #define SWP_NOSIZE 1 - #define SWP_NOMOVE 2 - #define SWP_NOZORDER 4 - #define SWP_NOREDRAW 8 - #define SWP_NOACTIVATE 16 - #define SWP_FRAMECHANGED 32 // The frame changed: send WM_NCCALCSIZE - #define SWP_SHOWWINDOW 64 - #define SWP_HIDEWINDOW 128 - #define SWP_NOCOPYBITS 256 - #define SWP_NOOWNERZORDER 512 // Don't do owner Z ordering - #define SWP_NOSENDCHANGING 1024 // Don't send WM_WINDOWPOSCHANGING - - #define SWP_DRAWFRAME SWP_FRAMECHANGED - #define SWP_NOREPOSITION SWP_NOOWNERZORDER - - //#if(WINVER >= 1024) - #define SWP_DEFERERASE 8192 - #define SWP_ASYNCWINDOWPOS 16384 - //#endif // WINVER >= 0x0400 - - - #define HWND_TOP (0) - #define HWND_BOTTOM (1) - #define HWND_TOPMOST (-1) - #define HWND_NOTOPMOST (-2) - - #ifndef NOCTLMGR - - /* - * WARNING: - * The following structures must NOT be DWORD padded because they are - * followed by strings, etc that do not have to be DWORD aligned. - */ - //#include "pshpack2.ch" - - /* - * original NT 32 bit dialog template: - */ - - - //#ifdef UNICODE - // - //#else - // - //#endif // UNICODE - // - // - //#ifdef UNICODE - // - //#else - // - //#endif // UNICODE - // - ///* - // * 32 bit Dialog item template. - // */ - // - // - //#ifdef UNICODE - // - //#else - // - //#endif // UNICODE - // - // - //#ifdef UNICODE - // - //#else - // - //#endif // UNICODE - // - // - //#include "poppack.ch" // Resume normal packing - - - //#ifdef UNICODE - //#define CreateDialogParam CreateDialogParamW - //#else - //#define CreateDialogParam CreateDialogParamA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define CreateDialogIndirectParam CreateDialogIndirectParamW - //#else - //#define CreateDialogIndirectParam CreateDialogIndirectParamA - //#endif // !UNICODE - // - //#define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \ - // - //#define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \ - // - //#ifdef UNICODE - //#define CreateDialog CreateDialogW - //#else - //#define CreateDialog CreateDialogA - //#endif // !UNICODE - // - //#define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ - // - //#define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ - // - //#ifdef UNICODE - //#define CreateDialogIndirect CreateDialogIndirectW - //#else - //#define CreateDialogIndirect CreateDialogIndirectA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define DialogBoxParam DialogBoxParamW - //#else - //#define DialogBoxParam DialogBoxParamA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define DialogBoxIndirectParam DialogBoxIndirectParamW - //#else - //#define DialogBoxIndirectParam DialogBoxIndirectParamA - //#endif // !UNICODE - // - //#define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ - // - //#define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ - // - //#ifdef UNICODE - //#define DialogBox DialogBoxW - //#else - //#define DialogBox DialogBoxA - //#endif // !UNICODE - // - //#define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ - // - //#define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \ - // - //#ifdef UNICODE - //#define DialogBoxIndirect DialogBoxIndirectW - //#else - //#define DialogBoxIndirect DialogBoxIndirectA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SetDlgItemText SetDlgItemTextW - //#else - //#define SetDlgItemText SetDlgItemTextA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define GetDlgItemText GetDlgItemTextW - //#else - //#define GetDlgItemText GetDlgItemTextA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SendDlgItemMessage SendDlgItemMessageW - //#else - //#define SendDlgItemMessage SendDlgItemMessageA - //#endif // !UNICODE - // - // - ////#ifndef _MAC - //// - //// - ////#else - //// - //// - ////#endif - //// - //// - ////#ifndef _MAC - //// - //// - ////#else - //// - //// - ////#endif - // - // - //#ifdef UNICODE - //#define DefDlgProc DefDlgProcW - //#else - //#define DefDlgProc DefDlgProcA - //#endif // !UNICODE - - /* - * Window extra byted needed for private dialog classes. - */ - //#ifndef _MAC - #define DLGWINDOWEXTRA 30 - //#else - //#define DLGWINDOWEXTRA 48 - //#endif - - #endif // !NOCTLMGR - - #ifndef NOMSG - - //#ifdef UNICODE - //#define CallMsgFilter CallMsgFilterW - //#else - //#define CallMsgFilter CallMsgFilterA - //#endif // !UNICODE - - #endif // !NOMSG - - #ifndef NOCLIPBOARD - - /* - * Clipboard Manager Functions - */ - - - //#if(WINVER >= 1280) - // - // - //#endif // WINVER >= 0x0500 - - - //#ifdef UNICODE - //#define RegisterClipboardFormat RegisterClipboardFormatW - //#else - //#define RegisterClipboardFormat RegisterClipboardFormatA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define GetClipboardFormatName GetClipboardFormatNameW - //#else - //#define GetClipboardFormatName GetClipboardFormatNameA - //#endif // !UNICODE - - #endif // !NOCLIPBOARD - - /* - * Character Translation Routines - */ - - - //#ifdef UNICODE - //#define CharToOem CharToOemW - //#else - //#define CharToOem CharToOemA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define OemToChar OemToCharW - //#else - //#define OemToChar OemToCharA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharToOemBuff CharToOemBuffW - //#else - //#define CharToOemBuff CharToOemBuffA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define OemToCharBuff OemToCharBuffW - //#else - //#define OemToCharBuff OemToCharBuffA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharUpper CharUpperW - //#else - //#define CharUpper CharUpperA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharUpperBuff CharUpperBuffW - //#else - //#define CharUpperBuff CharUpperBuffA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharLower CharLowerW - //#else - //#define CharLower CharLowerA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharLowerBuff CharLowerBuffW - //#else - //#define CharLowerBuff CharLowerBuffA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharNext CharNextW - //#else - //#define CharNext CharNextA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CharPrev CharPrevW - //#else - //#define CharPrev CharPrevA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - - /* - * Compatibility defines for character translation routines - */ - #define AnsiToOem CharToOemA - #define OemToAnsi OemToCharA - #define AnsiToOemBuff CharToOemBuffA - #define OemToAnsiBuff OemToCharBuffA - #define AnsiUpper CharUpperA - #define AnsiUpperBuff CharUpperBuffA - #define AnsiLower CharLowerA - #define AnsiLowerBuff CharLowerBuffA - #define AnsiNext CharNextA - #define AnsiPrev CharPrevA - - #ifndef NOLANGUAGE - - /* - * Language dependent Routines - */ - - - //#ifdef UNICODE - //#define IsCharAlpha IsCharAlphaW - //#else - //#define IsCharAlpha IsCharAlphaA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define IsCharAlphaNumeric IsCharAlphaNumericW - //#else - //#define IsCharAlphaNumeric IsCharAlphaNumericA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define IsCharUpper IsCharUpperW - //#else - //#define IsCharUpper IsCharUpperA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define IsCharLower IsCharLowerW - //#else - //#define IsCharLower IsCharLowerA - //#endif // !UNICODE - // - #endif // !NOLANGUAGE - - // - // - //#ifdef UNICODE - //#define GetKeyNameText GetKeyNameTextW - //#else - //#define GetKeyNameText GetKeyNameTextA - //#endif // !UNICODE - // - // - ////#if(WINVER >= 1024) - //// - //// - ////#endif // WINVER >= 0x0400 - // - // - //#ifdef UNICODE - //#define VkKeyScan VkKeyScanW - //#else - //#define VkKeyScan VkKeyScanA - //#endif // !UNICODE - // - ////#if(WINVER >= 1024) - // - // - //#ifdef UNICODE - //#define VkKeyScanEx VkKeyScanExW - //#else - //#define VkKeyScanEx VkKeyScanExA - //#endif // !UNICODE - //#endif // WINVER >= 0x0400 - #define KEYEVENTF_EXTENDEDKEY 1 - #define KEYEVENTF_KEYUP 2 - //#if(_WIN32_WINNT >= 1280) - #define KEYEVENTF_UNICODE 4 - #define KEYEVENTF_SCANCODE 8 - //#endif // _WIN32_WINNT >= 0x0500 - - - #define MOUSEEVENTF_MOVE 1 // mouse move - #define MOUSEEVENTF_LEFTDOWN 2 // left button down - #define MOUSEEVENTF_LEFTUP 4 // left button up - #define MOUSEEVENTF_RIGHTDOWN 8 // right button down - #define MOUSEEVENTF_RIGHTUP 16 // right button up - #define MOUSEEVENTF_MIDDLEDOWN 32 // middle button down - #define MOUSEEVENTF_MIDDLEUP 64 // middle button up - #define MOUSEEVENTF_XDOWN 128 // x button down - #define MOUSEEVENTF_XUP 256 // x button down - #define MOUSEEVENTF_WHEEL 2048 // wheel button rolled - #define MOUSEEVENTF_VIRTUALDESK 16384 // map to entire virtual desktop - #define MOUSEEVENTF_ABSOLUTE 32768 // absolute move - - - //#if (_WIN32_WINNT > 1024) - - - #define INPUT_MOUSE 0 - #define INPUT_KEYBOARD 1 - #define INPUT_HARDWARE 2 - - - // number of input in the array - // array of inputs - // sizeof(INPUT) - - //#endif // (_WIN32_WINNT > 0x0400) - - //#if(_WIN32_WINNT >= 1280) - // - // - //#endif // _WIN32_WINNT >= 0x0500 - - - //#ifdef UNICODE - //#define MapVirtualKey MapVirtualKeyW - //#else - //#define MapVirtualKey MapVirtualKeyA - //#endif // !UNICODE - // - ////#if(WINVER >= 1024) - // - // - //#ifdef UNICODE - //#define MapVirtualKeyEx MapVirtualKeyExW - //#else - //#define MapVirtualKeyEx MapVirtualKeyExA - //#endif // !UNICODE - //#endif // WINVER >= 0x0400 - - - #define MWMO_WAITALL 1 - #define MWMO_ALERTABLE 2 - #define MWMO_INPUTAVAILABLE 4 - - /* - * Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects() - */ - #define QS_KEY 1 - #define QS_MOUSEMOVE 2 - #define QS_MOUSEBUTTON 4 - #define QS_POSTMESSAGE 8 - #define QS_TIMER 16 - #define QS_PAINT 32 - #define QS_SENDMESSAGE 64 - #define QS_HOTKEY 128 - #define QS_ALLPOSTMESSAGE 256 - - #define QS_MOUSE (QS_MOUSEMOVE + \ - - - #define QS_INPUT (QS_MOUSE + \ - - - #define QS_ALLEVENTS (QS_INPUT + \ - - - #define QS_ALLINPUT (QS_INPUT + \ - - - /* - * Windows Functions - */ - - - //#ifdef UNICODE - //#define LoadAccelerators LoadAcceleratorsW - //#else - //#define LoadAccelerators LoadAcceleratorsA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CreateAcceleratorTable CreateAcceleratorTableW - //#else - //#define CreateAcceleratorTable CreateAcceleratorTableA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define CopyAcceleratorTable CopyAcceleratorTableW - //#else - //#define CopyAcceleratorTable CopyAcceleratorTableA - //#endif // !UNICODE - - #ifndef NOMSG - - //#ifdef UNICODE - //#define TranslateAccelerator TranslateAcceleratorW - //#else - //#define TranslateAccelerator TranslateAcceleratorA - //#endif // !UNICODE - - #endif // !NOMSG - - #ifndef NOSYSMETRICS - - /* - * GetSystemMetrics() codes - */ - - #define SM_CXSCREEN 0 - #define SM_CYSCREEN 1 - #define SM_CXVSCROLL 2 - #define SM_CYHSCROLL 3 - #define SM_CYCAPTION 4 - #define SM_CXBORDER 5 - #define SM_CYBORDER 6 - #define SM_CXDLGFRAME 7 - #define SM_CYDLGFRAME 8 - #define SM_CYVTHUMB 9 - #define SM_CXHTHUMB 10 - #define SM_CXICON 11 - #define SM_CYICON 12 - #define SM_CXCURSOR 13 - #define SM_CYCURSOR 14 - #define SM_CYMENU 15 - #define SM_CXFULLSCREEN 16 - #define SM_CYFULLSCREEN 17 - #define SM_CYKANJIWINDOW 18 - #define SM_MOUSEPRESENT 19 - #define SM_CYVSCROLL 20 - #define SM_CXHSCROLL 21 - #define SM_DEBUG 22 - #define SM_SWAPBUTTON 23 - #define SM_RESERVED1 24 - #define SM_RESERVED2 25 - #define SM_RESERVED3 26 - #define SM_RESERVED4 27 - #define SM_CXMIN 28 - #define SM_CYMIN 29 - #define SM_CXSIZE 30 - #define SM_CYSIZE 31 - #define SM_CXFRAME 32 - #define SM_CYFRAME 33 - #define SM_CXMINTRACK 34 - #define SM_CYMINTRACK 35 - #define SM_CXDOUBLECLK 36 - #define SM_CYDOUBLECLK 37 - #define SM_CXICONSPACING 38 - #define SM_CYICONSPACING 39 - #define SM_MENUDROPALIGNMENT 40 - #define SM_PENWINDOWS 41 - #define SM_DBCSENABLED 42 - #define SM_CMOUSEBUTTONS 43 - - //#if(WINVER >= 1024) - #define SM_CXFIXEDFRAME SM_CXDLGFRAME // ;win40 name change - #define SM_CYFIXEDFRAME SM_CYDLGFRAME // ;win40 name change - #define SM_CXSIZEFRAME SM_CXFRAME // ;win40 name change - #define SM_CYSIZEFRAME SM_CYFRAME // ;win40 name change - - #define SM_SECURE 44 - #define SM_CXEDGE 45 - #define SM_CYEDGE 46 - #define SM_CXMINSPACING 47 - #define SM_CYMINSPACING 48 - #define SM_CXSMICON 49 - #define SM_CYSMICON 50 - #define SM_CYSMCAPTION 51 - #define SM_CXSMSIZE 52 - #define SM_CYSMSIZE 53 - #define SM_CXMENUSIZE 54 - #define SM_CYMENUSIZE 55 - #define SM_ARRANGE 56 - #define SM_CXMINIMIZED 57 - #define SM_CYMINIMIZED 58 - #define SM_CXMAXTRACK 59 - #define SM_CYMAXTRACK 60 - #define SM_CXMAXIMIZED 61 - #define SM_CYMAXIMIZED 62 - #define SM_NETWORK 63 - #define SM_CLEANBOOT 67 - #define SM_CXDRAG 68 - #define SM_CYDRAG 69 - //#endif // WINVER >= 0x0400 - #define SM_SHOWSOUNDS 70 - //#if(WINVER >= 1024) - #define SM_CXMENUCHECK 71 // Use instead of GetMenuCheckMarkDimensions()! - #define SM_CYMENUCHECK 72 - #define SM_SLOWMACHINE 73 - #define SM_MIDEASTENABLED 74 - //#endif // WINVER >= 0x0400 - - //#if (WINVER >= 1280) .OR. (_WIN32_WINNT >= 1024) - #define SM_MOUSEWHEELPRESENT 75 - //#endif - //#if(WINVER >= 1280) - #define SM_XVIRTUALSCREEN 76 - #define SM_YVIRTUALSCREEN 77 - #define SM_CXVIRTUALSCREEN 78 - #define SM_CYVIRTUALSCREEN 79 - #define SM_CMONITORS 80 - #define SM_SAMEDISPLAYFORMAT 81 - //#endif // WINVER >= 0x0500 - //#if(_WIN32_WINNT >= 1280) - #define SM_IMMENABLED 82 - //#endif // _WIN32_WINNT >= 0x0500 - // - //#if (WINVER < 1280) .AND. (!defined(_WIN32_WINNT) .OR. (_WIN32_WINNT < 1024)) - //#define SM_CMETRICS 76 - //#else - #define SM_CMETRICS 83 - //#endif - - //#if(WINVER >= 1280) - #define SM_REMOTESESSION 4096 - //#endif // WINVER >= 0x0500 - - #endif // !NOSYSMETRICS - - #ifndef NOMENUS - - //#ifdef UNICODE - //#define LoadMenu LoadMenuW - //#else - //#define LoadMenu LoadMenuA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define LoadMenuIndirect LoadMenuIndirectW - //#else - //#define LoadMenuIndirect LoadMenuIndirectA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define ChangeMenu ChangeMenuW - //#else - //#define ChangeMenu ChangeMenuA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define GetMenuString GetMenuStringW - //#else - //#define GetMenuString GetMenuStringA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define InsertMenu InsertMenuW - //#else - //#define InsertMenu InsertMenuA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define AppendMenu AppendMenuW - //#else - //#define AppendMenu AppendMenuA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define ModifyMenu ModifyMenuW - //#else - //#define ModifyMenu ModifyMenuA - //#endif // !UNICODE - - - //#if(WINVER >= 1024) - // return codes for WM_MENUCHAR - #define MNC_IGNORE 0 - #define MNC_CLOSE 1 - #define MNC_EXECUTE 2 - #define MNC_SELECT 3 - - - // Size of structure - // Screen coordinates of rectangle to exclude when positioning - - - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1280) - // - #define MNS_NOCHECK 2147483648 - #define MNS_MODELESS 1073741824 - #define MNS_DRAGDROP 536870912 - #define MNS_AUTODISMISS 268435456 - #define MNS_NOTIFYBYPOS 134217728 - #define MNS_CHECKORBMP 67108864 - - #define MIM_MAXHEIGHT 1 - #define MIM_BACKGROUND 2 - #define MIM_HELPID 4 - #define MIM_MENUDATA 8 - #define MIM_STYLE 16 - #define MIM_APPLYTOSUBMENUS 2147483648 - - - /* - * WM_MENUDRAG return values. - */ - #define MND_CONTINUE 0 - #define MND_ENDMENU 1 - - - /* - * MENUGETOBJECTINFO dwFlags values - */ - #define MNGOF_TOPGAP 1 - #define MNGOF_BOTTOMGAP 2 - - /* - * WM_MENUGETOBJECT return values - */ - #define MNGO_NOINTERFACE 0 - #define MNGO_NOERROR 1 - //#endif // WINVER >= 0x0500 - - //#if(WINVER >= 1024) - #define MIIM_STATE 1 - #define MIIM_ID 2 - #define MIIM_SUBMENU 4 - #define MIIM_CHECKMARKS 8 - #define MIIM_TYPE 16 - #define MIIM_DATA 32 - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1280) - #define MIIM_STRING 64 - #define MIIM_BITMAP 128 - #define MIIM_FTYPE 256 - - #define HBMMENU_CALLBACK ((HBITMAP) -1) - #define HBMMENU_SYSTEM ((HBITMAP) 1) - #define HBMMENU_MBAR_RESTORE ((HBITMAP) 2) - #define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3) - #define HBMMENU_MBAR_CLOSE ((HBITMAP) 5) - #define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6) - #define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7) - #define HBMMENU_POPUP_CLOSE ((HBITMAP) 8) - #define HBMMENU_POPUP_RESTORE ((HBITMAP) 9) - #define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10) - #define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11) - //#endif // WINVER >= 0x0500 - - //#if(WINVER >= 1024) - - - // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0) - // used if MIIM_STATE - // used if MIIM_ID - // used if MIIM_SUBMENU - // used if MIIM_CHECKMARKS - // used if MIIM_CHECKMARKS - // used if MIIM_DATA - // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0) - // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0) - //#if(WINVER >= 1280) - // // used if MIIM_BITMAP - //#endif // WINVER >= 0x0500 - // - // - // // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0) - // // used if MIIM_STATE - // // used if MIIM_ID - // // used if MIIM_SUBMENU - // // used if MIIM_CHECKMARKS - // // used if MIIM_CHECKMARKS - // // used if MIIM_DATA - // // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0) - // // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0) - //#if(WINVER >= 1280) - // // used if MIIM_BITMAP - //#endif // WINVER >= 0x0500 - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - // - // - //#ifdef UNICODE - // - //#else - // - //#endif // UNICODE - - - //#ifdef UNICODE - //#define InsertMenuItem InsertMenuItemW - //#else - //#define InsertMenuItem InsertMenuItemA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetMenuItemInfo GetMenuItemInfoW - //#else - //#define GetMenuItemInfo GetMenuItemInfoA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define SetMenuItemInfo SetMenuItemInfoW - //#else - //#define SetMenuItemInfo SetMenuItemInfoA - //#endif // !UNICODE - - - #define GMDI_USEDISABLED 1 - #define GMDI_GOINTOPOPUPS 2 - - - //#endif // WINVER >= 0x0400 - - /* - * Flags for TrackPopupMenu - #define TPM_LEFTBUTTON 0x0000L - #define TPM_RIGHTBUTTON 0x0002L - #define TPM_LEFTALIGN 0x0000L - #define TPM_CENTERALIGN 0x0004L - #define TPM_RIGHTALIGN 0x0008L - - #define TPM_TOPALIGN 0x0000L - #define TPM_VCENTERALIGN 0x0010L - #define TPM_BOTTOMALIGN 0x0020L - - #define TPM_HORIZONTAL 0x0000L - #define TPM_VERTICAL 0x0040L - #define TPM_NONOTIFY 0x0080L - #define TPM_RETURNCMD 0x0100L - - #define TPM_RECURSE 0x0001L - #define TPM_HORPOSANIMATION 0x0400L - #define TPM_HORNEGANIMATION 0x0800L - #define TPM_VERPOSANIMATION 0x1000L - #define TPM_VERNEGANIMATION 0x2000L - - #define TPM_NOANIMATION 0x4000L - */ - - - - /* - * Flags for TrackPopupMenu - */ - #define TPM_LEFTBUTTON 0 - #define TPM_RIGHTBUTTON 2 - #define TPM_LEFTALIGN 0 - #define TPM_CENTERALIGN 4 - #define TPM_RIGHTALIGN 8 - - #define TPM_TOPALIGN 0 - #define TPM_VCENTERALIGN 16 - #define TPM_BOTTOMALIGN 32 - - #define TPM_HORIZONTAL 0 // Horz alignment matters more - #define TPM_VERTICAL 64 // Vert alignment matters more - #define TPM_NONOTIFY 128 // Don't send any notification msgs - #define TPM_RETURNCMD 256 - - #define TPM_RECURSE 1 - #define TPM_HORPOSANIMATION 1024 - #define TPM_HORNEGANIMATION 2048 - #define TPM_VERPOSANIMATION 4096 - #define TPM_VERNEGANIMATION 8192 - - #define TPM_NOANIMATION 16384 - - #endif // !NOMENUS - - - //#if(WINVER >= 1024) - // - // Drag-and-drop support - // Obsolete - use OLE instead - // - - - #define DOF_EXECUTABLE 32769 // wFmt flags - #define DOF_DOCUMENT 32770 - #define DOF_DIRECTORY 32771 - #define DOF_MULTIPLE 32772 - #define DOF_PROGMAN 1 - #define DOF_SHELLDATA 2 - - #define DO_DROPFILE 1162627398 - #define DO_PRINTFILE 1414419024 - - - //#endif // WINVER >= 0x0400 - - - #ifndef NODRAWTEXT - - /* - * DrawText() Format Flags - */ - #define DT_TOP 0 - #define DT_LEFT 0 - #define DT_CENTER 1 - #define DT_RIGHT 2 - #define DT_VCENTER 4 - #define DT_BOTTOM 8 - #define DT_WORDBREAK 16 - #define DT_SINGLELINE 32 - #define DT_EXPANDTABS 64 - #define DT_TABSTOP 128 - #define DT_NOCLIP 256 - #define DT_EXTERNALLEADING 512 - #define DT_CALCRECT 1024 - #define DT_NOPREFIX 2048 - #define DT_INTERNAL 4096 - - //#if(WINVER >= 1024) - #define DT_EDITCONTROL 8192 - #define DT_PATH_ELLIPSIS 16384 - #define DT_END_ELLIPSIS 32768 - #define DT_MODIFYSTRING 65536 - #define DT_RTLREADING 131072 - #define DT_WORD_ELLIPSIS 262144 - //#if(WINVER >= 1280) - #define DT_NOFULLWIDTHCHARBREAK 524288 - //#if(_WIN32_WINNT >= 1280) - #define DT_HIDEPREFIX 1048576 - #define DT_PREFIXONLY 2097152 - //#endif // _WIN32_WINNT >= 0x0500 - //#endif // WINVER >= 0x0500 - - - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - //#define DrawText DrawTextW - //#else - //#define DrawText DrawTextA - //#endif // !UNICODE - - - //#if(WINVER >= 1024) - - - //#ifdef UNICODE - //#define DrawTextEx DrawTextExW - //#else - //#define DrawTextEx DrawTextExA - //#endif // !UNICODE - //#endif // WINVER >= 0x0400 - - #endif // !NODRAWTEXT - - - //#ifdef UNICODE - //#define GrayString GrayStringW - //#else - //#define GrayString GrayStringA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - // Monolithic state-drawing routine - // Image type - #define DST_COMPLEX 0 - #define DST_TEXT 1 - #define DST_PREFIXTEXT 2 - #define DST_ICON 3 - #define DST_BITMAP 4 - - // State type - #define DSS_NORMAL 0 - #define DSS_UNION 16 // Gray string appearance - #define DSS_DISABLED 32 - #define DSS_MONO 128 - //#if(_WIN32_WINNT >= 1280) - #define DSS_HIDEPREFIX 512 - #define DSS_PREFIXONLY 1024 - //#endif // _WIN32_WINNT >= 0x0500 - #define DSS_RIGHT 32768 - - - //#ifdef UNICODE - //#define DrawState DrawStateW - //#else - //#define DrawState DrawStateA - //#endif // !UNICODE - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - //#define TabbedTextOut TabbedTextOutW - //#else - //#define TabbedTextOut TabbedTextOutA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetTabbedTextExtent GetTabbedTextExtentW - //#else - //#define GetTabbedTextExtent GetTabbedTextExtentA - //#endif // !UNICODE - - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - // - // - //#if(_WIN32_WINNT >= 1280) - // - // - #define ASFW_ANY ((DWORD)-1) - // - // - #define LSFW_LOCK 1 - #define LSFW_UNLOCK 2 - // - //#endif // _WIN32_WINNT >= 0x0500 - - - /* - * GetDCEx() flags - */ - #define DCX_WINDOW 1 - #define DCX_CACHE 2 - #define DCX_NORESETATTRS 4 - #define DCX_CLIPCHILDREN 8 - #define DCX_CLIPSIBLINGS 16 - #define DCX_PARENTCLIP 32 - #define DCX_EXCLUDERGN 64 - #define DCX_INTERSECTRGN 128 - #define DCX_EXCLUDEUPDATE 256 - #define DCX_INTERSECTUPDATE 512 - #define DCX_LOCKWINDOWUPDATE 1024 - - #define DCX_VALIDATE 2097152 - - - /* - * RedrawWindow() flags - */ - #define RDW_INVALIDATE 1 - #define RDW_INTERNALPAINT 2 - #define RDW_ERASE 4 - - #define RDW_VALIDATE 8 - #define RDW_NOINTERNALPAINT 16 - #define RDW_NOERASE 32 - - #define RDW_NOCHILDREN 64 - #define RDW_ALLCHILDREN 128 - - #define RDW_UPDATENOW 256 - #define RDW_ERASENOW 512 - - #define RDW_FRAME 1024 - #define RDW_NOFRAME 2048 - - - /* - * LockWindowUpdate API - */ - - - #define SW_SCROLLCHILDREN 1 // Scroll children within *lprcScroll. - #define SW_INVALIDATE 2 // Invalidate after scrolling - #define SW_ERASE 4 // If SW_INVALIDATE, don't send WM_ERASEBACKGROUND - //#if(WINVER >= 1280) - #define SW_SMOOTHSCROLL 16 // Use smooth scrolling - //#endif // WINVER >= 0x0500 - - #ifndef NOSCROLL - - /* - * EnableScrollBar() flags - */ - #define ESB_ENABLE_BOTH 0 - #define ESB_DISABLE_BOTH 3 - - #define ESB_DISABLE_LEFT 1 - #define ESB_DISABLE_RIGHT 2 - - #define ESB_DISABLE_UP 1 - #define ESB_DISABLE_DOWN 2 - - #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT - #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT - - #endif // !NOSCROLL - - - //#ifdef UNICODE - //#define SetProp SetPropW - //#else - //#define SetProp SetPropA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetProp GetPropW - //#else - //#define GetProp GetPropA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define RemoveProp RemovePropW - //#else - //#define RemoveProp RemovePropA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define EnumPropsEx EnumPropsExW - //#else - //#define EnumPropsEx EnumPropsExA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define EnumProps EnumPropsW - //#else - //#define EnumProps EnumPropsA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define SetWindowText SetWindowTextW - //#else - //#define SetWindowText SetWindowTextA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetWindowText GetWindowTextW - //#else - //#define GetWindowText GetWindowTextA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define GetWindowTextLength GetWindowTextLengthW - //#else - //#define GetWindowTextLength GetWindowTextLengthA - //#endif // !UNICODE - - - //#if(WINVER >= 1024) - #define HELPINFO_WINDOW 1 - #define HELPINFO_MENUITEM 2 - // Structure pointed to by lParam of WM_HELP - - // Size in bytes of this struct - // Either HELPINFO_WINDOW or HELPINFO_MENUITEM - // Control Id or a Menu item Id. - // hWnd of control or hMenu. - // Context Id associated with this item - // Mouse Position in screen co-ordinates - - - //#endif // WINVER >= 0x0400 - - - #ifndef NOMB - - /* - * MessageBox() Flags - */ - #define MB_OK 0 - #define MB_OKCANCEL 1 - #define MB_ABORTRETRYIGNORE 2 - #define MB_YESNOCANCEL 3 - #define MB_YESNO 4 - #define MB_RETRYCANCEL 5 - //#if(WINVER >= 1280) - #define MB_CANCELTRYCONTINUE 6 - //#endif // WINVER >= 0x0500 - - - #define MB_ICONHAND 16 - #define MB_ICONQUESTION 32 - #define MB_ICONEXCLAMATION 48 - #define MB_ICONASTERISK 64 - - //#if(WINVER >= 1024) - #define MB_USERICON 128 - #define MB_ICONWARNING MB_ICONEXCLAMATION - #define MB_ICONERROR MB_ICONHAND - //#endif // WINVER >= 0x0400 - - #define MB_ICONINFORMATION MB_ICONASTERISK - #define MB_ICONSTOP MB_ICONHAND - - #define MB_DEFBUTTON1 0 - #define MB_DEFBUTTON2 256 - #define MB_DEFBUTTON3 512 - //#if(WINVER >= 1024) - #define MB_DEFBUTTON4 768 - //#endif // WINVER >= 0x0400 - - #define MB_APPLMODAL 0 - #define MB_SYSTEMMODAL 4096 - #define MB_TASKMODAL 8192 - //#if(WINVER >= 1024) - #define MB_HELP 16384 // Help Button - //#endif // WINVER >= 0x0400 - - #define MB_NOFOCUS 32768 - #define MB_SETFOREGROUND 65536 - #define MB_DEFAULT_DESKTOP_ONLY 131072 - - //#if(WINVER >= 1024) - #define MB_TOPMOST 262144 - #define MB_RIGHT 524288 - #define MB_RTLREADING 1048576 - - - //#endif // WINVER >= 0x0400 - - //#ifdef _WIN32_WINNT - //#if (_WIN32_WINNT >= 1024) - //#define MB_SERVICE_NOTIFICATION 2097152 - //#else - //#define MB_SERVICE_NOTIFICATION 262144 - //#endif - #define MB_SERVICE_NOTIFICATION_NT3X 262144 - //#endif - - #define MB_TYPEMASK 15 - #define MB_ICONMASK 240 - #define MB_DEFMASK 3840 - #define MB_MODEMASK 12288 - #define MB_MISCMASK 49152 - - - //#ifdef UNICODE - //#define MessageBox MessageBoxW - //#else - //#define MessageBox MessageBoxA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define MessageBoxEx MessageBoxExW - //#else - //#define MessageBoxEx MessageBoxExA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - - //#ifdef UNICODE - //#define MessageBoxIndirect MessageBoxIndirectW - //#else - //#define MessageBoxIndirect MessageBoxIndirectA - //#endif // !UNICODE - //#endif // WINVER >= 0x0400 - - #endif // !NOMB - - - //#if(WINVER >= 1024) - #define CWP_ALL 0 - #define CWP_SKIPINVISIBLE 1 - #define CWP_SKIPDISABLED 2 - #define CWP_SKIPTRANSPARENT 4 - - - //#endif // WINVER >= 0x0400 - - #ifndef NOCOLOR - - /* - * Color Types - */ - #define CTLCOLOR_MSGBOX 0 - #define CTLCOLOR_EDIT 1 - #define CTLCOLOR_LISTBOX 2 - #define CTLCOLOR_BTN 3 - #define CTLCOLOR_DLG 4 - #define CTLCOLOR_SCROLLBAR 5 - #define CTLCOLOR_STATIC 6 - #define CTLCOLOR_MAX 7 - - #define COLOR_SCROLLBAR 0 - #define COLOR_BACKGROUND 1 - #define COLOR_ACTIVECAPTION 2 - #define COLOR_INACTIVECAPTION 3 - #define COLOR_MENU 4 - #define COLOR_WINDOW 5 - #define COLOR_WINDOWFRAME 6 - #define COLOR_MENUTEXT 7 - #define COLOR_WINDOWTEXT 8 - #define COLOR_CAPTIONTEXT 9 - #define COLOR_ACTIVEBORDER 10 - #define COLOR_INACTIVEBORDER 11 - #define COLOR_APPWORKSPACE 12 - #define COLOR_HIGHLIGHT 13 - #define COLOR_HIGHLIGHTTEXT 14 - #define COLOR_BTNFACE 15 - #define COLOR_BTNSHADOW 16 - #define COLOR_GRAYTEXT 17 - #define COLOR_BTNTEXT 18 - #define COLOR_INACTIVECAPTIONTEXT 19 - #define COLOR_BTNHIGHLIGHT 20 - - //#if(WINVER >= 1024) - #define COLOR_3DDKSHADOW 21 - #define COLOR_3DLIGHT 22 - #define COLOR_INFOTEXT 23 - #define COLOR_INFOBK 24 - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1280) - #define COLOR_HOTLIGHT 26 - #define COLOR_GRADIENTACTIVECAPTION 27 - #define COLOR_GRADIENTINACTIVECAPTION 28 - //#endif // WINVER >= 0x0500 - - //#if(WINVER >= 1024) - #define COLOR_DESKTOP COLOR_BACKGROUND - #define COLOR_3DFACE COLOR_BTNFACE - #define COLOR_3DSHADOW COLOR_BTNSHADOW - #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT - #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT - #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT - //#endif // WINVER >= 0x0400 - - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - - #endif // !NOCOLOR - - - #ifndef NOWINOFFSETS - - //#ifdef UNICODE - //#define GetWindowLong GetWindowLongW - //#else - //#define GetWindowLong GetWindowLongA - //#endif // !UNICODE - - - //#ifdef UNICODE - //#define SetWindowLong SetWindowLongW - //#else - //#define SetWindowLong SetWindowLongA - //#endif // !UNICODE - - //#ifdef _WIN64 - // - // - //#ifdef UNICODE - //#define GetWindowLongPtr GetWindowLongPtrW - //#else - //#define GetWindowLongPtr GetWindowLongPtrA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SetWindowLongPtr SetWindowLongPtrW - //#else - //#define SetWindowLongPtr SetWindowLongPtrA - //#endif // !UNICODE - // - //#else // _WIN64 - - //#define GetWindowLongPtrA GetWindowLongA - //#define GetWindowLongPtrW GetWindowLongW - //#ifdef UNICODE - //#define GetWindowLongPtr GetWindowLongPtrW - //#else - //#define GetWindowLongPtr GetWindowLongPtrA - //#endif // !UNICODE - - //#define SetWindowLongPtrA SetWindowLongA - //#define SetWindowLongPtrW SetWindowLongW - //#ifdef UNICODE - //#define SetWindowLongPtr SetWindowLongPtrW - //#else - //#define SetWindowLongPtr SetWindowLongPtrA - //#endif // !UNICODE - - //#endif // _WIN64 - - - //#ifdef UNICODE - //#define GetClassLong GetClassLongW - //#else - //#define GetClassLong GetClassLongA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SetClassLong SetClassLongW - //#else - //#define SetClassLong SetClassLongA - //#endif // !UNICODE - - //#ifdef _WIN64 - // - // - //#ifdef UNICODE - //#define GetClassLongPtr GetClassLongPtrW - //#else - //#define GetClassLongPtr GetClassLongPtrA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define SetClassLongPtr SetClassLongPtrW - //#else - //#define SetClassLongPtr SetClassLongPtrA - //#endif // !UNICODE - // - //#else // _WIN64 - - //#define GetClassLongPtrA GetClassLongA - //#define GetClassLongPtrW GetClassLongW - //#ifdef UNICODE - //#define GetClassLongPtr GetClassLongPtrW - //#else - //#define GetClassLongPtr GetClassLongPtrA - //#endif // !UNICODE - // - //#define SetClassLongPtrA SetClassLongA - //#define SetClassLongPtrW SetClassLongW - //#ifdef UNICODE - //#define SetClassLongPtr SetClassLongPtrW - //#else - //#define SetClassLongPtr SetClassLongPtrA - //#endif // !UNICODE - - //#endif // _WIN64 - - #endif // !NOWINOFFSETS - - //#if(WINVER >= 1280) - // - // - //#endif // WINVER >= 0x0500 - - - //#ifdef UNICODE - //#define FindWindow FindWindowW - //#else - //#define FindWindow FindWindowA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - - - //#ifdef UNICODE - //#define FindWindowEx FindWindowExW - //#else - //#define FindWindowEx FindWindowExA - //#endif // !UNICODE - - //#endif // WINVER >= 0x0400 - - - #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows(HandleToUlong(hTask), lpfn, lParam) - - - //#ifdef UNICODE - //#define GetClassName GetClassNameW - //#else - //#define GetClassName GetClassNameA - //#endif // !UNICODE - - - #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd) - #define GetSysModalWindow() (NULL) - #define SetSysModalWindow(hWnd) (NULL) - - - #define GetWindowTask(hWnd) \ - - - /* - * GetWindow() Constants - */ - #define GW_HWNDFIRST 0 - #define GW_HWNDLAST 1 - #define GW_HWNDNEXT 2 - #define GW_HWNDPREV 3 - #define GW_OWNER 4 - #define GW_CHILD 5 - //#if(WINVER <= 1024) - #define GW_MAX 5 - //#else - //#define GW_ENABLEDPOPUP 6 - //#define GW_MAX 6 - //#endif - - - #ifndef NOWH - - //#ifdef STRICT - // - // - ////#ifdef UNICODE - ////#define SetWindowsHook SetWindowsHookW - ////#else - ////#define SetWindowsHook SetWindowsHookA - ////#endif // !UNICODE - // - //#else // !STRICT - // - // - ////#ifdef UNICODE - ////#define SetWindowsHook SetWindowsHookW - ////#else - ////#define SetWindowsHook SetWindowsHookA - ////#endif // !UNICODE - // - //#endif // !STRICT - - - //#ifdef UNICODE - //#define SetWindowsHookEx SetWindowsHookExW - //#else - //#define SetWindowsHookEx SetWindowsHookExA - //#endif // !UNICODE - - - /* - * Macros for source-level compatibility with old functions. - */ - #ifdef STRICT - #define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx(*phhk, nCode, wParam, lParam) - #else - #define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam) - #endif /* STRICT */ - - #endif // !NOWH - - - #ifndef NOMENUS - - // ;win40 -- A lot of MF_* flags have been renamed as MFT_* and MFS_* flags - /* - * Menu flags for Add/Check/EnableMenuItem() - */ - #define MF_INSERT 0 - #define MF_CHANGE 128 - #define MF_APPEND 256 - #define MF_DELETE 512 - #define MF_REMOVE 4096 - - #define MF_BYCOMMAND 0 - #define MF_BYPOSITION 1024 - - #define MF_SEPARATOR 2048 - - #define MF_ENABLED 0 - #define MF_GRAYED 1 - #define MF_DISABLED 2 - - #define MF_UNCHECKED 0 - #define MF_CHECKED 8 - #define MF_USECHECKBITMAPS 512 - - #define MF_STRING 0 - #define MF_BITMAP 4 - #define MF_OWNERDRAW 256 - - #define MF_POPUP 16 - #define MF_MENUBARBREAK 32 - #define MF_MENUBREAK 64 - - #define MF_UNHILITE 0 - #define MF_HILITE 128 - - //#if(WINVER >= 1024) - #define MF_DEFAULT 4096 - //#endif // WINVER >= 0x0400 - #define MF_SYSMENU 8192 - #define MF_HELP 16384 - //#if(WINVER >= 1024) - #define MF_RIGHTJUSTIFY 16384 - //#endif // WINVER >= 0x0400 - - #define MF_MOUSESELECT 32768 - //#if(WINVER >= 1024) - #define MF_END 128 // Obsolete -- only used by old RES files - //#endif // WINVER >= 0x0400 - - - //#if(WINVER >= 1024) - #define MFT_STRING MF_STRING - #define MFT_BITMAP MF_BITMAP - #define MFT_MENUBARBREAK MF_MENUBARBREAK - #define MFT_MENUBREAK MF_MENUBREAK - #define MFT_OWNERDRAW MF_OWNERDRAW - #define MFT_RADIOCHECK 512 - #define MFT_SEPARATOR MF_SEPARATOR - #define MFT_RIGHTORDER 8192 - #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY - - // Menu flags for Add/Check/EnableMenuItem() - #define MFS_GRAYED 3 - #define MFS_DISABLED MFS_GRAYED - #define MFS_CHECKED MF_CHECKED - #define MFS_HILITE MF_HILITE - #define MFS_ENABLED MF_ENABLED - #define MFS_UNCHECKED MF_UNCHECKED - #define MFS_UNHILITE MF_UNHILITE - #define MFS_DEFAULT MF_DEFAULT - //#endif // WINVER >= 0x0400 - - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - - /* - * Menu item resource format - */ - - - // version 0 - - - //#define MF_END 128 - - #endif // !NOMENUS - - - #ifndef NOSYSCOMMANDS - - /* - * System Menu Command Values - */ - #define SC_SIZE 61440 - #define SC_MOVE 61456 - #define SC_MINIMIZE 61472 - #define SC_MAXIMIZE 61488 - #define SC_NEXTWINDOW 61504 - #define SC_PREVWINDOW 61520 - #define SC_CLOSE 61536 - #define SC_VSCROLL 61552 - #define SC_HSCROLL 61568 - #define SC_MOUSEMENU 61584 - #define SC_KEYMENU 61696 - #define SC_ARRANGE 61712 - #define SC_RESTORE 61728 - #define SC_TASKLIST 61744 - #define SC_SCREENSAVE 61760 - #define SC_HOTKEY 61776 - //#if(WINVER >= 1024) - #define SC_DEFAULT 61792 - #define SC_MONITORPOWER 61808 - #define SC_CONTEXTHELP 61824 - #define SC_SEPARATOR 61455 - //#endif // WINVER >= 0x0400 - /* - * Obsolete names - */ - #define SC_ICON SC_MINIMIZE - #define SC_ZOOM SC_MAXIMIZE - - #endif // !NOSYSCOMMANDS - - /* - * Resource Loading Routines - */ - - - //#ifdef UNICODE - //#define LoadBitmap LoadBitmapW - //#else - //#define LoadBitmap LoadBitmapA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define LoadCursor LoadCursorW - //#else - //#define LoadCursor LoadCursorA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define LoadCursorFromFile LoadCursorFromFileW - //#else - //#define LoadCursorFromFile LoadCursorFromFileA - //#endif // !UNICODE - - - //#ifndef _MAC - #define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur))) - //#else - // - // - //#endif - - /* - * Standard Cursor IDs - */ - #define IDC_ARROW 32512 - #define IDC_IBEAM 32513 - #define IDC_WAIT 32514 - #define IDC_CROSS 32515 - #define IDC_UPARROW 32516 - #define IDC_SIZE 32640 // OBSOLETE: use IDC_SIZEALL - #define IDC_ICON 32641 // OBSOLETE: use IDC_ARROW - #define IDC_SIZENWSE 32642 - #define IDC_SIZENESW 32643 - #define IDC_SIZEWE 32644 - #define IDC_SIZENS 32645 - #define IDC_SIZEALL 32646 - #define IDC_NO 32648 //not in win3.1 - //#if(WINVER >= 1280) - #define IDC_HAND 32649 - //#endif // WINVER >= 0x0500 - #define IDC_APPSTARTING 32650 //not in win3.1 - //#if(WINVER >= 1024) - #define IDC_HELP 32651 - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - //#define LoadIcon LoadIconW - //#else - //#define LoadIcon LoadIconA - //#endif // !UNICODE - - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - // - // - //#if(WINVER >= 1024) - // - // - //// Icon/Cursor header - // - // - //#endif // WINVER >= 0x0400 - - #define IMAGE_BITMAP 0 - #define IMAGE_ICON 1 - #define IMAGE_CURSOR 2 - //#if(WINVER >= 1024) - #define IMAGE_ENHMETAFILE 3 - - #define LR_DEFAULTCOLOR 0 - #define LR_MONOCHROME 1 - #define LR_COLOR 2 - #define LR_COPYRETURNORG 4 - #define LR_COPYDELETEORG 8 - #define LR_LOADFROMFILE 16 - #define LR_LOADTRANSPARENT 32 - #define LR_DEFAULTSIZE 64 - #define LR_VGACOLOR 128 - #define LR_LOADMAP3DCOLORS 4096 - #define LR_CREATEDIBSECTION 8192 - #define LR_COPYFROMRESOURCE 16384 - #define LR_SHARED 32768 - - - //#ifdef UNICODE - //#define LoadImage LoadImageW - //#else - //#define LoadImage LoadImageA - //#endif // !UNICODE - - - #define DI_MASK 1 - #define DI_IMAGE 2 - #define DI_NORMAL 3 - #define DI_COMPAT 4 - #define DI_DEFAULTSIZE 8 - - - //#endif // WINVER >= 0x0400 - - - //#if(WINVER >= 1024) - #define RES_ICON 1 - #define RES_CURSOR 2 - //#endif // WINVER >= 0x0400 - - - #ifdef OEMRESOURCE - - /* - * OEM Resource Ordinal Numbers - */ - #define OBM_CLOSE 32754 - #define OBM_UPARROW 32753 - #define OBM_DNARROW 32752 - #define OBM_RGARROW 32751 - #define OBM_LFARROW 32750 - #define OBM_REDUCE 32749 - #define OBM_ZOOM 32748 - #define OBM_RESTORE 32747 - #define OBM_REDUCED 32746 - #define OBM_ZOOMD 32745 - #define OBM_RESTORED 32744 - #define OBM_UPARROWD 32743 - #define OBM_DNARROWD 32742 - #define OBM_RGARROWD 32741 - #define OBM_LFARROWD 32740 - #define OBM_MNARROW 32739 - #define OBM_COMBO 32738 - #define OBM_UPARROWI 32737 - #define OBM_DNARROWI 32736 - #define OBM_RGARROWI 32735 - #define OBM_LFARROWI 32734 - - #define OBM_OLD_CLOSE 32767 - #define OBM_SIZE 32766 - #define OBM_OLD_UPARROW 32765 - #define OBM_OLD_DNARROW 32764 - #define OBM_OLD_RGARROW 32763 - #define OBM_OLD_LFARROW 32762 - #define OBM_BTSIZE 32761 - #define OBM_CHECK 32760 - #define OBM_CHECKBOXES 32759 - #define OBM_BTNCORNERS 32758 - #define OBM_OLD_REDUCE 32757 - #define OBM_OLD_ZOOM 32756 - #define OBM_OLD_RESTORE 32755 - - - #define OCR_NORMAL 32512 - #define OCR_IBEAM 32513 - #define OCR_WAIT 32514 - #define OCR_CROSS 32515 - #define OCR_UP 32516 - #define OCR_SIZE 32640 // OBSOLETE: use OCR_SIZEALL - #define OCR_ICON 32641 // OBSOLETE: use OCR_NORMAL - #define OCR_SIZENWSE 32642 - #define OCR_SIZENESW 32643 - #define OCR_SIZEWE 32644 - #define OCR_SIZENS 32645 - #define OCR_SIZEALL 32646 - #define OCR_ICOCUR 32647 // OBSOLETE: use OIC_WINLOGO - #define OCR_NO 32648 - //#if(WINVER >= 1280) - #define OCR_HAND 32649 - //#endif // WINVER >= 0x0500 - //#if(WINVER >= 1024) - #define OCR_APPSTARTING 32650 - //#endif // WINVER >= 0x0400 - - - #define OIC_SAMPLE 32512 - #define OIC_HAND 32513 - #define OIC_QUES 32514 - #define OIC_BANG 32515 - #define OIC_NOTE 32516 - //#if(WINVER >= 1024) - #define OIC_WINLOGO 32517 - #define OIC_WARNING OIC_BANG - #define OIC_ERROR OIC_HAND - #define OIC_INFORMATION OIC_NOTE - //#endif // WINVER >= 0x0400 - - #endif // OEMRESOURCE - - #define ORD_LANGDRIVER 1 /* The ordinal number for the entry point of - ** language drivers. - */ - - //#ifndef NOICONS - - /* - * Standard Icon IDs - */ - //#ifdef RC_INVOKED - #define IDI_APPLICATION 32512 - #define IDI_HAND 32513 - #define IDI_QUESTION 32514 - #define IDI_EXCLAMATION 32515 - #define IDI_ASTERISK 32516 - //#if(WINVER >= 1024) - #define IDI_WINLOGO 32517 - //#endif // WINVER >= 0x0400 - //#else - //#define IDI_APPLICATION MAKEINTRESOURCE(32512) - //#define IDI_HAND MAKEINTRESOURCE(32513) - //#define IDI_QUESTION MAKEINTRESOURCE(32514) - //#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) - //#define IDI_ASTERISK MAKEINTRESOURCE(32516) - ////#if(WINVER >= 1024) - //#define IDI_WINLOGO MAKEINTRESOURCE(32517) - //#endif // WINVER >= 0x0400 - //#endif // RC_INVOKED - - //#if(WINVER >= 1024) - #define IDI_WARNING IDI_EXCLAMATION - #define IDI_ERROR IDI_HAND - #define IDI_INFORMATION IDI_ASTERISK - //#endif // WINVER >= 0x0400 - - - //#endif // !NOICONS - - - //#ifdef UNICODE - //#define LoadString LoadStringW - //#else - //#define LoadString LoadStringA - //#endif // !UNICODE - - - /* - * Dialog Box Command IDs - */ - #define IDOK 1 - #define IDCANCEL 2 - #define IDABORT 3 - #define IDRETRY 4 - #define IDIGNORE 5 - #define IDYES 6 - #define IDNO 7 - //#if(WINVER >= 1024) - #define IDCLOSE 8 - #define IDHELP 9 - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1280) - #define IDTRYAGAIN 10 - #define IDCONTINUE 11 - //#endif // WINVER >= 0x0500 - - - #ifndef NOCTLMGR - - /* - * Control Manager Structures and Definitions - */ - - #ifndef NOWINSTYLES - - /* - * Edit Control Styles - */ - #define ES_LEFT 0 - #define ES_CENTER 1 - #define ES_RIGHT 2 - #define ES_MULTILINE 4 - #define ES_UPPERCASE 8 - #define ES_LOWERCASE 16 - #define ES_PASSWORD 32 - #define ES_AUTOVSCROLL 64 - #define ES_AUTOHSCROLL 128 - #define ES_NOHIDESEL 256 - #define ES_OEMCONVERT 1024 - #define ES_READONLY 2048 - #define ES_WANTRETURN 4096 - //#if(WINVER >= 1024) - #define ES_NUMBER 8192 - //#endif // WINVER >= 0x0400 - - #endif // !NOWINSTYLES - - /* - * Edit Control Notification Codes - */ - #define EN_SETFOCUS 256 - #define EN_KILLFOCUS 512 - #define EN_CHANGE 768 - #define EN_UPDATE 1024 - #define EN_ERRSPACE 1280 - #define EN_MAXTEXT 1281 - #define EN_HSCROLL 1537 - #define EN_VSCROLL 1538 - - //#if(_WIN32_WINNT >= 1280) - #define EN_ALIGN_LTR_EC 1792 - #define EN_ALIGN_RTL_EC 1793 - //#endif // _WIN32_WINNT >= 0x0500 - - //#if(WINVER >= 1024) - // Edit control EM_SETMARGIN parameters - #define EC_LEFTMARGIN 1 - #define EC_RIGHTMARGIN 2 - #define EC_USEFONTINFO 65535 - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1280) - //// wParam of EM_GET/SETIMESTATUS - #define EMSIS_COMPOSITIONSTRING 1 - - // lParam for EMSIS_COMPOSITIONSTRING - #define EIMES_GETCOMPSTRATONCE 1 - #define EIMES_CANCELCOMPSTRINFOCUS 2 - #define EIMES_COMPLETECOMPSTRKILLFOCUS 4 - //#endif // WINVER >= 0x0500 - - #ifndef NOWINMESSAGES - - /* - * Edit Control Messages - */ - #define EM_GETSEL 176 - #define EM_SETSEL 177 - #define EM_GETRECT 178 - #define EM_SETRECT 179 - #define EM_SETRECTNP 180 - #define EM_SCROLL 181 - #define EM_LINESCROLL 182 - #define EM_SCROLLCARET 183 - #define EM_GETMODIFY 184 - #define EM_SETMODIFY 185 - #define EM_GETLINECOUNT 186 - #define EM_LINEINDEX 187 - #define EM_SETHANDLE 188 - #define EM_GETHANDLE 189 - #define EM_GETTHUMB 190 - #define EM_LINELENGTH 193 - #define EM_REPLACESEL 194 - #define EM_GETLINE 196 - #define EM_LIMITTEXT 197 - #define EM_CANUNDO 198 - #define EM_UNDO 199 - #define EM_FMTLINES 200 - #define EM_LINEFROMCHAR 201 - #define EM_SETTABSTOPS 203 - #define EM_SETPASSWORDCHAR 204 - #define EM_EMPTYUNDOBUFFER 205 - #define EM_GETFIRSTVISIBLELINE 206 - #define EM_SETREADONLY 207 - #define EM_SETWORDBREAKPROC 208 - #define EM_GETWORDBREAKPROC 209 - #define EM_GETPASSWORDCHAR 210 - //#if(WINVER >= 1024) - #define EM_SETMARGINS 211 - #define EM_GETMARGINS 212 - #define EM_SETLIMITTEXT EM_LIMITTEXT // ;win40 Name change - #define EM_GETLIMITTEXT 213 - #define EM_POSFROMCHAR 214 - #define EM_CHARFROMPOS 215 - //#endif // WINVER >= 0x0400 - - //#if(WINVER >= 1280) - #define EM_SETIMESTATUS 216 - #define EM_GETIMESTATUS 217 - //#endif // WINVER >= 0x0500 - - #endif // !NOWINMESSAGES - - /* - * EDITWORDBREAKPROC code values - */ - #define WB_LEFT 0 - #define WB_RIGHT 1 - #define WB_ISDELIMITER 2 - - - /* - * Button Control Styles - */ - #define BS_PUSHBUTTON 0 - #define BS_DEFPUSHBUTTON 1 - #define BS_CHECKBOX 2 - #define BS_AUTOCHECKBOX 3 - #define BS_RADIOBUTTON 4 - #define BS_3STATE 5 - #define BS_AUTO3STATE 6 - #define BS_GROUPBOX 7 - #define BS_USERBUTTON 8 - #define BS_AUTORADIOBUTTON 9 - #define BS_OWNERDRAW 11 - #define BS_LEFTTEXT 32 - //#if(WINVER >= 1024) - #define BS_TEXT 0 - #define BS_ICON 64 - #define BS_BITMAP 128 - #define BS_LEFT 256 - #define BS_RIGHT 512 - #define BS_CENTER 768 - #define BS_TOP 1024 - #define BS_BOTTOM 2048 - #define BS_VCENTER 3072 - #define BS_PUSHLIKE 4096 - #define BS_MULTILINE 8192 - #define BS_NOTIFY 16384 - #define BS_FLAT 32768 - #define BS_RIGHTBUTTON BS_LEFTTEXT - //#endif // WINVER >= 0x0400 - - /* - * User Button Notification Codes - */ - #define BN_CLICKED 0 - #define BN_PAINT 1 - #define BN_HILITE 2 - #define BN_UNHILITE 3 - #define BN_DISABLE 4 - #define BN_DOUBLECLICKED 5 - //#if(WINVER >= 1024) - #define BN_PUSHED BN_HILITE - #define BN_UNPUSHED BN_UNHILITE - #define BN_DBLCLK BN_DOUBLECLICKED - #define BN_SETFOCUS 6 - #define BN_KILLFOCUS 7 - //#endif // WINVER >= 0x0400 - - /* - * Button Control Messages - */ - #define BM_GETCHECK 240 - #define BM_SETCHECK 241 - #define BM_GETSTATE 242 - #define BM_SETSTATE 243 - #define BM_SETSTYLE 244 - //#if(WINVER >= 1024) - #define BM_CLICK 245 - #define BM_GETIMAGE 246 - #define BM_SETIMAGE 247 - - #define BST_UNCHECKED 0 - #define BST_CHECKED 1 - #define BST_INDETERMINATE 2 - #define BST_PUSHED 4 - #define BST_FOCUS 8 - //#endif // WINVER >= 0x0400 - - /* - * Static Control Constants - */ - #define SS_LEFT 0 - #define SS_CENTER 1 - #define SS_RIGHT 2 - #define SS_ICON 3 - #define SS_BLACKRECT 4 - #define SS_GRAYRECT 5 - #define SS_WHITERECT 6 - #define SS_BLACKFRAME 7 - #define SS_GRAYFRAME 8 - #define SS_WHITEFRAME 9 - #define SS_USERITEM 10 - #define SS_SIMPLE 11 - #define SS_LEFTNOWORDWRAP 12 - //#if(WINVER >= 1024) - #define SS_OWNERDRAW 13 - #define SS_BITMAP 14 - #define SS_ENHMETAFILE 15 - #define SS_ETCHEDHORZ 16 - #define SS_ETCHEDVERT 17 - #define SS_ETCHEDFRAME 18 - #define SS_TYPEMASK 31 - //#endif // WINVER >= 0x0400 - #define SS_NOPREFIX 128 // Don't do "&" character translation - //#if(WINVER >= 1024) - #define SS_NOTIFY 256 - #define SS_CENTERIMAGE 512 - #define SS_RIGHTJUST 1024 - #define SS_REALSIZEIMAGE 2048 - #define SS_SUNKEN 4096 - #define SS_ENDELLIPSIS 16384 - #define SS_PATHELLIPSIS 32768 - #define SS_WORDELLIPSIS 49152 - #define SS_ELLIPSISMASK 49152 - //#endif // WINVER >= 0x0400 - - - #ifndef NOWINMESSAGES - /* - * Static Control Mesages - */ - #define STM_SETICON 368 - #define STM_GETICON 369 - //#if(WINVER >= 1024) - #define STM_SETIMAGE 370 - #define STM_GETIMAGE 371 - #define STN_CLICKED 0 - #define STN_DBLCLK 1 - #define STN_ENABLE 2 - #define STN_DISABLE 3 - //#endif // WINVER >= 0x0400 - #define STM_MSGMAX 372 - #endif // !NOWINMESSAGES - - /* - * Dialog window class - */ - #define WC_DIALOG (MAKEINTATOM( 32770)) - - /* - * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows - */ - #define DWL_MSGRESULT 0 - #define DWL_DLGPROC 4 - #define DWL_USER 8 - - //#ifdef _WIN64 - // - // - //#endif // _WIN64 - - #define DWLP_MSGRESULT 0 - #define DWLP_DLGPROC DWLP_MSGRESULT + sizeof(LRESULT) - #define DWLP_USER DWLP_DLGPROC + sizeof(DLGPROC) - - /* - * Dialog Manager Routines - */ - - #ifndef NOMSG - //#ifdef UNICODE - //#define IsDialogMessage IsDialogMessageW - //#else - //#define IsDialogMessage IsDialogMessageA - //#endif // !UNICODE - #endif // !NOMSG - - - //#ifdef UNICODE - //#define DlgDirList DlgDirListW - //#else - //#define DlgDirList DlgDirListA - //#endif // !UNICODE - - /* - * DlgDirList, DlgDirListComboBox flags values - */ - #define DDL_READWRITE 0 - #define DDL_READONLY 1 - #define DDL_HIDDEN 2 - #define DDL_SYSTEM 4 - #define DDL_DIRECTORY 16 - #define DDL_ARCHIVE 32 - - #define DDL_POSTMSGS 8192 - #define DDL_DRIVES 16384 - #define DDL_EXCLUSIVE 32768 - - - //#ifdef UNICODE - //#define DlgDirSelectEx DlgDirSelectExW - //#else - //#define DlgDirSelectEx DlgDirSelectExA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define DlgDirListComboBox DlgDirListComboBoxW - //#else - //#define DlgDirListComboBox DlgDirListComboBoxA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW - //#else - //#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA - //#endif // !UNICODE - - - /* - * Dialog Styles - */ - #define DS_ABSALIGN 1 - #define DS_SYSMODAL 2 - #define DS_LOCALEDIT 32 // Edit items get Local storage. - #define DS_SETFONT 64 // User specified font for Dlg controls - #define DS_MODALFRAME 128 // Can be combined with WS_CAPTION - #define DS_NOIDLEMSG 256 // WM_ENTERIDLE message will not be sent - #define DS_SETFOREGROUND 512 // not in win3.1 - - - //#if(WINVER >= 1024) - #define DS_3DLOOK 4 - #define DS_FIXEDSYS 8 - #define DS_NOFAILCREATE 16 - #define DS_CONTROL 1024 - #define DS_CENTER 2048 - #define DS_CENTERMOUSE 4096 - #define DS_CONTEXTHELP 8192 - - #define DS_SHELLFONT (DS_SETFONT + DS_FIXEDSYS) - //#endif // WINVER >= 0x0400 - - - #define DM_GETDEFID (WM_USER+0) - #define DM_SETDEFID (WM_USER+1) - - //#if(WINVER >= 1024) - #define DM_REPOSITION (WM_USER+2) - //#endif // WINVER >= 0x0400 - /* - * Returned in HIWORD() of DM_GETDEFID result if msg is supported - */ - #define DC_HASDEFID 21323 - - /* - * Dialog Codes - */ - #define DLGC_WANTARROWS 1 // Control wants arrow keys - #define DLGC_WANTTAB 2 // Control wants tab keys - #define DLGC_WANTALLKEYS 4 // Control wants all keys - #define DLGC_WANTMESSAGE 4 // Pass message to control - #define DLGC_HASSETSEL 8 // Understands EM_SETSEL message - #define DLGC_DEFPUSHBUTTON 16 // Default pushbutton - #define DLGC_UNDEFPUSHBUTTON 32 // Non-default pushbutton - #define DLGC_RADIOBUTTON 64 // Radio button - #define DLGC_WANTCHARS 128 // Want WM_CHAR messages - #define DLGC_STATIC 256 // Static item: don't include - #define DLGC_BUTTON 8192 // Button item: can be checked - - #define LB_CTLCODE 0L - - /* - * Listbox Return Values - */ - #define LB_OKAY 0 - #define LB_ERR (-1) - #define LB_ERRSPACE (-2) - - /* - ** The idStaticPath parameter to DlgDirList can have the following values - ** ORed if the list box should show other details of the files along with - ** the name of the files; - */ - // all other details also will be returned - - - /* - * Listbox Notification Codes - */ - #define LBN_ERRSPACE (-2) - #define LBN_SELCHANGE 1 - #define LBN_DBLCLK 2 - #define LBN_SELCANCEL 3 - #define LBN_SETFOCUS 4 - #define LBN_KILLFOCUS 5 - - - #ifndef NOWINMESSAGES - - /* - * Listbox messages - */ - #define LB_ADDSTRING 384 - #define LB_INSERTSTRING 385 - #define LB_DELETESTRING 386 - #define LB_SELITEMRANGEEX 387 - #define LB_RESETCONTENT 388 - #define LB_SETSEL 389 - #define LB_SETCURSEL 390 - #define LB_GETSEL 391 - #define LB_GETCURSEL 392 - #define LB_GETTEXT 393 - #define LB_GETTEXTLEN 394 - #define LB_GETCOUNT 395 - #define LB_SELECTSTRING 396 - #define LB_DIR 397 - #define LB_GETTOPINDEX 398 - #define LB_FINDSTRING 399 - #define LB_GETSELCOUNT 400 - #define LB_GETSELITEMS 401 - #define LB_SETTABSTOPS 402 - #define LB_GETHORIZONTALEXTENT 403 - #define LB_SETHORIZONTALEXTENT 404 - #define LB_SETCOLUMNWIDTH 405 - #define LB_ADDFILE 406 - #define LB_SETTOPINDEX 407 - #define LB_GETITEMRECT 408 - #define LB_GETITEMDATA 409 - #define LB_SETITEMDATA 410 - #define LB_SELITEMRANGE 411 - #define LB_SETANCHORINDEX 412 - #define LB_GETANCHORINDEX 413 - #define LB_SETCARETINDEX 414 - #define LB_GETCARETINDEX 415 - #define LB_SETITEMHEIGHT 416 - #define LB_GETITEMHEIGHT 417 - #define LB_FINDSTRINGEXACT 418 - #define LB_SETLOCALE 421 - #define LB_GETLOCALE 422 - #define LB_SETCOUNT 423 - //#if(WINVER >= 1024) - #define LB_INITSTORAGE 424 - #define LB_ITEMFROMPOINT 425 - //#endif // WINVER >= 0x0400 - //#if(_WIN32_WCE >= 1024) - //#define LB_MULTIPLEADDSTRING 433 - //#endif - - //#if(_WIN32_WCE >= 1024) - //#define LB_MSGMAX 433 - // - //#define LB_MSGMAX 432 - //#else - #define LB_MSGMAX 424 - //#endif - - #endif // !NOWINMESSAGES - - #ifndef NOWINSTYLES - - /* - * Listbox Styles - */ - #define LBS_NOTIFY 1 - #define LBS_SORT 2 - #define LBS_NOREDRAW 4 - #define LBS_MULTIPLESEL 8 - #define LBS_OWNERDRAWFIXED 16 - #define LBS_OWNERDRAWVARIABLE 32 - #define LBS_HASSTRINGS 64 - #define LBS_USETABSTOPS 128 - #define LBS_NOINTEGRALHEIGHT 256 - #define LBS_MULTICOLUMN 512 - #define LBS_WANTKEYBOARDINPUT 1024 - #define LBS_EXTENDEDSEL 2048 - #define LBS_DISABLENOSCROLL 4096 - #define LBS_NODATA 8192 - //#if(WINVER >= 1024) - #define LBS_NOSEL 16384 - //#endif // WINVER >= 0x0400 - #define LBS_STANDARD (LBS_NOTIFY + LBS_SORT + WS_VSCROLL + WS_BORDER) - - #endif // !NOWINSTYLES - - - /* - * Combo Box return Values - */ - #define CB_OKAY 0 - #define CB_ERR (-1) - #define CB_ERRSPACE (-2) - - - /* - * Combo Box Notification Codes - */ - #define CBN_ERRSPACE (-1) - #define CBN_SELCHANGE 1 - #define CBN_DBLCLK 2 - #define CBN_SETFOCUS 3 - #define CBN_KILLFOCUS 4 - #define CBN_EDITCHANGE 5 - #define CBN_EDITUPDATE 6 - #define CBN_DROPDOWN 7 - #define CBN_CLOSEUP 8 - #define CBN_SELENDOK 9 - #define CBN_SELENDCANCEL 10 - - #ifndef NOWINSTYLES - - /* - * Combo Box styles - */ - #define CBS_SIMPLE 1 - #define CBS_DROPDOWN 2 - #define CBS_DROPDOWNLIST 3 - #define CBS_OWNERDRAWFIXED 16 - #define CBS_OWNERDRAWVARIABLE 32 - #define CBS_AUTOHSCROLL 64 - #define CBS_OEMCONVERT 128 - #define CBS_SORT 256 - #define CBS_HASSTRINGS 512 - #define CBS_NOINTEGRALHEIGHT 1024 - #define CBS_DISABLENOSCROLL 2048 - //#if(WINVER >= 1024) - #define CBS_UPPERCASE 8192 - #define CBS_LOWERCASE 16384 - //#endif // WINVER >= 0x0400 - - #endif // !NOWINSTYLES - - - /* - * Combo Box messages - */ - #ifndef NOWINMESSAGES - #define CB_GETEDITSEL 320 - #define CB_LIMITTEXT 321 - #define CB_SETEDITSEL 322 - #define CB_ADDSTRING 323 - #define CB_DELETESTRING 324 - #define CB_DIR 325 - #define CB_GETCOUNT 326 - #define CB_GETCURSEL 327 - #define CB_GETLBTEXT 328 - #define CB_GETLBTEXTLEN 329 - #define CB_INSERTSTRING 330 - #define CB_RESETCONTENT 331 - #define CB_FINDSTRING 332 - #define CB_SELECTSTRING 333 - #define CB_SETCURSEL 334 - #define CB_SHOWDROPDOWN 335 - #define CB_GETITEMDATA 336 - #define CB_SETITEMDATA 337 - #define CB_GETDROPPEDCONTROLRECT 338 - #define CB_SETITEMHEIGHT 339 - #define CB_GETITEMHEIGHT 340 - #define CB_SETEXTENDEDUI 341 - #define CB_GETEXTENDEDUI 342 - #define CB_GETDROPPEDSTATE 343 - #define CB_FINDSTRINGEXACT 344 - #define CB_SETLOCALE 345 - #define CB_GETLOCALE 346 - //#if(WINVER >= 1024) - #define CB_GETTOPINDEX 347 - #define CB_SETTOPINDEX 348 - #define CB_GETHORIZONTALEXTENT 349 - #define CB_SETHORIZONTALEXTENT 350 - #define CB_GETDROPPEDWIDTH 351 - #define CB_SETDROPPEDWIDTH 352 - #define CB_INITSTORAGE 353 - //#if(_WIN32_WCE >= 1024) - //#define CB_MULTIPLEADDSTRING 355 - //#endif - //#endif // WINVER >= 0x0400 - //#if(_WIN32_WCE >= 1024) - //#define CB_MSGMAX 355 - // - //#define CB_MSGMAX 354 - //#else - #define CB_MSGMAX 347 - //#endif - #endif // !NOWINMESSAGES - - - #ifndef NOWINSTYLES - - /* - * Scroll Bar Styles - */ - #define SBS_HORZ 0 - #define SBS_VERT 1 - #define SBS_TOPALIGN 2 - #define SBS_LEFTALIGN 2 - #define SBS_BOTTOMALIGN 4 - #define SBS_RIGHTALIGN 4 - #define SBS_SIZEBOXTOPLEFTALIGN 2 - #define SBS_SIZEBOXBOTTOMRIGHTALIGN 4 - #define SBS_SIZEBOX 8 - //#if(WINVER >= 1024) - //#define SBS_SIZEGRIP 16 - //#endif // WINVER >= 0x0400 - - #endif // !NOWINSTYLES - - /* - * Scroll bar messages - */ - #ifndef NOWINMESSAGES - #define SBM_SETPOS 224 //not in win3.1 - #define SBM_GETPOS 225 //not in win3.1 - #define SBM_SETRANGE 226 //not in win3.1 - #define SBM_SETRANGEREDRAW 230 //not in win3.1 - #define SBM_GETRANGE 227 //not in win3.1 - #define SBM_ENABLE_ARROWS 228 //not in win3.1 - //#if(WINVER >= 1024) - #define SBM_SETSCROLLINFO 233 - #define SBM_GETSCROLLINFO 234 - - #define SIF_RANGE 1 - #define SIF_PAGE 2 - #define SIF_POS 4 - #define SIF_DISABLENOSCROLL 8 - #define SIF_TRACKPOS 16 - #define SIF_ALL (SIF_RANGE + SIF_PAGE + SIF_POS + SIF_TRACKPOS) - - - //#endif // WINVER >= 0x0400 - - #endif // !NOWINMESSAGES - - #endif // !NOCTLMGR - - #ifndef NOMDI - - /* - * MDI client style bits - */ - #define MDIS_ALLCHILDSTYLES 1 - - /* - * wParam Flags for WM_MDITILE and WM_MDICASCADE messages. - */ - #define MDITILE_VERTICAL 0 //not in win3.1 - #define MDITILE_HORIZONTAL 1 //not in win3.1 - #define MDITILE_SKIPDISABLED 2 //not in win3.1 - //#if(_WIN32_WINNT >= 1280) - #define MDITILE_ZORDER 4 - //#endif // _WIN32_WINNT >= 0x0500 - - - // app-defined stuff - - - // app-defined stuff - - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - - //#ifdef UNICODE - //#define DefFrameProc DefFrameProcW - //#else - //#define DefFrameProc DefFrameProcA - //#endif // !UNICODE - - - //#ifndef _MAC - // - // - //#else - // - // - //#endif - // - // - //#ifndef _MAC - // - // - //#else - // - // - //#endif - - - //#ifdef UNICODE - //#define DefMDIChildProc DefMDIChildProcW - //#else - //#define DefMDIChildProc DefMDIChildProcA - //#endif // !UNICODE - - #ifndef NOMSG - - - #endif // !NOMSG - - - //#ifdef UNICODE - //#define CreateMDIWindow CreateMDIWindowW - //#else - //#define CreateMDIWindow CreateMDIWindowA - //#endif // !UNICODE - - //#if(WINVER >= 1024) - // - // - //#endif // WINVER >= 0x0400 - #endif // !NOMDI - - //***** Help support ******************************************************* - - #ifndef NOHELP - - //#ifndef _MAC - // - //#else - // - //#endif - // - // - //#ifndef _MAC - // - //#else - // - //#endif - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - // - - /* - * Commands to pass to WinHelp() - */ - #define HELP_CONTEXT 1 // Display topic in ulTopic - #define HELP_QUIT 2 // Terminate help - #define HELP_INDEX 3 // Display index - #define HELP_CONTENTS 3 - #define HELP_HELPONHELP 4 // Display help on using help - #define HELP_SETINDEX 5 // Set current Index for multi index help - #define HELP_SETCONTENTS 5 - #define HELP_CONTEXTPOPUP 8 - #define HELP_FORCEFILE 9 - #define HELP_KEY 257 // Display topic for keyword in offabData - #define HELP_COMMAND 258 - #define HELP_PARTIALKEY 261 - #define HELP_MULTIKEY 513 - #define HELP_SETWINPOS 515 - //#if(WINVER >= 1024) - #define HELP_CONTEXTMENU 10 - #define HELP_FINDER 11 - #define HELP_WM_HELP 12 - #define HELP_SETPOPUP_POS 13 - - #define HELP_TCARD 32768 - #define HELP_TCARD_DATA 16 - #define HELP_TCARD_OTHER_CALLER 17 - - // These are in winhelp.h in Win95. - #define IDH_NO_HELP 28440 - #define IDH_MISSING_CONTEXT 28441 // Control doesn't have matching help context - #define IDH_GENERIC_HELP_BUTTON 28442 // Property sheet help button - #define IDH_OK 28443 - #define IDH_CANCEL 28444 - #define IDH_HELP 28445 - - //#endif // WINVER >= 0x0400 - - - //#ifdef UNICODE - //#define WinHelp WinHelpW - //#else - //#define WinHelp WinHelpA - //#endif // !UNICODE - - #endif // !NOHELP - - //#if(WINVER >= 1280) - // - #define GR_GDIOBJECTS 0 // Count of GDI objects - #define GR_USEROBJECTS 1 // Count of USER objects - // - // - //#endif // WINVER >= 0x0500 - - - #ifndef NOSYSPARAMSINFO - - /* - * Parameter for SystemParametersInfo() - */ - - #define SPI_GETBEEP 1 - #define SPI_SETBEEP 2 - #define SPI_GETMOUSE 3 - #define SPI_SETMOUSE 4 - #define SPI_GETBORDER 5 - #define SPI_SETBORDER 6 - #define SPI_GETKEYBOARDSPEED 10 - #define SPI_SETKEYBOARDSPEED 11 - #define SPI_LANGDRIVER 12 - #define SPI_ICONHORIZONTALSPACING 13 - #define SPI_GETSCREENSAVETIMEOUT 14 - #define SPI_SETSCREENSAVETIMEOUT 15 - #define SPI_GETSCREENSAVEACTIVE 16 - #define SPI_SETSCREENSAVEACTIVE 17 - #define SPI_GETGRIDGRANULARITY 18 - #define SPI_SETGRIDGRANULARITY 19 - #define SPI_SETDESKWALLPAPER 20 - #define SPI_SETDESKPATTERN 21 - #define SPI_GETKEYBOARDDELAY 22 - #define SPI_SETKEYBOARDDELAY 23 - #define SPI_ICONVERTICALSPACING 24 - #define SPI_GETICONTITLEWRAP 25 - #define SPI_SETICONTITLEWRAP 26 - #define SPI_GETMENUDROPALIGNMENT 27 - #define SPI_SETMENUDROPALIGNMENT 28 - #define SPI_SETDOUBLECLKWIDTH 29 - #define SPI_SETDOUBLECLKHEIGHT 30 - #define SPI_GETICONTITLELOGFONT 31 - #define SPI_SETDOUBLECLICKTIME 32 - #define SPI_SETMOUSEBUTTONSWAP 33 - #define SPI_SETICONTITLELOGFONT 34 - #define SPI_GETFASTTASKSWITCH 35 - #define SPI_SETFASTTASKSWITCH 36 - //#if(WINVER >= 1024) - #define SPI_SETDRAGFULLWINDOWS 37 - #define SPI_GETDRAGFULLWINDOWS 38 - #define SPI_GETNONCLIENTMETRICS 41 - #define SPI_SETNONCLIENTMETRICS 42 - #define SPI_GETMINIMIZEDMETRICS 43 - #define SPI_SETMINIMIZEDMETRICS 44 - #define SPI_GETICONMETRICS 45 - #define SPI_SETICONMETRICS 46 - #define SPI_SETWORKAREA 47 - #define SPI_GETWORKAREA 48 - #define SPI_SETPENWINDOWS 49 - - #define SPI_GETHIGHCONTRAST 66 - #define SPI_SETHIGHCONTRAST 67 - #define SPI_GETKEYBOARDPREF 68 - #define SPI_SETKEYBOARDPREF 69 - #define SPI_GETSCREENREADER 70 - #define SPI_SETSCREENREADER 71 - #define SPI_GETANIMATION 72 - #define SPI_SETANIMATION 73 - #define SPI_GETFONTSMOOTHING 74 - #define SPI_SETFONTSMOOTHING 75 - #define SPI_SETDRAGWIDTH 76 - #define SPI_SETDRAGHEIGHT 77 - #define SPI_SETHANDHELD 78 - #define SPI_GETLOWPOWERTIMEOUT 79 - #define SPI_GETPOWEROFFTIMEOUT 80 - #define SPI_SETLOWPOWERTIMEOUT 81 - #define SPI_SETPOWEROFFTIMEOUT 82 - #define SPI_GETLOWPOWERACTIVE 83 - #define SPI_GETPOWEROFFACTIVE 84 - #define SPI_SETLOWPOWERACTIVE 85 - #define SPI_SETPOWEROFFACTIVE 86 - #define SPI_SETCURSORS 87 - #define SPI_SETICONS 88 - #define SPI_GETDEFAULTINPUTLANG 89 - #define SPI_SETDEFAULTINPUTLANG 90 - #define SPI_SETLANGTOGGLE 91 - #define SPI_GETWINDOWSEXTENSION 92 - #define SPI_SETMOUSETRAILS 93 - #define SPI_GETMOUSETRAILS 94 - #define SPI_SETSCREENSAVERRUNNING 97 - #define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING - //#endif // WINVER >= 0x0400 - #define SPI_GETFILTERKEYS 50 - #define SPI_SETFILTERKEYS 51 - #define SPI_GETTOGGLEKEYS 52 - #define SPI_SETTOGGLEKEYS 53 - #define SPI_GETMOUSEKEYS 54 - #define SPI_SETMOUSEKEYS 55 - #define SPI_GETSHOWSOUNDS 56 - #define SPI_SETSHOWSOUNDS 57 - #define SPI_GETSTICKYKEYS 58 - #define SPI_SETSTICKYKEYS 59 - #define SPI_GETACCESSTIMEOUT 60 - #define SPI_SETACCESSTIMEOUT 61 - //#if(WINVER >= 1024) - #define SPI_GETSERIALKEYS 62 - #define SPI_SETSERIALKEYS 63 - //#endif // WINVER >= 0x0400 - #define SPI_GETSOUNDSENTRY 64 - #define SPI_SETSOUNDSENTRY 65 - //#if(_WIN32_WINNT >= 1024) - #define SPI_GETSNAPTODEFBUTTON 95 - #define SPI_SETSNAPTODEFBUTTON 96 - //#endif // _WIN32_WINNT >= 0x0400 - //#if (_WIN32_WINNT >= 1024) .OR. (_WIN32_WINDOWS > 1024) - #define SPI_GETMOUSEHOVERWIDTH 98 - #define SPI_SETMOUSEHOVERWIDTH 99 - #define SPI_GETMOUSEHOVERHEIGHT 100 - #define SPI_SETMOUSEHOVERHEIGHT 101 - #define SPI_GETMOUSEHOVERTIME 102 - #define SPI_SETMOUSEHOVERTIME 103 - #define SPI_GETWHEELSCROLLLINES 104 - #define SPI_SETWHEELSCROLLLINES 105 - #define SPI_GETMENUSHOWDELAY 106 - #define SPI_SETMENUSHOWDELAY 107 - - - #define SPI_GETSHOWIMEUI 110 - #define SPI_SETSHOWIMEUI 111 - //#endif - - - //#if(WINVER >= 1280) - #define SPI_GETMOUSESPEED 112 - #define SPI_SETMOUSESPEED 113 - #define SPI_GETSCREENSAVERRUNNING 114 - #define SPI_GETDESKWALLPAPER 115 - - //#endif // WINVER >= 0x0500 - - - //#if(WINVER >= 1280) - #define SPI_GETACTIVEWINDOWTRACKING 4096 - #define SPI_SETACTIVEWINDOWTRACKING 4097 - #define SPI_GETMENUANIMATION 4098 - #define SPI_SETMENUANIMATION 4099 - #define SPI_GETCOMBOBOXANIMATION 4100 - #define SPI_SETCOMBOBOXANIMATION 4101 - #define SPI_GETLISTBOXSMOOTHSCROLLING 4102 - #define SPI_SETLISTBOXSMOOTHSCROLLING 4103 - #define SPI_GETGRADIENTCAPTIONS 4104 - #define SPI_SETGRADIENTCAPTIONS 4105 - #define SPI_GETKEYBOARDCUES 4106 - #define SPI_SETKEYBOARDCUES 4107 - #define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES - #define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES - #define SPI_GETACTIVEWNDTRKZORDER 4108 - #define SPI_SETACTIVEWNDTRKZORDER 4109 - #define SPI_GETHOTTRACKING 4110 - #define SPI_SETHOTTRACKING 4111 - #define SPI_GETMENUFADE 4114 - #define SPI_SETMENUFADE 4115 - #define SPI_GETSELECTIONFADE 4116 - #define SPI_SETSELECTIONFADE 4117 - #define SPI_GETTOOLTIPANIMATION 4118 - #define SPI_SETTOOLTIPANIMATION 4119 - #define SPI_GETTOOLTIPFADE 4120 - #define SPI_SETTOOLTIPFADE 4121 - #define SPI_GETCURSORSHADOW 4122 - #define SPI_SETCURSORSHADOW 4123 - - #define SPI_GETUIEFFECTS 4158 - #define SPI_SETUIEFFECTS 4159 - - #define SPI_GETFOREGROUNDLOCKTIMEOUT 8192 - #define SPI_SETFOREGROUNDLOCKTIMEOUT 8193 - #define SPI_GETACTIVEWNDTRKTIMEOUT 8194 - #define SPI_SETACTIVEWNDTRKTIMEOUT 8195 - #define SPI_GETFOREGROUNDFLASHCOUNT 8196 - #define SPI_SETFOREGROUNDFLASHCOUNT 8197 - #define SPI_GETCARETWIDTH 8198 - #define SPI_SETCARETWIDTH 8199 - //#endif // WINVER >= 0x0500 - - /* - * Flags - */ - #define SPIF_UPDATEINIFILE 1 - #define SPIF_SENDWININICHANGE 2 - #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE - - - #define METRICS_USEDEFAULT -1 - - #ifdef _WINGDI_ - #ifndef NOGDI - - #endif // NOGDI - #endif // _WINGDI_ - - #define ARW_BOTTOMLEFT 0 - #define ARW_BOTTOMRIGHT 1 - #define ARW_TOPLEFT 2 - #define ARW_TOPRIGHT 3 - #define ARW_STARTMASK 3 - #define ARW_STARTRIGHT 1 - #define ARW_STARTTOP 2 - - #define ARW_LEFT 0 - #define ARW_RIGHT 0 - #define ARW_UP 4 - #define ARW_DOWN 4 - #define ARW_HIDE 8 - - - #ifdef _WINGDI_ - #ifndef NOGDI - #ifdef UNICODE - #else - #endif // UNICODE - #endif // NOGDI - #endif // _WINGDI_ - - - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - // flags for SERIALKEYS dwFlags field - #define SERKF_SERIALKEYSON 1 - #define SERKF_AVAILABLE 2 - #define SERKF_INDICATOR 4 - - - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - // flags for HIGHCONTRAST dwFlags field - #define HCF_HIGHCONTRASTON 1 - #define HCF_AVAILABLE 2 - #define HCF_HOTKEYACTIVE 4 - #define HCF_CONFIRMHOTKEY 8 - #define HCF_HOTKEYSOUND 16 - #define HCF_INDICATOR 32 - #define HCF_HOTKEYAVAILABLE 64 - - // Flags for ChangeDisplaySettings - #define CDS_UPDATEREGISTRY 1 - #define CDS_TEST 2 - #define CDS_FULLSCREEN 4 - #define CDS_GLOBAL 8 - #define CDS_SET_PRIMARY 16 - #define CDS_VIDEOPARAMETERS 32 - #define CDS_RESET 1073741824 - #define CDS_NORESET 268435456 - - //#include "tvout.ch" - - // Return values for ChangeDisplaySettings - #define DISP_CHANGE_SUCCESSFUL 0 - #define DISP_CHANGE_RESTART 1 - #define DISP_CHANGE_FAILED -1 - #define DISP_CHANGE_BADMODE -2 - #define DISP_CHANGE_NOTUPDATED -3 - #define DISP_CHANGE_BADFLAGS -4 - #define DISP_CHANGE_BADPARAM -5 - - #ifdef _WINGDI_ - #ifndef NOGDI - //#ifdef UNICODE - //#define ChangeDisplaySettings ChangeDisplaySettingsW - //#else - //#define ChangeDisplaySettings ChangeDisplaySettingsA - //#endif // !UNICODE - // - // - //#ifdef UNICODE - //#define ChangeDisplaySettingsEx ChangeDisplaySettingsExW - //#else - //#define ChangeDisplaySettingsEx ChangeDisplaySettingsExA - //#endif // !UNICODE - - #define ENUM_CURRENT_SETTINGS ((DWORD)-1) - #define ENUM_REGISTRY_SETTINGS ((DWORD)-2) - - - //#ifdef UNICODE - //#define EnumDisplaySettings EnumDisplaySettingsW - //#else - //#define EnumDisplaySettings EnumDisplaySettingsA - //#endif // !UNICODE - - //#if(WINVER >= 1280) - // - // - //#ifdef UNICODE - //#define EnumDisplaySettingsEx EnumDisplaySettingsExW - //#else - //#define EnumDisplaySettingsEx EnumDisplaySettingsExA - //#endif // !UNICODE - // - //// Flags for EnumDisplaySettingsEx - #define EDS_RAWMODE 2 - // - // - //#ifdef UNICODE - //#define EnumDisplayDevices EnumDisplayDevicesW - //#else - //#define EnumDisplayDevices EnumDisplayDevicesA - //#endif // !UNICODE - //#endif // WINVER >= 0x0500 - - #endif // NOGDI - #endif // _WINGDI_ - - - //#ifdef UNICODE - //#define SystemParametersInfo SystemParametersInfoW - //#else - //#define SystemParametersInfo SystemParametersInfoA - //#endif // !UNICODE - - #endif // !NOSYSPARAMSINFO - - /* - * Accessibility support - */ - - - // Acceptance Delay - // Delay Until Repeat - // Repeat Rate - // Debounce Time - - - /* - * FILTERKEYS dwFlags field - */ - #define FKF_FILTERKEYSON 1 - #define FKF_AVAILABLE 2 - #define FKF_HOTKEYACTIVE 4 - #define FKF_CONFIRMHOTKEY 8 - #define FKF_HOTKEYSOUND 16 - #define FKF_INDICATOR 32 - #define FKF_CLICKON 64 - - - /* - * STICKYKEYS dwFlags field - */ - #define SKF_STICKYKEYSON 1 - #define SKF_AVAILABLE 2 - #define SKF_HOTKEYACTIVE 4 - #define SKF_CONFIRMHOTKEY 8 - #define SKF_HOTKEYSOUND 16 - #define SKF_INDICATOR 32 - #define SKF_AUDIBLEFEEDBACK 64 - #define SKF_TRISTATE 128 - #define SKF_TWOKEYSOFF 256 - //#if(_WIN32_WINNT >= 1280) - #define SKF_LALTLATCHED 268435456 - #define SKF_LCTLLATCHED 67108864 - #define SKF_LSHIFTLATCHED 16777216 - #define SKF_RALTLATCHED 536870912 - #define SKF_RCTLLATCHED 134217728 - #define SKF_RSHIFTLATCHED 33554432 - #define SKF_LWINLATCHED 1073741824 - #define SKF_RWINLATCHED 2147483648 - #define SKF_LALTLOCKED 1048576 - #define SKF_LCTLLOCKED 262144 - #define SKF_LSHIFTLOCKED 65536 - #define SKF_RALTLOCKED 2097152 - #define SKF_RCTLLOCKED 524288 - #define SKF_RSHIFTLOCKED 131072 - #define SKF_LWINLOCKED 4194304 - #define SKF_RWINLOCKED 8388608 - //#endif // _WIN32_WINNT >= 0x0500 - - - /* - * MOUSEKEYS dwFlags field - */ - #define MKF_MOUSEKEYSON 1 - #define MKF_AVAILABLE 2 - #define MKF_HOTKEYACTIVE 4 - #define MKF_CONFIRMHOTKEY 8 - #define MKF_HOTKEYSOUND 16 - #define MKF_INDICATOR 32 - #define MKF_MODIFIERS 64 - #define MKF_REPLACENUMBERS 128 - //#if(_WIN32_WINNT >= 1280) - #define MKF_LEFTBUTTONSEL 268435456 - #define MKF_RIGHTBUTTONSEL 536870912 - #define MKF_LEFTBUTTONDOWN 16777216 - #define MKF_RIGHTBUTTONDOWN 33554432 - #define MKF_MOUSEMODE 2147483648 - //#endif // _WIN32_WINNT >= 0x0500 - - - /* - * ACCESSTIMEOUT dwFlags field - */ - #define ATF_TIMEOUTON 1 - #define ATF_ONOFFFEEDBACK 2 - - // values for SOUNDSENTRY iFSGrafEffect field - #define SSGF_NONE 0 - #define SSGF_DISPLAY 3 - - // values for SOUNDSENTRY iFSTextEffect field - #define SSTF_NONE 0 - #define SSTF_CHARS 1 - #define SSTF_BORDER 2 - #define SSTF_DISPLAY 3 - - // values for SOUNDSENTRY iWindowsEffect field - #define SSWF_NONE 0 - #define SSWF_TITLE 1 - #define SSWF_WINDOW 2 - #define SSWF_DISPLAY 3 - #define SSWF_CUSTOM 4 - - - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - - /* - * SOUNDSENTRY dwFlags field - */ - #define SSF_SOUNDSENTRYON 1 - #define SSF_AVAILABLE 2 - #define SSF_INDICATOR 4 - - - /* - * TOGGLEKEYS dwFlags field - */ - #define TKF_TOGGLEKEYSON 1 - #define TKF_AVAILABLE 2 - #define TKF_HOTKEYACTIVE 4 - #define TKF_CONFIRMHOTKEY 8 - #define TKF_HOTKEYSOUND 16 - #define TKF_INDICATOR 32 - - /* - * Set debug level - */ - - - /* - * SetLastErrorEx() types. - */ - - #define SLE_ERROR 1 - #define SLE_MINORERROR 2 - #define SLE_WARNING 3 - - - //#if(WINVER >= 1280) - // - ///* - // * Multimonitor API. - // */ - // - #define MONITOR_DEFAULTTONULL 0 - #define MONITOR_DEFAULTTOPRIMARY 1 - #define MONITOR_DEFAULTTONEAREST 2 - // - // - //#define MONITORINFOF_PRIMARY 1 - // - //#ifndef CCHDEVICENAME - //#define CCHDEVICENAME 32 - //#endif - - - //#ifdef __cplusplus - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - //#else // ndef __cplusplus - // - // - //#ifdef UNICODE - // - // - //#else - // - // - //#endif // UNICODE - //#endif - // - - //#ifdef UNICODE - //#define GetMonitorInfo GetMonitorInfoW - //#else - //#define GetMonitorInfo GetMonitorInfoA - //#endif // !UNICODE - - - #ifndef NOWINABLE - - /* - * WinEvents - Active Accessibility hooks - */ - - - /* - * dwFlags for SetWinEventHook - */ - #define WINEVENT_OUTOFCONTEXT 0 // Events are ASYNC - #define WINEVENT_SKIPOWNTHREAD 1 // Don't call back for events on installer's thread - #define WINEVENT_SKIPOWNPROCESS 2 // Don't call back for events on installer's process - #define WINEVENT_INCONTEXT 4 // Events are SYNC, this causes your dll to be injected into every process - - - /* - * idObject values for WinEventProc and NotifyWinEvent - */ - - /* - * hwnd + idObject can be used with OLEACC.DLL's OleGetObjectFromWindow() - * to get an interface pointer to the container. indexChild is the item - * within the container in question. Setup a VARIANT with vt VT_I4 and - * lVal the indexChild and pass that in to all methods. Then you - * are raring to go. - */ - - - /* - * Common object IDs (cookies, only for sending WM_GETOBJECT to get at the - * thing in question). Positive IDs are reserved for apps (app specific), - * negative IDs are system things and are global, 0 means "just little old - * me". - */ - #define CHILDID_SELF 0 - #define INDEXID_OBJECT 0 - #define INDEXID_CONTAINER 0 - - /* - * Reserved IDs for system objects - */ - #define OBJID_WINDOW 0 - #define OBJID_SYSMENU 4294967295 - #define OBJID_TITLEBAR 4294967294 - #define OBJID_MENU 4294967293 - #define OBJID_CLIENT 4294967292 - #define OBJID_VSCROLL 4294967291 - #define OBJID_HSCROLL 4294967290 - #define OBJID_SIZEGRIP 4294967289 - #define OBJID_CARET 4294967288 - #define OBJID_CURSOR 4294967287 - #define OBJID_ALERT 4294967286 - #define OBJID_SOUND 4294967285 - #define OBJID_QUERYCLASSNAMEIDX 4294967284 - #define OBJID_NATIVEOM 4294967280 - - /* - * EVENT DEFINITION - */ - #define EVENT_MIN 1 - #define EVENT_MAX 2147483647 - - - /* - * EVENT_SYSTEM_SOUND - * Sent when a sound is played. Currently nothing is generating this, we - * this event when a system sound (for menus, etc) is played. Apps - * generate this, if accessible, when a private sound is played. For - * example, if Mail plays a "New Mail" sound. - * - * System Sounds: - * (Generated by PlaySoundEvent in USER itself) - * hwnd is NULL - * idObject is OBJID_SOUND - * idChild is sound child ID if one - * App Sounds: - * (PlaySoundEvent won't generate notification; up to app) - * hwnd + idObject gets interface pointer to Sound object - * idChild identifies the sound in question - * are going to be cleaning up the SOUNDSENTRY feature in the control panel - * and will use this at that time. Applications implementing WinEvents - * are perfectly welcome to use it. Clients of IAccessible* will simply - * turn around and get back a non-visual object that describes the sound. - */ - #define EVENT_SYSTEM_SOUND 1 - - /* - * EVENT_SYSTEM_ALERT - * System Alerts: - * (Generated by MessageBox() calls for example) - * hwnd is hwndMessageBox - * idObject is OBJID_ALERT - * App Alerts: - * (Generated whenever) - * hwnd+idObject gets interface pointer to Alert - */ - #define EVENT_SYSTEM_ALERT 2 - - /* - * EVENT_SYSTEM_FOREGROUND - * Sent when the foreground (active) window changes, even if it is changing - * to another window in the same thread as the previous one. - * hwnd is hwndNewForeground - * idObject is OBJID_WINDOW - * idChild is INDEXID_OBJECT - */ - #define EVENT_SYSTEM_FOREGROUND 3 - - /* - * Menu - * hwnd is window (top level window or popup menu window) - * idObject is ID of control (OBJID_MENU, OBJID_SYSMENU, OBJID_SELF for popup) - * idChild is CHILDID_SELF - * - * EVENT_SYSTEM_MENUSTART - * EVENT_SYSTEM_MENUEND - * For MENUSTART, hwnd+idObject+idChild refers to the control with the menu bar, - * or the control bringing up the context menu. - * - * Sent when entering into and leaving from menu mode (system, app bar, and - * track popups). - */ - #define EVENT_SYSTEM_MENUSTART 4 - #define EVENT_SYSTEM_MENUEND 5 - - /* - * EVENT_SYSTEM_MENUPOPUPSTART - * EVENT_SYSTEM_MENUPOPUPEND - * Sent when a menu popup comes up and just before it is taken down. Note - * that for a call to TrackPopupMenu(), a client will see EVENT_SYSTEM_MENUSTART - * followed almost immediately by EVENT_SYSTEM_MENUPOPUPSTART for the popup - * being shown. - * - * For MENUPOPUP, hwnd+idObject+idChild refers to the NEW popup coming up, not the - * parent item which is hierarchical. You can get the parent menu/popup by - * asking for the accParent object. - */ - #define EVENT_SYSTEM_MENUPOPUPSTART 6 - #define EVENT_SYSTEM_MENUPOPUPEND 7 - - - /* - * EVENT_SYSTEM_CAPTURESTART - * EVENT_SYSTEM_CAPTUREEND - * Sent when a window takes the capture and releases the capture. - */ - #define EVENT_SYSTEM_CAPTURESTART 8 - #define EVENT_SYSTEM_CAPTUREEND 9 - - /* - * Move Size - * EVENT_SYSTEM_MOVESIZESTART - * EVENT_SYSTEM_MOVESIZEEND - * Sent when a window enters and leaves move-size dragging mode. - */ - #define EVENT_SYSTEM_MOVESIZESTART 10 - #define EVENT_SYSTEM_MOVESIZEEND 11 - - /* - * Context Help - * EVENT_SYSTEM_CONTEXTHELPSTART - * EVENT_SYSTEM_CONTEXTHELPEND - * Sent when a window enters and leaves context sensitive help mode. - */ - #define EVENT_SYSTEM_CONTEXTHELPSTART 12 - #define EVENT_SYSTEM_CONTEXTHELPEND 13 - - /* - * Drag & Drop - * EVENT_SYSTEM_DRAGDROPSTART - * EVENT_SYSTEM_DRAGDROPEND - * Send the START notification just before going into drag&drop loop. Send - * the END notification just after canceling out. - * Note that it is up to apps and OLE to generate this, since the system - * doesn't know. Like EVENT_SYSTEM_SOUND, it will be a while before this - * is prevalent. - */ - #define EVENT_SYSTEM_DRAGDROPSTART 14 - #define EVENT_SYSTEM_DRAGDROPEND 15 - - /* - * Dialog - * Send the START notification right after the dialog is completely - * initialized and visible. Send the END right before the dialog - * is hidden and goes away. - * EVENT_SYSTEM_DIALOGSTART - * EVENT_SYSTEM_DIALOGEND - */ - #define EVENT_SYSTEM_DIALOGSTART 16 - #define EVENT_SYSTEM_DIALOGEND 17 - - /* - * EVENT_SYSTEM_SCROLLING - * EVENT_SYSTEM_SCROLLINGSTART - * EVENT_SYSTEM_SCROLLINGEND - * Sent when beginning and ending the tracking of a scrollbar in a window, - * and also for scrollbar controls. - */ - #define EVENT_SYSTEM_SCROLLINGSTART 18 - #define EVENT_SYSTEM_SCROLLINGEND 19 - - /* - * Alt-Tab Window - * Send the START notification right after the switch window is initialized - * and visible. Send the END right before it is hidden and goes away. - * EVENT_SYSTEM_SWITCHSTART - * EVENT_SYSTEM_SWITCHEND - */ - #define EVENT_SYSTEM_SWITCHSTART 20 - #define EVENT_SYSTEM_SWITCHEND 21 - - /* - * EVENT_SYSTEM_MINIMIZESTART - * EVENT_SYSTEM_MINIMIZEEND - * Sent when a window minimizes and just before it restores. - */ - #define EVENT_SYSTEM_MINIMIZESTART 22 - #define EVENT_SYSTEM_MINIMIZEEND 23 - - - /* - * Object events - * - * The system AND apps generate these. The system generates these for - * real windows. Apps generate these for objects within their window which - * act like a separate control, e.g. an item in a list view. - * - * When the system generate them, dwParam2 is always WMOBJID_SELF. When - * apps generate them, apps put the has-meaning-to-the-app-only ID value - * in dwParam2. - * For all events, if you want detailed accessibility information, callers - * should - * * Call AccessibleObjectFromWindow() with the hwnd, idObject parameters - * of the event, and IID_IAccessible as the REFIID, to get back an - * IAccessible* to talk to - * * Initialize and fill in a VARIANT as VT_I4 with lVal the idChild - * parameter of the event. - * * If idChild isn't zero, call get_accChild() in the container to see - * if the child is an object in its own right. If so, you will get - * back an IDispatch* object for the child. You should release the - * parent, and call QueryInterface() on the child object to get its - * IAccessible*. Then you talk directly to the child. Otherwise, - * if get_accChild() returns you nothing, you should continue to - * use the child VARIANT. You will ask the container for the properties - * of the child identified by the VARIANT. In other words, the - * child in this case is accessible but not a full-blown object. - * Like a button on a titlebar which is 'small' and has no children. - */ - - /* - * For all EVENT_OBJECT events, - * hwnd is the dude to Send the WM_GETOBJECT message to (unless NULL, - * see above for system things) - * idObject is the ID of the object that can resolve any queries a - * client might have. It's a way to deal with windowless controls, - * controls that are just drawn on the screen in some larger parent - * window (like SDM), or standard frame elements of a window. - * idChild is the piece inside of the object that is affected. This - * allows clients to access things that are too small to have full - * blown objects in their own right. Like the thumb of a scrollbar. - * The hwnd/idObject pair gets you to the container, the dude you - * probably want to talk to most of the time anyway. The idChild - * can then be passed into the acc properties to get the name/value - * of it as needed. - * - * Example #1: - * System propagating a listbox selection change - * EVENT_OBJECT_SELECTION - * hwnd == listbox hwnd - * idObject == OBJID_WINDOW - * idChild == new selected item, or CHILDID_SELF if - * nothing now selected within container. - * Word '97 propagating a listbox selection change - * hwnd == SDM window - * idObject == SDM ID to get at listbox 'control' - * idChild == new selected item, or CHILDID_SELF if - * nothing - * - * Example #2: - * System propagating a menu item selection on the menu bar - * EVENT_OBJECT_SELECTION - * hwnd == top level window - * idObject == OBJID_MENU - * idChild == ID of child menu bar item selected - * - * Example #3: - * System propagating a dropdown coming off of said menu bar item - * EVENT_OBJECT_CREATE - * hwnd == popup item - * idObject == OBJID_WINDOW - * idChild == CHILDID_SELF - * - * Example #4: - * - * For EVENT_OBJECT_REORDER, the object referred to by hwnd/idObject is the - * PARENT container in which the zorder is occurring. This is because if - * one child is zordering, all of them are changing their relative zorder. - */ - #define EVENT_OBJECT_CREATE 32768 // hwnd + ID + idChild is created item - #define EVENT_OBJECT_DESTROY 32769 // hwnd + ID + idChild is destroyed item - #define EVENT_OBJECT_SHOW 32770 // hwnd + ID + idChild is shown item - #define EVENT_OBJECT_HIDE 32771 // hwnd + ID + idChild is hidden item - #define EVENT_OBJECT_REORDER 32772 // hwnd + ID + idChild is parent of zordering children - /* - * NOTE: - * Minimize the number of notifications! - * - * When you are hiding a parent object, obviously all child objects are no - * longer visible on screen. They still have the same "visible" status, - * but are not truly visible. Hence do not send HIDE notifications for the - * children also. One implies all. The same goes for SHOW. - */ - - - #define EVENT_OBJECT_FOCUS 32773 // hwnd + ID + idChild is focused item - #define EVENT_OBJECT_SELECTION 32774 // hwnd + ID + idChild is selected item (if only one), or idChild is OBJID_WINDOW if complex - #define EVENT_OBJECT_SELECTIONADD 32775 // hwnd + ID + idChild is item added - #define EVENT_OBJECT_SELECTIONREMOVE 32776 // hwnd + ID + idChild is item removed - #define EVENT_OBJECT_SELECTIONWITHIN 32777 // hwnd + ID + idChild is parent of changed selected items - - /* - * NOTES: - * There is only one "focused" child item in a parent. This is the place - * keystrokes are going at a given moment. Hence only send a notification - * about where the NEW focus is going. A NEW item getting the focus already - * implies that the OLD item is losing it. - * - * SELECTION however can be multiple. Hence the different SELECTION - * notifications. Here's when to use each: - * - * (1) Send a SELECTION notification in the simple single selection - * case (like the focus) when the item with the selection is - * merely moving to a different item within a container. hwnd + ID - * is the container control, idChildItem is the new child with the - * selection. - * - * (2) Send a SELECTIONADD notification when a new item has simply been added - * to the selection within a container. This is appropriate when the - * number of newly selected items is very small. hwnd + ID is the - * container control, idChildItem is the new child added to the selection. - * - * (3) Send a SELECTIONREMOVE notification when a new item has simply been - * removed from the selection within a container. This is appropriate - * when the number of newly selected items is very small, just like - * SELECTIONADD. hwnd + ID is the container control, idChildItem is the - * new child removed from the selection. - * - * (4) Send a SELECTIONWITHIN notification when the selected items within a - * control have changed substantially. Rather than propagate a large - * number of changes to reflect removal for some items, addition of - * others, just tell somebody who cares that a lot happened. It will - * be faster an easier for somebody watching to just turn around and - * query the container control what the new bunch of selected items - * are. - */ - - #define EVENT_OBJECT_STATECHANGE 32778 // hwnd + ID + idChild is item w/ state change - /* - * Examples of when to send an EVENT_OBJECT_STATECHANGE include - * * It is being enabled/disabled (USER does for windows) - * * It is being pressed/released (USER does for buttons) - * * It is being checked/unchecked (USER does for radio/check buttons) - */ - #define EVENT_OBJECT_LOCATIONCHANGE 32779 // hwnd + ID + idChild is moved/sized item - - /* - * Note: - * A LOCATIONCHANGE is not sent for every child object when the parent - * changes shape/moves. Send one notification for the topmost object - * that is changing. For example, if the user resizes a top level window, - * USER will generate a LOCATIONCHANGE for it, but not for the menu bar, - * title bar, scrollbars, etc. that are also changing shape/moving. - * - * In other words, it only generates LOCATIONCHANGE notifications for - * real windows that are moving/sizing. It will not generate a LOCATIONCHANGE - * for every non-floating child window when the parent moves (the children are - * logically moving also on screen, but not relative to the parent). - * - * Now, if the app itself resizes child windows as a result of being - * sized, USER will generate LOCATIONCHANGEs for those dudes also because - * it doesn't know better. - * - * Note also that USER will generate LOCATIONCHANGE notifications for two - * non-window sys objects: - * (1) System caret - * (2) Cursor - */ - - #define EVENT_OBJECT_NAMECHANGE 32780 // hwnd + ID + idChild is item w/ name change - #define EVENT_OBJECT_DESCRIPTIONCHANGE 32781 // hwnd + ID + idChild is item w/ desc change - #define EVENT_OBJECT_VALUECHANGE 32782 // hwnd + ID + idChild is item w/ value change - #define EVENT_OBJECT_PARENTCHANGE 32783 // hwnd + ID + idChild is item w/ new parent - #define EVENT_OBJECT_HELPCHANGE 32784 // hwnd + ID + idChild is item w/ help change - #define EVENT_OBJECT_DEFACTIONCHANGE 32785 // hwnd + ID + idChild is item w/ def action change - #define EVENT_OBJECT_ACCELERATORCHANGE 32786 // hwnd + ID + idChild is item w/ keybd accel change - - /* - * Child IDs - */ - - /* - * System Sounds (idChild of system SOUND notification) - */ - #define SOUND_SYSTEM_STARTUP 1 - #define SOUND_SYSTEM_SHUTDOWN 2 - #define SOUND_SYSTEM_BEEP 3 - #define SOUND_SYSTEM_ERROR 4 - #define SOUND_SYSTEM_QUESTION 5 - #define SOUND_SYSTEM_WARNING 6 - #define SOUND_SYSTEM_INFORMATION 7 - #define SOUND_SYSTEM_MAXIMIZE 8 - #define SOUND_SYSTEM_MINIMIZE 9 - #define SOUND_SYSTEM_RESTOREUP 10 - #define SOUND_SYSTEM_RESTOREDOWN 11 - #define SOUND_SYSTEM_APPSTART 12 - #define SOUND_SYSTEM_FAULT 13 - #define SOUND_SYSTEM_APPEND 14 - #define SOUND_SYSTEM_MENUCOMMAND 15 - #define SOUND_SYSTEM_MENUPOPUP 16 - #define CSOUND_SYSTEM 16 - - /* - * System Alerts (indexChild of system ALERT notification) - */ - #define ALERT_SYSTEM_INFORMATIONAL 1 // MB_INFORMATION - #define ALERT_SYSTEM_WARNING 2 // MB_WARNING - #define ALERT_SYSTEM_ERROR 3 // MB_ERROR - #define ALERT_SYSTEM_QUERY 4 // MB_QUESTION - #define ALERT_SYSTEM_CRITICAL 5 // HardSysErrBox - #define CALERT_SYSTEM 6 - - - #define GUI_CARETBLINKING 1 - #define GUI_INMOVESIZE 2 - #define GUI_INMENUMODE 4 - #define GUI_SYSTEMMENUMODE 8 - #define GUI_POPUPMENUMODE 16 - - - //#ifdef UNICODE - //#define GetWindowModuleFileName GetWindowModuleFileNameW - //#else - //#define GetWindowModuleFileName GetWindowModuleFileNameA - //#endif // !UNICODE - - #ifndef NO_STATE_FLAGS - #define STATE_SYSTEM_UNAVAILABLE 1 // Disabled - #define STATE_SYSTEM_SELECTED 2 - #define STATE_SYSTEM_FOCUSED 4 - #define STATE_SYSTEM_PRESSED 8 - #define STATE_SYSTEM_CHECKED 16 - #define STATE_SYSTEM_MIXED 32 // 3-state checkbox or toolbar button - #define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED - #define STATE_SYSTEM_READONLY 64 - #define STATE_SYSTEM_HOTTRACKED 128 - #define STATE_SYSTEM_DEFAULT 256 - #define STATE_SYSTEM_EXPANDED 512 - #define STATE_SYSTEM_COLLAPSED 1024 - #define STATE_SYSTEM_BUSY 2048 - #define STATE_SYSTEM_FLOATING 4096 // Children "owned" not "contained" by parent - #define STATE_SYSTEM_MARQUEED 8192 - #define STATE_SYSTEM_ANIMATED 16384 - #define STATE_SYSTEM_INVISIBLE 32768 - #define STATE_SYSTEM_OFFSCREEN 65536 - #define STATE_SYSTEM_SIZEABLE 131072 - #define STATE_SYSTEM_MOVEABLE 262144 - #define STATE_SYSTEM_SELFVOICING 524288 - #define STATE_SYSTEM_FOCUSABLE 1048576 - #define STATE_SYSTEM_SELECTABLE 2097152 - #define STATE_SYSTEM_LINKED 4194304 - #define STATE_SYSTEM_TRAVERSED 8388608 - #define STATE_SYSTEM_MULTISELECTABLE 16777216 // Supports multiple selection - #define STATE_SYSTEM_EXTSELECTABLE 33554432 // Supports extended selection - #define STATE_SYSTEM_ALERT_LOW 67108864 // This information is of low priority - #define STATE_SYSTEM_ALERT_MEDIUM 134217728 // This information is of medium priority - #define STATE_SYSTEM_ALERT_HIGH 268435456 // This information is of high priority - #define STATE_SYSTEM_PROTECTED 536870912 // access to this is restricted - #define STATE_SYSTEM_VALID 1073741823 - #endif - - #define CCHILDREN_TITLEBAR 5 - #define CCHILDREN_SCROLLBAR 5 - - - - /* version */ - #define VER_PLATFORM_WIN32S 0 - #define VER_PLATFORM_WIN32_WINDOWS 1 - #define VER_PLATFORM_WIN32_NT 2 - - #define VER_SERVER_NT 0x80000000 - #define VER_WORKSTATION_NT 0x40000000 - - #define VER_NT_WORKSTATION 0x00000001 - #define VER_NT_DOMAIN_CONTROLLER 0x00000002 - #define VER_NT_SERVER 0x00000003 - - #define VER_SUITE_SMALLBUSINESS 0x00000001 - #define VER_SUITE_ENTERPRISE 0x00000002 - #define VER_SUITE_BACKOFFICE 0x00000004 - #define VER_SUITE_COMMUNICATIONS 0x00000008 - #define VER_SUITE_TERMINAL 0x00000010 - #define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020 - #define VER_SUITE_EMBEDDEDNT 0x00000040 - #define VER_SUITE_DATACENTER 0x00000080 - #define VER_SUITE_SINGLEUSERTS 0x00000100 - #define VER_SUITE_PERSONAL 0x00000200 - #define VER_SUITE_BLADE 0x00000400 - - - /* - * Information about the global cursor. - */ - - - #define CURSOR_SHOWING 1 - - - /* - * Window information snapshot - */ - - - #define WS_ACTIVECAPTION 1 - - - /* - * Titlebar information. - */ - - - /* - * Menubar information - */ - - - // rect of bar, popup, item - // real menu handle of bar, popup - // hwnd of item submenu if one - // bar, popup has the focus - // item has the focus - - - /* - * Scrollbar information - */ - - - /* - * Combobox information - */ - - - /* - * The "real" ancestor window - */ - #define GA_PARENT 1 - #define GA_ROOT 2 - #define GA_ROOTOWNER 3 - - - /* - * This gets the REAL child window at the point. If it is in the dead - * space of a group box, it will try a sibling behind it. But static - * fields will get returned. In other words, it is kind of a cross between - * ChildWindowFromPointEx and WindowFromPoint. - */ - - - /* - * This gets the name of the window TYPE, not class. This allows us to - * recognize ThunderButton32 et al. - */ - - - /* - * This gets the name of the window TYPE, not class. This allows us to - * recognize ThunderButton32 et al. - */ - - - //#ifdef UNICODE - //#define RealGetWindowClass RealGetWindowClassW - //#else - //#define RealGetWindowClass RealGetWindowClassA - //#endif // !UNICODE - - /* - * Alt-Tab Switch window information. - */ - - - //#ifdef UNICODE - //#define GetAltTabInfo GetAltTabInfoW - //#else - //#define GetAltTabInfo GetAltTabInfoA - //#endif // !UNICODE - - /* - * Listbox information. - * Returns the number of items per row. - */ - - #endif // NOWINABLE - //#endif // WINVER >= 0x0500 - - - //#if(_WIN32_WINNT >= 1280) - // - // - //#endif // _WIN32_WINNT >= 0x0500 - // - //#if(_WIN32_WINNT >= 1280) - // - // - //#endif // _WIN32_WINNT >= 0x0500 - // - // - //#ifdef __cplusplus - // - //#endif // __cplusplus - - //P_O_Pop -#endif // !_WINUSER_ diff --git a/harbour-1.0.0RC1/contrib/hbziparch/zip.c b/harbour-1.0.0RC1/contrib/hbziparch/zip.c index 3fb966e027..ff460e185c 100644 --- a/harbour-1.0.0RC1/contrib/hbziparch/zip.c +++ b/harbour-1.0.0RC1/contrib/hbziparch/zip.c @@ -85,13 +85,11 @@ extern void SetFileAttributes( char * szEntry, ULONG ulAttr ); static void ResetAttribs( void ) { ULONG ulAtt, ulZipLen = hb_arrayLen(FileToZip); - char *szFile; - int iAttr; for( ulAtt = 0; ulAtt < ulZipLen; ulAtt ++ ) { - szFile = hb_arrayGetC( FileToZip, ulAtt + 1 ); - iAttr = hb_arrayGetNI( FileAttribs, ulAtt + 1 ); + char *szFile = hb_arrayGetC( FileToZip, ulAtt + 1 ); + int iAttr = hb_arrayGetNI( FileAttribs, ulAtt + 1 ); SetFileAttributes( szFile, iAttr ); hb_xfree( szFile ); } @@ -121,14 +119,14 @@ static void UnzipCreateArray( char *szZipFileName, char *szSkleton, int uiOption bOkAdd = hb_strMatchFile( (const char *) szEntry, (const char *) sRegEx ); } - if ( !bOkAdd ) + if ( !bOkAdd ) { PHB_FNAME pFileName = hb_fsFNameSplit( szEntry ); if( pFileName->szName ) { char *szFile = (char*) hb_xgrab( _POSIX_PATH_MAX + 1 ); - pFileName->szPath = ""; + pFileName->szPath = (char*) ""; hb_fsFNameMerge( szFile, pFileName ); bOkAdd = ( hb_stricmp(szSkleton,szFile) ==0 ? 1 : 0 ); hb_xfree(szFile); @@ -138,7 +136,7 @@ static void UnzipCreateArray( char *szZipFileName, char *szSkleton, int uiOption } } - hb_xfree( pFileName ); + hb_xfree( pFileName ); } @@ -158,12 +156,8 @@ static void UnzipCreateArray( char *szZipFileName, char *szSkleton, int uiOption } } - - hb_xfree( szEntry ); } - - } static BOOL ZipTestExclude ( char *szEntry ) @@ -191,9 +185,7 @@ static void ZipCreateExclude( PHB_ITEM pExclude ) { PHB_ITEM ExTmp; - ExcludeFile= hb_itemNew(NULL); - - hb_arrayNew( ExcludeFile, 0 ); + ExcludeFile = hb_itemArrayNew(0); if( pExclude == NULL ) { @@ -215,7 +207,7 @@ static void ZipCreateExclude( PHB_ITEM pExclude ) int ui; WildFile= hb_itemNew(NULL); - + hb_fsDirectory( WildFile, hb_itemGetCPtr( pExclude ), NULL, 0, TRUE); uiLen = hb_arrayLen(WildFile); @@ -227,8 +219,8 @@ static void ZipCreateExclude( PHB_ITEM pExclude ) if( szEntry ) { - ExTmp = hb_itemNew( NULL ); - hb_arrayAddForward( ExcludeFile, hb_itemPutC( ExTmp, hb_strupr( szEntry ) ) ); + ExTmp = hb_itemPutC( NULL, hb_strupr( szEntry ) ); + hb_arrayAddForward( ExcludeFile, ExTmp ); hb_xfree( szEntry ); hb_itemRelease( ExTmp ); } @@ -238,8 +230,8 @@ static void ZipCreateExclude( PHB_ITEM pExclude ) } else { - ExTmp = hb_itemNew( NULL ); - hb_arrayAddForward( ExcludeFile, hb_itemPutC( ExTmp, hb_itemGetCPtr( pExclude ) ) ); + ExTmp = hb_itemPutC( NULL, hb_itemGetCPtr( pExclude ) ); + hb_arrayAddForward( ExcludeFile, ExTmp ); hb_itemRelease( ExTmp ) ; } } @@ -297,37 +289,28 @@ static void ZipCreateExclude( PHB_ITEM pExclude ) } } -static void ZipCreateArray( PHB_ITEM pParam, BYTE *pCurDir ) +static void ZipCreateArray( PHB_ITEM pParam, BYTE *pCurDir, BOOL bFullPath ) /* bFullPath by JGS */ { - PHB_ITEM pDirEntry; - PHB_ITEM Temp, TempArray, WildFile; + PHB_ITEM pDirEntry, Temp, TempArray; + PHB_ITEM WildFile = hb_itemNew( NULL ); int ul, ulLen, ulArr, ulLenArr; - WildFile= hb_itemNew(NULL); - //FileAttribs.type = HB_IT_NIL; - //FileToZip.type = HB_IT_NIL; - FileToZip = hb_itemNew(NULL); - TempArray= hb_itemNew(NULL); - FileAttribs = hb_itemNew(NULL); - hb_arrayNew( FileAttribs, 0 ); - hb_arrayNew( TempArray, 0 ); + FileToZip = hb_itemArrayNew(0); + FileAttribs = hb_itemArrayNew(0); if( pParam->type == HB_IT_STRING ) { - Temp= hb_itemNew(NULL); - hb_arrayAddForward( TempArray, hb_itemPutC( Temp, hb_itemGetCPtr( pParam ) ) ); + TempArray = hb_itemArrayNew( 0 ); + Temp = hb_itemPutC( NULL, hb_itemGetCPtr( pParam ) ); + hb_arrayAddForward( TempArray, Temp ); hb_itemRelease( Temp ); } else { - PHB_ITEM pClone = hb_arrayClone( pParam ); - hb_itemCopy( TempArray, pClone ); - hb_itemRelease( pClone ); + TempArray = hb_arrayClone( pParam ); } - ulLenArr = hb_arrayLen(TempArray); - - hb_arrayNew( FileToZip, 0 ); + ulLenArr = hb_arrayLen( TempArray ); for ( ulArr = 0; ulArr < ulLenArr ; ulArr ++ ) { @@ -337,17 +320,24 @@ static void ZipCreateArray( PHB_ITEM pParam, BYTE *pCurDir ) { if ( strchr( szArrEntry, '*' ) != NULL || strchr( szArrEntry, '?' ) != NULL ) { -// if don't gave path add current dir ! + #if defined(HB_WIN32_IO) + /* by JGS if don't gave path or there is a relative path add current dir ! */ + PHB_FNAME fDirSpec = hb_fsFNameSplit( (char*) szArrEntry ); + + if ( ( pCurDir ) && ( fDirSpec != NULL ) && + ! ( fDirSpec->szDrive ) && ( fDirSpec->szPath ) && ( fDirSpec->szPath[0] != OS_PATH_DELIMITER ) ) + #else + /* if don't gave path add current dir ! */ if ( ( pCurDir ) && ( ! strchr( szArrEntry, OS_PATH_DELIMITER ) ) ) + #endif { char * szTemp = szArrEntry ; - szArrEntry = ( char * ) hb_xrealloc( szArrEntry, _POSIX_PATH_MAX ); - hb_xstrcpy( szArrEntry, (char *) pCurDir, - OS_PATH_DELIMITER_STRING, szTemp, NULL ); + szArrEntry = hb_xstrcpy( NULL, (char *) pCurDir, OS_PATH_DELIMITER_STRING, szTemp, NULL ); + hb_xfree( szTemp ); } - hb_fsDirectory(WildFile,szArrEntry,NULL,0,TRUE); - ulLen = hb_arrayLen(WildFile); + hb_fsDirectory(WildFile,szArrEntry,NULL,0,bFullPath ); /* bFullPath by JGS */ + ulLen = hb_arrayLen(WildFile); for ( ul = 0; ul < ulLen ; ul ++ ) { @@ -355,6 +345,17 @@ static void ZipCreateArray( PHB_ITEM pParam, BYTE *pCurDir ) pDirEntry = hb_arrayGetItemPtr( WildFile, ul + 1 ); szEntry = hb_arrayGetC( pDirEntry, 1 ); + /* by JGS */ + #if defined(HB_WIN32_IO) + if (! ( bFullPath ) && ( fDirSpec != NULL ) && ( fDirSpec->szPath ) ) + { + char * szFile = szEntry; + szEntry = hb_xstrcpy( NULL, fDirSpec->szPath, szFile, NULL ); + hb_xfree( szFile ); + } + #endif + /* by JGS */ + if ( ZipTestExclude ( szEntry ) ) { Temp= hb_itemNew(NULL); @@ -376,17 +377,26 @@ static void ZipCreateArray( PHB_ITEM pParam, BYTE *pCurDir ) } } - hb_itemRelease( WildFile ); + /* by JGS */ + #if defined(HB_WIN32_IO) + if ( fDirSpec ) + { + hb_xfree( fDirSpec ); + } + #endif + + hb_itemClear( WildFile ); + /* by JGS */ } else { - Temp = hb_itemNew( NULL); - hb_arrayAddForward( FileToZip, hb_itemPutC( Temp, szArrEntry ) ); + Temp = hb_itemPutC( NULL, szArrEntry ) ; + hb_arrayAddForward( FileToZip, Temp ); hb_itemRelease( Temp ) ; - Temp = hb_itemNew( NULL); - hb_arrayAddForward( FileAttribs, hb_itemPutNI( Temp, GetFileAttributes( szArrEntry ) ) ); + Temp = hb_itemPutNI( NULL, GetFileAttributes( szArrEntry ) ); + hb_arrayAddForward( FileAttribs, Temp ); hb_itemRelease( Temp ) ; - + #if defined(HB_OS_LINUX) SetFileAttributes( szArrEntry, 0777 ); #else @@ -398,6 +408,7 @@ static void ZipCreateArray( PHB_ITEM pParam, BYTE *pCurDir ) } } + hb_itemRelease( WildFile ); hb_itemRelease( TempArray ); } @@ -412,12 +423,20 @@ HB_FUNC( HB_ZIPFILE ) if ( pParam ) { char szFile[ _POSIX_PATH_MAX ]; - PHB_ITEM pProgress = hb_param( 9, HB_IT_BLOCK ); PHB_ITEM pExclude = hb_param( 10, HB_IT_STRING | HB_IT_ARRAY ); - HB_ITEM iProgress; BYTE *pCurDir; char *szZipFileName; + /* by JGS */ + BOOL bFullPath = TRUE; + #if defined(HB_WIN32_IO) + if ( ISLOG( 11 ) ) + { + bFullPath = hb_parl( 11 ); + } + #endif + /* by JGS */ + if ( ! ISNIL( 4 ) && ! ISBLOCK( 4 ) ) { hb_errRT_BASE_SubstR( EG_ARG, 2017, "Invalid Codeblock ","hb_zipfile", @@ -428,24 +447,15 @@ HB_FUNC( HB_ZIPFILE ) return; } - iProgress.type = HB_IT_NIL; - - - pCurDir = ( BYTE * )hb_xstrcpy( NULL, OS_PATH_DELIMITER_STRING, ( const char * )hb_fsCurDir( 0 ) , NULL ); + pCurDir = ( BYTE * ) hb_xstrcpy( NULL, OS_PATH_DELIMITER_STRING, ( const char * )hb_fsCurDir( 0 ) , NULL ); + /* Always needs to create an array */ ZipCreateExclude( pExclude ); - ZipCreateArray( pParam, pCurDir ); + ZipCreateArray( pParam, pCurDir, bFullPath ); /* bFullPath by JGS */ hb_fsChDir( pCurDir ) ; - - if( pProgress ) - { - hb_itemCopy( &iProgress, pProgress ); - } -// add current dir to file name if not specified - if ( ! strchr( hb_parc( 1 ), OS_PATH_DELIMITER ) ) { strcpy( szFile, (char *) pCurDir ); @@ -456,11 +466,13 @@ HB_FUNC( HB_ZIPFILE ) { strcpy( szFile, hb_parc( 1 ) ); } + hb_xfree( pCurDir) ; szZipFileName = hb___CheckFile( szFile ); if ( hb_arrayLen(FileToZip) > 0 ) { + PHB_ITEM pProgress = ISBLOCK( 9 ) ? hb_itemNew( hb_param( 9, HB_IT_BLOCK ) ) : hb_itemNew( NULL ); bRet = hb_CompressFile( szZipFileName, FileToZip, ISNUM( 3 ) ? hb_parni( 3 ) : ( -1 ), @@ -469,12 +481,11 @@ HB_FUNC( HB_ZIPFILE ) ISCHAR( 6 ) ? hb_parc( 6 ) : NULL, ISLOG( 7 ) ? hb_parl( 7 ) : 0, ISLOG( 8 ) ? hb_parl( 8 ) : 0, - &iProgress ); - + pProgress ); ResetAttribs(); + hb_itemRelease( pProgress ); } - hb_itemClear( &iProgress ); hb_xfree( szZipFileName ); hb_itemRelease(ExcludeFile); } @@ -539,28 +550,30 @@ HB_FUNC( HB_ZIPFILEBYTDSPAN ) if ( pParam ) { char szFile[ _POSIX_PATH_MAX ]; - PHB_ITEM pProgress = hb_param( 10, HB_IT_BLOCK ); PHB_ITEM pExclude = hb_param( 11, HB_IT_STRING | HB_IT_ARRAY ); - HB_ITEM iProgress; char *szZipFileName; BYTE *pCurDir; - iProgress.type = HB_IT_NIL; + /* by JGS */ + BOOL bFullPath = TRUE; + #if defined(HB_WIN32_IO) + if ( ISLOG( 12 ) ) + { + bFullPath = hb_parl( 12 ); + } + #endif + /* by JGS */ + pCurDir = ( BYTE * )hb_xstrcpy( NULL, OS_PATH_DELIMITER_STRING, ( const char * )hb_fsCurDir( 0 ) , NULL ); ZipCreateExclude( pExclude ); - ZipCreateArray( pParam, pCurDir ); + ZipCreateArray( pParam, pCurDir, bFullPath ); /* bFullPath by JGS */ hb_fsChDir( pCurDir ); + /* by JGS, wait until adding the directory to the file name if not specified hb_xfree( pCurDir ); - - if( pProgress ) - { - hb_itemCopy( &iProgress, pProgress ); - } - -// add current dir to file name if not specified + */ if ( ! strchr( szFile, OS_PATH_DELIMITER ) ) { strcpy( szFile, (char *) pCurDir ); @@ -571,11 +584,12 @@ HB_FUNC( HB_ZIPFILEBYTDSPAN ) { strcpy( szFile, hb_parc( 1 ) ); } - + hb_xfree( pCurDir ) ; /* by JGS */ szZipFileName = hb___CheckFile( szFile ); if ( hb_arrayLen(FileToZip) > 0 ) { + PHB_ITEM pProgress = ISBLOCK( 10 ) ? hb_itemNew( hb_param( 10, HB_IT_BLOCK ) ) : hb_itemNew( NULL ); bRet = hb_CmpTdSpan( szZipFileName, FileToZip, ISNUM( 3 ) ? hb_parni( 3 ) : ( -1 ), @@ -585,12 +599,11 @@ HB_FUNC( HB_ZIPFILEBYTDSPAN ) ISNUM( 7 ) ? hb_parni( 7 ) : 0, ISLOG( 8 ) ? hb_parl( 8 ) : 0, ISLOG( 9 ) ? hb_parl( 9 ) : 0, - &iProgress ); - + pProgress ); ResetAttribs(); + hb_itemRelease( pProgress ); } - hb_itemClear( &iProgress ); hb_xfree( szZipFileName ); hb_itemRelease(ExcludeFile); } @@ -610,32 +623,48 @@ HB_FUNC( HB_ZIPFILEBYPKSPAN ) if ( pParam ) { char szFile[ _POSIX_PATH_MAX ]; - PHB_ITEM pProgress = hb_param( 9, HB_IT_BLOCK ); PHB_ITEM pExclude = hb_param( 10, HB_IT_STRING | HB_IT_ARRAY ); - HB_ITEM iProgress; char *szZipFileName; BYTE * pCurDir ; - iProgress.type = HB_IT_NIL; + /* by JGS */ + BOOL bFullPath = TRUE; + #if defined(HB_WIN32_IO) + if ( ISLOG( 11 ) ) + { + bFullPath = hb_parl( 11 ); + } + #endif + /* by JGS */ + pCurDir = ( BYTE * )hb_xstrcpy( NULL, OS_PATH_DELIMITER_STRING, ( const char * )hb_fsCurDir( 0 ) , NULL ); ZipCreateExclude( pExclude ); - ZipCreateArray( pParam, pCurDir ); + ZipCreateArray( pParam, pCurDir, bFullPath ); /* bFullPath by JGS */ hb_fsChDir( pCurDir ) ; + /* by JGS, wait until adding the directory to the file name if not specified hb_xfree( pCurDir ) ; - - if( pProgress ) - { - hb_itemCopy( &iProgress, pProgress ); - } - strcpy( szFile, hb_parc( 1 ) ); + */ + if ( ! strchr( szFile, OS_PATH_DELIMITER ) ) + { + strcpy( szFile, (char *) pCurDir ); + strcat( szFile, OS_PATH_DELIMITER_STRING) ; + strcat( szFile, hb_parc( 1 ) ) ; + } + else + { + strcpy( szFile, hb_parc( 1 ) ); + } + hb_xfree( pCurDir ); + /* by JGS */ szZipFileName = hb___CheckFile( szFile ); if ( hb_arrayLen(FileToZip) > 0 ) { + PHB_ITEM pProgress = ISBLOCK( 9 ) ? hb_itemNew( hb_param( 9, HB_IT_BLOCK ) ) : hb_itemNew( NULL ); bRet = hb_CmpPkSpan( szZipFileName, FileToZip, ISNUM( 3 ) ? hb_parni( 3 ) : ( -1 ), @@ -644,11 +673,11 @@ HB_FUNC( HB_ZIPFILEBYPKSPAN ) ISCHAR( 6 ) ? hb_parc( 6 ) : NULL, ISLOG( 7 ) ? hb_parl( 7 ) : 0, ISLOG( 8 ) ? hb_parl( 8 ) : 0, - &iProgress ); + pProgress ); ResetAttribs(); + hb_itemRelease( pProgress ); } - hb_itemClear( &iProgress ); hb_xfree( szZipFileName ); hb_itemRelease(ExcludeFile); } @@ -664,34 +693,21 @@ HB_FUNC( HB_UNZIPFILE ) if( ISCHAR( 1 ) && ( ISARRAY( 6 ) || ISCHAR( 6 ) ) ) { char szFile[ _POSIX_PATH_MAX ]; - PHB_ITEM pProgress = hb_param( 7, HB_IT_BLOCK ); PHB_ITEM pUnzip = hb_param( 6, HB_IT_ANY ); - HB_ITEM iProgress; -// PHB_ITEM Temp; char *szZipFileName; BYTE *pCurDir; - //Temp.type = HB_IT_NIL; - iProgress.type = HB_IT_NIL; - - pCurDir = ( BYTE * )hb_xstrcpy( NULL, OS_PATH_DELIMITER_STRING, ( const char * )hb_fsCurDir( 0 ) , NULL ); - if( pProgress ) - { - hb_itemCopy( &iProgress, pProgress ); - } - strcpy( szFile, hb_parc( 1 ) ); szZipFileName = hb___CheckFile( szFile ); - UnzipFiles= hb_itemNew( NULL); - hb_arrayNew( UnzipFiles, 0 ); + UnzipFiles = hb_itemArrayNew(0); - if( hb_TestForPKS( szZipFileName ) <=0 ) + if( hb_TestForPKS( szZipFileName ) <=0 ) { hb___GetFileNamesFromZip( szZipFileName, TRUE ); - + if( pUnzip ) { @@ -719,21 +735,22 @@ HB_FUNC( HB_UNZIPFILE ) else { //s.r. change "*.*" to "*" because file without extension were ignored - UnzipCreateArray( szZipFileName, "*", 1 ); + UnzipCreateArray( szZipFileName, (char*) "*", 1 ); } if ( hb_arrayLen(UnzipFiles) > 0 ) { + PHB_ITEM pProgress = ISBLOCK( 7 ) ? hb_itemNew( hb_param( 7 , HB_IT_BLOCK ) ) : hb_itemNew( NULL ); bRet = hb_UnzipSel( szZipFileName, hb_param( 2, HB_IT_BLOCK ), ISLOG( 3 ) ? hb_parl( 3 ) : 0, ISCHAR( 4 ) ? hb_parc( 4 ) : NULL, ISCHAR( 5 ) ? hb_parc( 5 ) : ".\\", UnzipFiles, - &iProgress ); + pProgress ); + hb_itemRelease( pProgress ); } - + hb_xfree( szZipFileName ); - hb_itemClear( &iProgress ); hb_itemRelease( UnzipFiles ); hb_fsChDir( pCurDir ) ; hb_xfree( pCurDir ) ; @@ -758,8 +775,7 @@ HB_FUNC( HB_ZIPDELETEFILES ) { PHB_ITEM pDelZip = hb_param( 2, HB_IT_STRING | HB_IT_ARRAY | HB_IT_NUMERIC ); - DelZip = hb_itemNew(NULL); - hb_arrayNew( DelZip, 0 ); + DelZip = hb_itemArrayNew(0); if ( pDelZip ) { @@ -815,7 +831,7 @@ HB_FUNC( HB_ZIPDELETEFILES ) { int iIndex = hb_itemGetNI( pDelZip ); PHB_ITEM Temp; - + if( iIndex > 0 && iIndex <= ulLen ) { @@ -886,20 +902,11 @@ HB_FUNC( HB_UNZIPFILEINDEX ) if ( pDelZip ) { char szFile[ _POSIX_PATH_MAX ]; - PHB_ITEM pProgress = hb_param( 7, HB_IT_BLOCK ); PHB_ITEM Temp,DelZip; - HB_ITEM iProgress ; char* szZipFileName; int ulLen; - iProgress.type = HB_IT_NIL; - DelZip = hb_itemNew( NULL); - hb_arrayNew( DelZip, 0 ); - - if( pProgress ) - { - hb_itemCopy( &iProgress, pProgress ); - } + DelZip = hb_itemArrayNew(0); strcpy( szFile, hb_parc( 1 ) ); szZipFileName = hb___CheckFile( szFile ); @@ -937,17 +944,18 @@ HB_FUNC( HB_UNZIPFILEINDEX ) if( hb_arrayLen(DelZip) > 0 ) { + PHB_ITEM pProgress = ISBLOCK( 7 ) ? hb_itemNew( hb_param( 7 , HB_IT_BLOCK ) ) : hb_itemNew( NULL ); bRet = hb_UnzipSelIndex( szZipFileName, hb_param( 2, HB_IT_BLOCK ), ISLOG( 3 ) ? hb_parl( 3 ) : 0, ISCHAR( 4 ) ? hb_parc( 4 ) : NULL, hb_parc( 5 ), DelZip, - &iProgress ); + pProgress ); + hb_itemRelease( pProgress ); } hb_itemRelease( DelZip ); - hb_itemClear( &iProgress ); hb_xfree( szZipFileName ); hb_itemClear( ZipArray ); hb_itemRelease( ZipArray ); @@ -984,23 +992,22 @@ HB_FUNC(SETZIPREADONLY) HB_FUNC(HB_UNZIPALLFILE) { - PHB_ITEM pProgress = hb_param( 7, HB_IT_BLOCK ); - HB_ITEM iProgress; - iProgress.type = HB_IT_NIL; - - if( pProgress ) - { - hb_itemCopy( &iProgress, pProgress ); - } - if ( ! ISCHAR(6) && ! ISARRAY(6) ) - { + { char szFile[_POSIX_PATH_MAX]; char *szZipFile; + PHB_ITEM pProgress = ISBLOCK( 7 ) ? hb_itemNew( hb_param( 7, HB_IT_BLOCK ) ) : hb_itemNew( NULL ); strcpy(szFile, hb_parc(1)); szZipFile = hb___CheckFile(szFile); - hb_retl(hb_UnzipAll(szZipFile, hb_param( 2, HB_IT_BLOCK),ISLOG(3) ? hb_parl(3) : 0 ,hb_parc(4),ISCHAR(5) ? hb_parc(5) : NULL,hb_param( 6, HB_IT_BLOCK),&iProgress)); + hb_retl( hb_UnzipAll( szZipFile, + hb_param( 2, HB_IT_BLOCK), + ISLOG(3) ? hb_parl(3) : 0, + hb_parc(4), + ISCHAR(5) ? hb_parc(5) : NULL, + hb_param( 6, HB_IT_BLOCK ), + pProgress ) ); hb_xfree( szZipFile ); + hb_itemRelease( pProgress ); } } diff --git a/harbour-1.0.0RC1/contrib/hbziparch/zipfile.cpp b/harbour-1.0.0RC1/contrib/hbziparch/zipfile.cpp index cf9dc841a4..3e76774798 100644 --- a/harbour-1.0.0RC1/contrib/hbziparch/zipfile.cpp +++ b/harbour-1.0.0RC1/contrib/hbziparch/zipfile.cpp @@ -84,10 +84,12 @@ bool CZipFile::Open(LPCTSTR lpszFileName, UINT openFlags, bool bThrow) m_hFile = ZipPlatform::OpenFile(lpszFileName, iNewFlags, openFlags & 0x1C); if (m_hFile == -1) + { if (bThrow) ThrowError(); else return false; + } m_szFileName = lpszFileName; return true; } diff --git a/harbour-1.0.0RC1/contrib/hbziparch/zipnew.cpp b/harbour-1.0.0RC1/contrib/hbziparch/zipnew.cpp index fe2efc4c74..d53bf4cddc 100644 --- a/harbour-1.0.0RC1/contrib/hbziparch/zipnew.cpp +++ b/harbour-1.0.0RC1/contrib/hbziparch/zipnew.cpp @@ -682,7 +682,7 @@ int hb_UnzipSel( char *szFile, PHB_ITEM pBlock, BOOL lWithPath, char *szPassWord catch( CZipException& e ) { HB_SYMBOL_UNUSED( e ); - + iReturn = false; szZip.CloseFile( NULL, true); /* szZip.CloseNewFile(true);*/ } @@ -874,7 +874,7 @@ int hb_UnzipSelIndex( char *szFile, PHB_ITEM pBlock, BOOL lWithPath, char *szPas catch( CZipException& e ) { HB_SYMBOL_UNUSED( e ); - + iReturn = false; szZip.CloseFile( NULL, true); } } @@ -1000,7 +1000,7 @@ DWORD GetCurrentFileSize( LPCTSTR szFile ) #endif -int hb_UnzipAll(char *szFile,PHB_ITEM pBlock,BOOL bWithPath,char *szPassWord,char *pbyBuffer,PHB_ITEM pDiskBlock,PHB_ITEM pProgress) +int hb_UnzipAll(char *szFile,PHB_ITEM pBlock, BOOL bWithPath,char *szPassWord,char *pbyBuffer,PHB_ITEM pDiskBlock,PHB_ITEM pProgress) { bool iReturn=true; uLong uiCount=0; diff --git a/harbour-1.0.0RC1/contrib/hbziparch/zipplatform.cpp b/harbour-1.0.0RC1/contrib/hbziparch/zipplatform.cpp index d934506446..d67b3266e7 100644 --- a/harbour-1.0.0RC1/contrib/hbziparch/zipplatform.cpp +++ b/harbour-1.0.0RC1/contrib/hbziparch/zipplatform.cpp @@ -220,20 +220,24 @@ ZIPINLINE void ZipPlatform::AnsiOem(CZipAutoBuffer& buffer, bool bAnsiToOem) ZIPINLINE bool ZipPlatform::RemoveFile(LPCTSTR lpszFileName, bool bThrow) { if (!::DeleteFile((LPTSTR)lpszFileName)) + { if (bThrow) CZipException::Throw(CZipException::notRemoved, lpszFileName); else return false; + } return true; } ZIPINLINE bool ZipPlatform::RenameFile( LPCTSTR lpszOldName, LPCTSTR lpszNewName, bool bThrow) { if (!::MoveFile((LPTSTR)lpszOldName, (LPTSTR)lpszNewName)) + { if (bThrow) CZipException::Throw(CZipException::notRenamed, lpszOldName); else return false; + } return true; } diff --git a/harbour-1.0.0RC1/contrib/hbziparch/zipstorage.cpp b/harbour-1.0.0RC1/contrib/hbziparch/zipstorage.cpp index 8cc094b613..a26036b6bc 100644 --- a/harbour-1.0.0RC1/contrib/hbziparch/zipstorage.cpp +++ b/harbour-1.0.0RC1/contrib/hbziparch/zipstorage.cpp @@ -52,10 +52,12 @@ DWORD CZipStorage::Read(void *pBuf, DWORD iSize, bool bAtOnce) { iRead = m_pFile->Read(pBuf, iSize); if (!iRead) + { if (IsSpanMode()) ChangeDisk(m_iCurrentDisk + 1); else ThrowError(CZipException::badZipFile); + } } if (iRead == iSize) diff --git a/harbour-1.0.0RC1/doc/whatsnew.txt b/harbour-1.0.0RC1/doc/whatsnew.txt index eb73f730e3..278bdf6a47 100644 --- a/harbour-1.0.0RC1/doc/whatsnew.txt +++ b/harbour-1.0.0RC1/doc/whatsnew.txt @@ -3,7 +3,7 @@ */ -Version 0.9.9 RC1 (2008-06-04) tag: RC1 +Version 1.0.0 RC1 (2008-06-04) tag: RC1 General ============================= @@ -286,12 +286,14 @@ Contrib - added automatic ACE version detection during building ADSRDD - added many new Ads*() functions wrappers and cleaned code for possible GPFs when wrong parameters were passed to some functions -- added HBHPDF - interface for Haru Free PDF Library.- added HBVPDF - Viktor K's PDF Library + Pritpal Bedi's OOP extension. +- added HBHPDF - interface for Haru Free PDF Library. +- added HBVPDF - Viktor K's PDF Library + Pritpal Bedi's OOP extension. - enhanced and fixed HBW32 library - OLE and printing Utilities ============================= -- added HBDOT utility program. It's a "Dot Prompt" Console for the Harbour Language +- added HBDOT utility program. It's a "Dot Prompt" Console for the + Harbour Language Syntax: hbdot [ []] It should look and work in similar way to pp/xBaseScript by Ron Pinkas but unlike xBaseScript is does not have preprocessor diff --git a/harbour-1.0.0RC1/harbour-ce-spec b/harbour-1.0.0RC1/harbour-ce-spec index 409529a361..4ca2bf0c18 100644 --- a/harbour-1.0.0RC1/harbour-ce-spec +++ b/harbour-1.0.0RC1/harbour-ce-spec @@ -25,8 +25,8 @@ ###################################################################### %define name harbour-ce -%define version 0.0.0 -%define releasen 0 +%define version 1.0.0 +%define releasen RC1 %define hb_pref hbce %define hb_ccpath /opt/mingw32ce/bin %define hb_ccpref arm-wince-mingw32ce- @@ -97,7 +97,7 @@ export HB_ARCHITECTURE=w32 export HB_COMPILER=cemgw mkdir -p source/pp/${HB_ARCHITECTURE}/${HB_COMPILER} -ln -s ../../linux/gcc/hbppgen source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}/hbppgen.exe +ln -s ../../linux/gcc/hbpp source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}/hbpp.exe mkdir -p source/main/${HB_ARCHITECTURE}/${HB_COMPILER} ln -s ../../linux/gcc/harbour source/main/${HB_ARCHITECTURE}/${HB_COMPILER}/harbour.exe @@ -172,7 +172,7 @@ make -r -i install ${CCPREFIX}strip --strip-debug $HB_LIB_INSTALL/* # remove unused files -rm -fR ${HB_BIN_INSTALL}/{harbour,hbdoc,hbdot,hbmake,hbpp,hbrun,hbtest,hbverfix,hbpptest}.exe +rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbdoc,hbdot,hbmake,hbrun,hbtest,hbverfix,hbpptest}.exe rm -fR $HB_INC_INSTALL # Create a README file for people using this RPM. diff --git a/harbour-1.0.0RC1/harbour-w32-spec b/harbour-1.0.0RC1/harbour-w32-spec index 75742ccc88..551bb121f8 100644 --- a/harbour-1.0.0RC1/harbour-w32-spec +++ b/harbour-1.0.0RC1/harbour-w32-spec @@ -25,8 +25,8 @@ ###################################################################### %define name harbour-w32 -%define version 0.0.0 -%define releasen 0 +%define version 1.0.0 +%define releasen RC1 %define hb_pref hbw %define hb_ccpath /opt/xmingw/bin %define hb_ccpref i386-mingw32- @@ -97,7 +97,7 @@ export HB_ARCHITECTURE=w32 export HB_COMPILER=mingw32 mkdir -p source/pp/${HB_ARCHITECTURE}/${HB_COMPILER} -ln -s ../../linux/gcc/hbppgen source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}/hbppgen.exe +ln -s ../../linux/gcc/hbpp source/pp/${HB_ARCHITECTURE}/${HB_COMPILER}/hbpp.exe mkdir -p source/main/${HB_ARCHITECTURE}/${HB_COMPILER} ln -s ../../linux/gcc/harbour source/main/${HB_ARCHITECTURE}/${HB_COMPILER}/harbour.exe @@ -172,7 +172,7 @@ make -r -i install ${CCPREFIX}strip --strip-debug $HB_LIB_INSTALL/* # remove unused files -rm -fR ${HB_BIN_INSTALL}/{harbour,hbdoc,hbdot,hbmake,hbpp,hbrun,hbtest,hbverfix,hbpptest}.exe +rm -fR ${HB_BIN_INSTALL}/{harbour,hbpp,hbdoc,hbdot,hbmake,hbrun,hbtest,hbverfix,hbpptest}.exe rm -fR $HB_INC_INSTALL # Create a README file for people using this RPM. diff --git a/harbour-1.0.0RC1/harbour.spec b/harbour-1.0.0RC1/harbour.spec index a56f49d8d6..3d622fc482 100644 --- a/harbour-1.0.0RC1/harbour.spec +++ b/harbour-1.0.0RC1/harbour.spec @@ -60,8 +60,8 @@ %define name harbour %define dname Harbour -%define version 0.9.9-RC1 -%define releasen 0 +%define version 1.0.0 +%define releasen RC1 %define hb_pref hb %define hb_arch export HB_ARCHITECTURE=linux %define hb_cc export HB_COMPILER=gcc @@ -328,7 +328,7 @@ then export L_USR="${CC_L_USR} -L${HB_LIB_INSTALL} -l%{name} -lncurses %{!?_without_gtsln:-lslang} %{!?_without_gpm:-lgpm} %{!?_without_x11:-L/usr/X11R6/%{_lib} -lX11} %{?_with_pgsql4:/usr/lib/libpq.so.4} %{?_with_pgsql:-lpq} %{?_with_gd:-lgd}" export PRG_USR="\"-D_DEFAULT_INC_DIR='${_DEFAULT_INC_DIR}'\" ${PRG_USR}" - for utl in hbmake hbrun hbdot hbpp hbdoc + for utl in hbmake hbrun hbdot hbdoc do pushd utils/${utl} rm -fR "./${HB_ARCHITECTURE}/${HB_COMPILER}" @@ -492,6 +492,7 @@ rm -rf $RPM_BUILD_ROOT %verify(not md5 mtime) %config /etc/harbour.cfg %verify(not md5 mtime) %config /etc/harbour/hb-charmap.def %{_bindir}/harbour +%{_bindir}/hbpp %{_bindir}/hb-mkslib %{_bindir}/%{hb_pref}-build %{_bindir}/%{hb_pref}cc @@ -501,7 +502,6 @@ rm -rf $RPM_BUILD_ROOT #%{_bindir}/hbtest %{_bindir}/hbrun %{_bindir}/hbdot -%{_bindir}/hbpp %{_bindir}/hbmake %{_mandir}/man1/*.1* %dir %{_includedir}/%{name} diff --git a/harbour-1.0.0RC1/include/hbgtinfo.ch b/harbour-1.0.0RC1/include/hbgtinfo.ch index e64d1a7ffb..ae2dea7fc3 100644 --- a/harbour-1.0.0RC1/include/hbgtinfo.ch +++ b/harbour-1.0.0RC1/include/hbgtinfo.ch @@ -123,7 +123,7 @@ #define HB_GTI_FONTW_NORMAL 2 #define HB_GTI_FONTW_BOLD 3 -/* Font sizes */ +/* Font qualities */ #define HB_GTI_FONTQ_DRAFT 1 #define HB_GTI_FONTQ_NORMAL 2 #define HB_GTI_FONTQ_HIGH 3 diff --git a/harbour-1.0.0RC1/include/hbver.h b/harbour-1.0.0RC1/include/hbver.h index 691fb18e27..c4203e6957 100644 --- a/harbour-1.0.0RC1/include/hbver.h +++ b/harbour-1.0.0RC1/include/hbver.h @@ -55,11 +55,12 @@ /* NOTE: One of these next three fields can be incremented by the hbverfix program */ -#define HB_VER_MAJOR 0 /* Major version number */ -#define HB_VER_MINOR 9 /* Minor version number */ -#define HB_VER_REVISION 9 /* Revision number */ +#define HB_VER_MAJOR 1 /* Major version number */ +#define HB_VER_MINOR 0 /* Minor version number */ +#define HB_VER_REVISION 0 /* Revision number */ #define HB_VER_STATUS "RC1" /* Build status */ -#define HB_VERSION 0x000909 /* Three bytes: Major + Minor + Revision */ +#define HB_VERSION 0x010000 /* Three bytes: Major + Minor + +Revision */ /* #include "hb_verbld.h" */