winuser.h 153 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596
  1. /*
  2. * Copyright (C) the Wine project
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. */
  18. #ifndef _WINUSER_
  19. #define _WINUSER_
  20. #ifndef RC_INVOKED
  21. #include <stdarg.h>
  22. #endif
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Define a bunch of callback types */
  27. #if defined(STRICT)
  28. typedef INT_PTR (CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
  29. typedef BOOL (CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
  30. typedef INT (CALLBACK *EDITWORDBREAKPROCA)(LPSTR,INT,INT,INT);
  31. typedef INT (CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,INT,INT,INT);
  32. typedef BOOL (CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,INT);
  33. typedef LRESULT (CALLBACK *HOOKPROC)(INT,WPARAM,LPARAM);
  34. typedef BOOL (CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
  35. typedef BOOL (CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
  36. typedef BOOL (CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
  37. typedef BOOL (CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
  38. typedef BOOL (CALLBACK *PROPENUMPROCEXA)(HWND,LPCSTR,HANDLE,ULONG_PTR);
  39. typedef BOOL (CALLBACK *PROPENUMPROCEXW)(HWND,LPCWSTR,HANDLE,ULONG_PTR);
  40. typedef VOID (CALLBACK *SENDASYNCPROC)(HWND,UINT,ULONG_PTR,LRESULT);
  41. typedef VOID (CALLBACK *TIMERPROC)(HWND,UINT,UINT_PTR,DWORD);
  42. typedef VOID (CALLBACK *WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,
  43. DWORD,DWORD);
  44. typedef BOOL (CALLBACK *WNDENUMPROC)(HWND,LPARAM);
  45. #else
  46. typedef FARPROC DLGPROC;
  47. typedef FARPROC DRAWSTATEPROC;
  48. typedef FARPROC EDITWORDBREAKPROCA;
  49. typedef FARPROC EDITWORDBREAKPROCW;
  50. typedef FARPROC GRAYSTRINGPROC;
  51. typedef FARPROC HOOKPROC;
  52. typedef FARPROC NAMEENUMPROCA;
  53. typedef FARPROC NAMEENUMPROCW;
  54. typedef FARPROC PROPENUMPROCA;
  55. typedef FARPROC PROPENUMPROCW;
  56. typedef FARPROC PROPENUMPROCEXA;
  57. typedef FARPROC PROPENUMPROCEXW;
  58. typedef FARPROC SENDASYNCPROC;
  59. typedef FARPROC TIMERPROC;
  60. typedef FARPROC WINEVENTPROC;
  61. typedef FARPROC WNDENUMPROC;
  62. #endif /* STRICT */
  63. typedef NAMEENUMPROCA WINSTAENUMPROCA;
  64. typedef NAMEENUMPROCA DESKTOPENUMPROCA;
  65. typedef NAMEENUMPROCW WINSTAENUMPROCW;
  66. typedef NAMEENUMPROCW DESKTOPENUMPROCW;
  67. typedef LRESULT (CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
  68. DECL_WINELIB_TYPE_AW(DESKTOPENUMPROC)
  69. DECL_WINELIB_TYPE_AW(EDITWORDBREAKPROC)
  70. DECL_WINELIB_TYPE_AW(NAMEENUMPROC)
  71. DECL_WINELIB_TYPE_AW(PROPENUMPROC)
  72. DECL_WINELIB_TYPE_AW(PROPENUMPROCEX)
  73. DECL_WINELIB_TYPE_AW(WINSTAENUMPROC)
  74. typedef HANDLE HDWP;
  75. #define UOI_FLAGS 1
  76. #define UOI_NAME 2
  77. #define UOI_TYPE 3
  78. #define UOI_USER_SID 4
  79. #define WSF_VISIBLE 1
  80. #define DF_ALLOWOTHERACCOUNTHOOK 1
  81. typedef struct tagUSEROBJECTFLAGS {
  82. BOOL fInherit;
  83. BOOL fReserved;
  84. DWORD dwFlags;
  85. } USEROBJECTFLAGS, *PUSEROBJECTFLAGS;
  86. /* flags for FILTERKEYS dwFlags field */
  87. #define FKF_AVAILABLE 0x00000002
  88. #define FKF_CLICKON 0x00000040
  89. #define FKF_FILTERKEYSON 0x00000001
  90. #define FKF_HOTKEYACTIVE 0x00000004
  91. #define FKF_HOTKEYSOUND 0x00000010
  92. #define FKF_CONFIRMHOTKEY 0x00000008
  93. #define FKF_INDICATOR 0x00000020
  94. typedef struct tagFILTERKEYS
  95. {
  96. UINT cbSize;
  97. DWORD dwFlags;
  98. DWORD iWaitMSec;
  99. DWORD iDelayMSec;
  100. DWORD iRepeatMSec;
  101. DWORD iBounceMSec;
  102. } FILTERKEYS, *LPFILTERKEYS;
  103. /* flags for TOGGLEKEYS dwFlags field */
  104. #define TKF_AVAILABLE 0x00000002
  105. #define TKF_CONFIRMHOTKEY 0x00000008
  106. #define TKF_HOTKEYACTIVE 0x00000004
  107. #define TKF_HOTKEYSOUND 0x00000010
  108. #define TKF_TOGGLEKEYSON 0x00000001
  109. typedef struct tagTOGGLEKEYS
  110. {
  111. DWORD cbSize;
  112. DWORD dwFlags;
  113. } TOGGLEKEYS, *LPTOGGLEKEYS;
  114. /* flags for MOUSEKEYS dwFlags field */
  115. #define MKF_AVAILABLE 0x00000002
  116. #define MKF_CONFIRMHOTKEY 0x00000008
  117. #define MKF_HOTKEYACTIVE 0x00000004
  118. #define MKF_HOTKEYSOUND 0x00000010
  119. #define MKF_INDICATOR 0x00000020
  120. #define MKF_MOUSEKEYSON 0x00000001
  121. #define MKF_MODIFIERS 0x00000040
  122. #define MKF_REPLACENUMBERS 0x00000080
  123. typedef struct tagMOUSEKEYS
  124. {
  125. UINT cbSize;
  126. DWORD dwFlags;
  127. DWORD iMaxSpeed;
  128. DWORD iTimeToMaxSpeed;
  129. DWORD iCtrlSpeed;
  130. DWORD dwReserved1;
  131. DWORD dwReserved2;
  132. } MOUSEKEYS, *LPMOUSEKEYS;
  133. /* flags for STICKYKEYS dwFlags field */
  134. #define SKF_AUDIBLEFEEDBACK 0x00000040
  135. #define SKF_AVAILABLE 0x00000002
  136. #define SKF_CONFIRMHOTKEY 0x00000008
  137. #define SKF_HOTKEYACTIVE 0x00000004
  138. #define SKF_HOTKEYSOUND 0x00000010
  139. #define SKF_INDICATOR 0x00000020
  140. #define SKF_STICKYKEYSON 0x00000001
  141. #define SKF_TRISTATE 0x00000080
  142. #define SKF_TWOKEYSOFF 0x00000100
  143. typedef struct tagSTICKYKEYS
  144. {
  145. DWORD cbSize;
  146. DWORD dwFlags;
  147. } STICKYKEYS, *LPSTICKYKEYS;
  148. /* flags for ACCESSTIMEOUT dwFlags field */
  149. #define ATF_ONOFFFEEDBACK 0x00000002
  150. #define ATF_AVAILABLE 0x00000004
  151. #define ATF_TIMEOUTON 0x00000001
  152. typedef struct tagACCESSTIMEOUT
  153. {
  154. UINT cbSize;
  155. DWORD dwFlags;
  156. DWORD iTimeOutMSec;
  157. } ACCESSTIMEOUT, *LPACCESSTIMEOUT;
  158. /* flags for SERIALKEYS dwFlags field */
  159. #define SERKF_ACTIVE 0x00000008
  160. #define SERKF_AVAILABLE 0x00000002
  161. #define SERKF_INDICATOR 0x00000004
  162. #define SERKF_SERIALKEYSON 0x00000001
  163. typedef struct tagSERIALKEYSA
  164. {
  165. UINT cbSize;
  166. DWORD dwFlags;
  167. LPSTR lpszActivePort;
  168. LPSTR lpszPort;
  169. UINT iBaudRate;
  170. UINT iPortState;
  171. UINT iActive;
  172. } SERIALKEYSA, *LPSERIALKEYSA;
  173. typedef struct tagSERIALKEYSW {
  174. UINT cbSize;
  175. DWORD dwFlags;
  176. LPWSTR lpszActivePort;
  177. LPWSTR lpszPort;
  178. UINT iBaudRate;
  179. UINT iPortState;
  180. UINT iActive;
  181. } SERIALKEYSW,*LPSERIALKEYSW;
  182. DECL_WINELIB_TYPE_AW(SERIALKEYS)
  183. DECL_WINELIB_TYPE_AW(LPSERIALKEYS)
  184. /* flags for SOUNDSENTRY dwFlags field */
  185. #define SSF_AVAILABLE 0x00000002
  186. #define SSF_SOUNDSENTRYON 0x00000001
  187. #define SSTF_BORDER 0x00000002
  188. #define SSTF_CHARS 0x00000001
  189. #define SSTF_DISPLAY 0x00000003
  190. #define SSTF_NONE 0x00000000
  191. #define SSGF_DISPLAY 0x00000003
  192. #define SSGF_NONE 0x00000000
  193. #define SSWF_DISPLAY 0x00000003
  194. #define SSWF_NONE 0x00000000
  195. #define SSWF_TITLE 0x00000001
  196. #define SSWF_WINDOW 0x00000002
  197. typedef struct tagSOUNDSENTRYA
  198. {
  199. UINT cbSize;
  200. DWORD dwFlags;
  201. DWORD iFSTextEffect;
  202. DWORD iFSTextEffectMSec;
  203. DWORD iFSTextEffectColorBits;
  204. DWORD iFSGrafEffect;
  205. DWORD iFSGrafEffectMSec;
  206. DWORD iFSGrafEffectColor;
  207. DWORD iWindowsEffect;
  208. DWORD iWindowsEffectMSec;
  209. LPSTR lpszWindowsEffectDLL;
  210. DWORD iWindowsEffectOrdinal;
  211. } SOUNDSENTRYA, *LPSOUNDSENTRYA;
  212. typedef struct tagSOUNDSENTRYW
  213. {
  214. UINT cbSize;
  215. DWORD dwFlags;
  216. DWORD iFSTextEffect;
  217. DWORD iFSTextEffectMSec;
  218. DWORD iFSTextEffectColorBits;
  219. DWORD iFSGrafEffect;
  220. DWORD iFSGrafEffectMSec;
  221. DWORD iFSGrafEffectColor;
  222. DWORD iWindowsEffect;
  223. DWORD iWindowsEffectMSec;
  224. LPWSTR lpszWindowsEffectDLL;
  225. DWORD iWindowsEffectOrdinal;
  226. } SOUNDSENTRYW, *LPSOUNDSENTRYW;
  227. DECL_WINELIB_TYPE_AW(SOUNDSENTRY)
  228. DECL_WINELIB_TYPE_AW(LPSOUNDSENTRY)
  229. /* flags for HIGHCONTRAST dwFlags field */
  230. #define HCF_HIGHCONTRASTON 0x00000001
  231. #define HCF_AVAILABLE 0x00000002
  232. #define HCF_HOTKEYACTIVE 0x00000004
  233. #define HCF_CONFIRMHOTKEY 0x00000008
  234. #define HCF_HOTKEYSOUND 0x00000010
  235. #define HCF_INDICATOR 0x00000020
  236. #define HCF_HOTKEYAVAILABLE 0x00000040
  237. typedef struct tagHIGHCONTRASTA
  238. {
  239. UINT cbSize;
  240. DWORD dwFlags;
  241. LPSTR lpszDefaultScheme;
  242. } HIGHCONTRASTA, *LPHIGHCONTRASTA;
  243. typedef struct tagHIGHCONTRASTW
  244. {
  245. UINT cbSize;
  246. DWORD dwFlags;
  247. LPWSTR lpszDefaultScheme;
  248. } HIGHCONTRASTW, *LPHIGHCONTRASTW;
  249. DECL_WINELIB_TYPE_AW(HIGHCONTRAST)
  250. DECL_WINELIB_TYPE_AW(LPHIGHCONTRAST)
  251. typedef struct tagEVENTMSG
  252. {
  253. UINT message;
  254. UINT paramL;
  255. UINT paramH;
  256. DWORD time;
  257. HWND hwnd;
  258. } EVENTMSG, *PEVENTMSG, *LPEVENTMSG;
  259. /* WH_KEYBOARD_LL structure */
  260. typedef struct tagKBDLLHOOKSTRUCT
  261. {
  262. DWORD vkCode;
  263. DWORD scanCode;
  264. DWORD flags;
  265. DWORD time;
  266. ULONG_PTR dwExtraInfo;
  267. } KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
  268. #define LLKHF_EXTENDED (KF_EXTENDED >> 8)
  269. #define LLKHF_INJECTED 0x00000010
  270. #define LLKHF_ALTDOWN (KF_ALTDOWN >> 8)
  271. #define LLKHF_UP (KF_UP >> 8)
  272. /* WH_MOUSE_LL structure */
  273. typedef struct tagMSLLHOOKSTRUCT
  274. {
  275. POINT pt;
  276. DWORD mouseData;
  277. DWORD flags;
  278. DWORD time;
  279. ULONG_PTR dwExtraInfo;
  280. } MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
  281. #define LLMHF_INJECTED 0x00000001
  282. /* Mouse hook structure */
  283. typedef struct
  284. {
  285. POINT pt;
  286. HWND hwnd;
  287. UINT wHitTestCode;
  288. ULONG_PTR dwExtraInfo;
  289. } MOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
  290. /* Hardware hook structure */
  291. typedef struct
  292. {
  293. HWND hwnd;
  294. UINT message;
  295. WPARAM wParam;
  296. LPARAM lParam;
  297. } HARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT;
  298. /* Debug hook structure */
  299. typedef struct tagDEBUGHOOKINFO
  300. {
  301. DWORD idThread;
  302. DWORD idThreadInstaller;
  303. LPARAM lParam;
  304. WPARAM wParam;
  305. INT code;
  306. } DEBUGHOOKINFO, *PDEBUGHOOKINFO, *LPDEBUGHOOKINFO;
  307. #define HKL_PREV 0
  308. #define HKL_NEXT 1
  309. #define KLF_ACTIVATE 0x00000001
  310. #define KLF_SUBSTITUTE_OK 0x00000002
  311. #define KLF_UNLOADPREVIOUS 0x00000004
  312. #define KLF_REORDER 0x00000008
  313. #define KLF_REPLACELANG 0x00000010
  314. #define KLF_NOTELLSHELL 0x00000080
  315. #define KLF_SETFORPROCESS 0x00000100
  316. #define KLF_SHIFTLOCK 0x00010000
  317. #define KLF_RESET 0x40000000
  318. #define KL_NAMELENGTH 9
  319. typedef struct tagMOUSEINPUT
  320. {
  321. LONG dx;
  322. LONG dy;
  323. DWORD mouseData;
  324. DWORD dwFlags;
  325. DWORD time;
  326. ULONG_PTR dwExtraInfo;
  327. } MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
  328. typedef struct tagKEYBDINPUT
  329. {
  330. WORD wVk;
  331. WORD wScan;
  332. DWORD dwFlags;
  333. DWORD time;
  334. ULONG_PTR dwExtraInfo;
  335. } KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;
  336. typedef struct tagHARDWAREINPUT
  337. {
  338. DWORD uMsg;
  339. WORD wParamL;
  340. WORD wParamH;
  341. } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;
  342. #define INPUT_MOUSE 0
  343. #define INPUT_KEYBOARD 1
  344. #define INPUT_HARDWARE 2
  345. typedef struct tagINPUT
  346. {
  347. DWORD type;
  348. union
  349. {
  350. MOUSEINPUT mi;
  351. KEYBDINPUT ki;
  352. HARDWAREINPUT hi;
  353. } DUMMYUNIONNAME;
  354. } INPUT, *PINPUT, *LPINPUT;
  355. typedef struct tagGUITHREADINFO
  356. {
  357. DWORD cbSize;
  358. DWORD flags;
  359. HWND hwndActive;
  360. HWND hwndFocus;
  361. HWND hwndCapture;
  362. HWND hwndMenuOwner;
  363. HWND hwndMoveSize;
  364. HWND hwndCaret;
  365. RECT rcCaret;
  366. } GUITHREADINFO, *PGUITHREADINFO, *LPGUITHREADINFO;
  367. #define GUI_CARETBLINKING 0x00000001
  368. #define GUI_INMOVESIZE 0x00000002
  369. #define GUI_INMENUMODE 0x00000004
  370. #define GUI_SYSTEMMENUMODE 0x00000008
  371. #define GUI_POPUPMENUMODE 0x00000010
  372. #define GUI_16BITTASK 0x00000020
  373. /***** Dialogs *****/
  374. /* Gcc on Solaris has a version of this that we don't care about */
  375. #undef FSHIFT
  376. #define FVIRTKEY TRUE /* Assumed to be == TRUE */
  377. #define FNOINVERT 0x02
  378. #define FSHIFT 0x04
  379. #define FCONTROL 0x08
  380. #define FALT 0x10
  381. typedef struct tagANIMATIONINFO
  382. {
  383. UINT cbSize;
  384. INT iMinAnimate;
  385. } ANIMATIONINFO, *LPANIMATIONINFO;
  386. typedef struct tagNMHDR
  387. {
  388. HWND hwndFrom;
  389. UINT_PTR idFrom;
  390. UINT code;
  391. } NMHDR, *LPNMHDR;
  392. typedef struct tagDRAWTEXTPARAMS
  393. {
  394. UINT cbSize;
  395. INT iTabLength;
  396. INT iLeftMargin;
  397. INT iRightMargin;
  398. UINT uiLengthDrawn;
  399. } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
  400. #define WM_USER 0x0400
  401. typedef struct
  402. {
  403. LPARAM lParam;
  404. WPARAM wParam;
  405. UINT message;
  406. HWND hwnd;
  407. } CWPSTRUCT, *PCWPSTRUCT, *LPCWPSTRUCT;
  408. typedef struct
  409. {
  410. LRESULT lResult;
  411. LPARAM lParam;
  412. WPARAM wParam;
  413. DWORD message;
  414. HWND hwnd;
  415. } CWPRETSTRUCT, *PCWPRETSTRUCT, *LPCWPRETSTRUCT;
  416. typedef struct tagWINDOWPLACEMENT
  417. {
  418. UINT length;
  419. UINT flags;
  420. UINT showCmd;
  421. POINT ptMinPosition;
  422. POINT ptMaxPosition;
  423. RECT rcNormalPosition;
  424. } WINDOWPLACEMENT, *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
  425. /* WINDOWPLACEMENT flags */
  426. #define WPF_SETMINPOSITION 0x0001
  427. #define WPF_RESTORETOMAXIMIZED 0x0002
  428. /***** Dialogs *****/
  429. #define IS_INTRESOURCE(x) (((ULONG_PTR)(x) >> 16) == 0)
  430. #define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))
  431. #define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))
  432. #ifdef __WINESRC__
  433. /* force using a cast when inside Wine */
  434. #define MAKEINTRESOURCE(i) ((ULONG_PTR)((WORD)(i)))
  435. #else
  436. #define MAKEINTRESOURCE WINELIB_NAME_AW(MAKEINTRESOURCE)
  437. #endif
  438. /* Predefined resource types */
  439. #define RT_CURSOR MAKEINTRESOURCE(1)
  440. #define RT_BITMAP MAKEINTRESOURCE(2)
  441. #define RT_ICON MAKEINTRESOURCE(3)
  442. #define RT_MENU MAKEINTRESOURCE(4)
  443. #define RT_DIALOG MAKEINTRESOURCE(5)
  444. #define RT_STRING MAKEINTRESOURCE(6)
  445. #define RT_FONTDIR MAKEINTRESOURCE(7)
  446. #define RT_FONT MAKEINTRESOURCE(8)
  447. #define RT_ACCELERATOR MAKEINTRESOURCE(9)
  448. #define RT_RCDATA MAKEINTRESOURCE(10)
  449. #define RT_MESSAGETABLE MAKEINTRESOURCE(11)
  450. #define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
  451. #define RT_GROUP_ICON MAKEINTRESOURCE(14)
  452. #define RT_VERSION MAKEINTRESOURCE(16)
  453. #define RT_DLGINCLUDE MAKEINTRESOURCE(17)
  454. #define RT_PLUGPLAY MAKEINTRESOURCE(19)
  455. #define RT_VXD MAKEINTRESOURCE(20)
  456. #define RT_ANICURSOR MAKEINTRESOURCE(21)
  457. #define RT_ANIICON MAKEINTRESOURCE(22)
  458. #define RT_HTML MAKEINTRESOURCE(23)
  459. /* cbWndExtra bytes for dialog class */
  460. #define DLGWINDOWEXTRA 30
  461. /* Button control styles */
  462. #define BS_PUSHBUTTON 0x00000000L
  463. #define BS_DEFPUSHBUTTON 0x00000001L
  464. #define BS_CHECKBOX 0x00000002L
  465. #define BS_AUTOCHECKBOX 0x00000003L
  466. #define BS_RADIOBUTTON 0x00000004L
  467. #define BS_3STATE 0x00000005L
  468. #define BS_AUTO3STATE 0x00000006L
  469. #define BS_GROUPBOX 0x00000007L
  470. #define BS_USERBUTTON 0x00000008L
  471. #define BS_AUTORADIOBUTTON 0x00000009L
  472. #define BS_OWNERDRAW 0x0000000BL
  473. #define BS_LEFTTEXT 0x00000020L
  474. #define BS_RIGHTBUTTON BS_LEFTTEXT
  475. #define BS_TEXT 0x00000000L
  476. #define BS_ICON 0x00000040L
  477. #define BS_BITMAP 0x00000080L
  478. #define BS_LEFT 0x00000100L
  479. #define BS_RIGHT 0x00000200L
  480. #define BS_CENTER 0x00000300L
  481. #define BS_TOP 0x00000400L
  482. #define BS_BOTTOM 0x00000800L
  483. #define BS_VCENTER 0x00000C00L
  484. #define BS_PUSHLIKE 0x00001000L
  485. #define BS_MULTILINE 0x00002000L
  486. #define BS_NOTIFY 0x00004000L
  487. #define BS_FLAT 0x00008000L
  488. /* Dialog styles */
  489. #define DS_ABSALIGN 0x0001
  490. #define DS_SYSMODAL 0x0002
  491. #define DS_3DLOOK 0x0004 /* win95 */
  492. #define DS_FIXEDSYS 0x0008 /* win95 */
  493. #define DS_NOFAILCREATE 0x0010 /* win95 */
  494. #define DS_LOCALEDIT 0x0020
  495. #define DS_SETFONT 0x0040
  496. #define DS_MODALFRAME 0x0080
  497. #define DS_NOIDLEMSG 0x0100
  498. #define DS_SETFOREGROUND 0x0200 /* win95 */
  499. #define DS_CONTROL 0x0400 /* win95 */
  500. #define DS_CENTER 0x0800 /* win95 */
  501. #define DS_CENTERMOUSE 0x1000 /* win95 */
  502. #define DS_CONTEXTHELP 0x2000 /* win95 */
  503. /* Dialog messages */
  504. #define DM_GETDEFID (WM_USER+0)
  505. #define DM_SETDEFID (WM_USER+1)
  506. #define DM_REPOSITION (WM_USER+2)
  507. #define DC_HASDEFID 0x534b
  508. /* Bit flags for DRAWITEMSTRUCT.CtlType */
  509. #define ODT_MENU 1
  510. #define ODT_LISTBOX 2
  511. #define ODT_COMBOBOX 3
  512. #define ODT_BUTTON 4
  513. #define ODT_STATIC 5
  514. /* Bit flags for DRAWITEMSTRUCT.itemAction */
  515. #define ODA_DRAWENTIRE 0x1
  516. #define ODA_SELECT 0x2
  517. #define ODA_FOCUS 0x4
  518. /* Bit flags for DRAWITEMSTRUCT.itemState */
  519. #define ODS_SELECTED 0x0001 /* Selected */
  520. #define ODS_GRAYED 0x0002 /* Grayed (Menus only) */
  521. #define ODS_DISABLED 0x0004 /* Disabled */
  522. #define ODS_CHECKED 0x0008 /* Checked (Menus only) */
  523. #define ODS_FOCUS 0x0010 /* Has focus */
  524. #define ODS_DEFAULT 0x0020 /* Default */
  525. #define ODS_HOTLIGHT 0x0040 /* Highlighted when under mouse */
  526. #define ODS_INACTIVE 0x0080 /* Inactive */
  527. #define ODS_NOACCEL 0x0100 /* No keyboard accelerator */
  528. #define ODS_NOFOCUSRECT 0x0200 /* No focus rectangle */
  529. #define ODS_COMBOBOXEDIT 0x1000 /* Edit of a combo box */
  530. /* Edit control styles */
  531. #define ES_LEFT 0x00000000
  532. #define ES_CENTER 0x00000001
  533. #define ES_RIGHT 0x00000002
  534. #define ES_MULTILINE 0x00000004
  535. #define ES_UPPERCASE 0x00000008
  536. #define ES_LOWERCASE 0x00000010
  537. #define ES_PASSWORD 0x00000020
  538. #define ES_AUTOVSCROLL 0x00000040
  539. #define ES_AUTOHSCROLL 0x00000080
  540. #define ES_NOHIDESEL 0x00000100
  541. #define ES_COMBO 0x00000200 /* Undocumented. Parent is a combobox */
  542. #define ES_OEMCONVERT 0x00000400
  543. #define ES_READONLY 0x00000800
  544. #define ES_WANTRETURN 0x00001000
  545. #define ES_NUMBER 0x00002000
  546. /* OEM Resource Ordinal Numbers */
  547. #define OBM_TRTYPE 32732
  548. #define OBM_LFARROWI 32734
  549. #define OBM_RGARROWI 32735
  550. #define OBM_DNARROWI 32736
  551. #define OBM_UPARROWI 32737
  552. #define OBM_COMBO 32738
  553. #define OBM_MNARROW 32739
  554. #define OBM_LFARROWD 32740
  555. #define OBM_RGARROWD 32741
  556. #define OBM_DNARROWD 32742
  557. #define OBM_UPARROWD 32743
  558. #define OBM_RESTORED 32744
  559. #define OBM_ZOOMD 32745
  560. #define OBM_REDUCED 32746
  561. #define OBM_RESTORE 32747
  562. #define OBM_ZOOM 32748
  563. #define OBM_REDUCE 32749
  564. #define OBM_LFARROW 32750
  565. #define OBM_RGARROW 32751
  566. #define OBM_DNARROW 32752
  567. #define OBM_UPARROW 32753
  568. #define OBM_CLOSE 32754
  569. #define OBM_OLD_RESTORE 32755
  570. #define OBM_OLD_ZOOM 32756
  571. #define OBM_OLD_REDUCE 32757
  572. #define OBM_BTNCORNERS 32758
  573. #define OBM_CHECKBOXES 32759
  574. #define OBM_CHECK 32760
  575. #define OBM_BTSIZE 32761
  576. #define OBM_OLD_LFARROW 32762
  577. #define OBM_OLD_RGARROW 32763
  578. #define OBM_OLD_DNARROW 32764
  579. #define OBM_OLD_UPARROW 32765
  580. #define OBM_SIZE 32766
  581. #define OBM_OLD_CLOSE 32767
  582. #define OCR_NORMAL 32512
  583. #define OCR_IBEAM 32513
  584. #define OCR_WAIT 32514
  585. #define OCR_CROSS 32515
  586. #define OCR_UP 32516
  587. #define OCR_SIZE 32640
  588. #define OCR_ICON 32641
  589. #define OCR_SIZENWSE 32642
  590. #define OCR_SIZENESW 32643
  591. #define OCR_SIZEWE 32644
  592. #define OCR_SIZENS 32645
  593. #define OCR_SIZEALL 32646
  594. #define OCR_ICOCUR 32647
  595. #define OCR_NO 32648
  596. #define OCR_HAND 32649
  597. #define OCR_APPSTARTING 32650
  598. #define OCR_HELP 32651
  599. /* only defined in wine (FIXME) */
  600. #define OCR_DRAGOBJECT 32653
  601. #define OIC_SAMPLE 32512
  602. #define OIC_HAND 32513
  603. #define OIC_QUES 32514
  604. #define OIC_BANG 32515
  605. #define OIC_NOTE 32516
  606. #define OIC_WINLOGO 32517
  607. #define OIC_WARNING OIC_BANG
  608. #define OIC_ERROR OIC_HAND
  609. #define OIC_INFORMATION OIC_NOTE
  610. #ifndef NOCOLOR
  611. #define COLOR_SCROLLBAR 0
  612. #define COLOR_BACKGROUND 1
  613. #define COLOR_ACTIVECAPTION 2
  614. #define COLOR_INACTIVECAPTION 3
  615. #define COLOR_MENU 4
  616. #define COLOR_WINDOW 5
  617. #define COLOR_WINDOWFRAME 6
  618. #define COLOR_MENUTEXT 7
  619. #define COLOR_WINDOWTEXT 8
  620. #define COLOR_CAPTIONTEXT 9
  621. #define COLOR_ACTIVEBORDER 10
  622. #define COLOR_INACTIVEBORDER 11
  623. #define COLOR_APPWORKSPACE 12
  624. #define COLOR_HIGHLIGHT 13
  625. #define COLOR_HIGHLIGHTTEXT 14
  626. #define COLOR_BTNFACE 15
  627. #define COLOR_BTNSHADOW 16
  628. #define COLOR_GRAYTEXT 17
  629. #define COLOR_BTNTEXT 18
  630. #define COLOR_INACTIVECAPTIONTEXT 19
  631. #define COLOR_BTNHIGHLIGHT 20
  632. /* win95 colors */
  633. #define COLOR_3DDKSHADOW 21
  634. #define COLOR_3DLIGHT 22
  635. #define COLOR_INFOTEXT 23
  636. #define COLOR_INFOBK 24
  637. #define COLOR_DESKTOP COLOR_BACKGROUND
  638. #define COLOR_3DFACE COLOR_BTNFACE
  639. #define COLOR_3DSHADOW COLOR_BTNSHADOW
  640. #define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT
  641. #define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT
  642. #define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT
  643. /* win98 colors */
  644. #define COLOR_ALTERNATEBTNFACE 25 /* undocumented, constant's name unknown */
  645. #define COLOR_HOTLIGHT 26
  646. #define COLOR_GRADIENTACTIVECAPTION 27
  647. #define COLOR_GRADIENTINACTIVECAPTION 28
  648. /* win2k/xp colors */
  649. #define COLOR_MENUHILIGHT 29
  650. #define COLOR_MENUBAR 30
  651. /* WM_CTLCOLOR values */
  652. #define CTLCOLOR_MSGBOX 0
  653. #define CTLCOLOR_EDIT 1
  654. #define CTLCOLOR_LISTBOX 2
  655. #define CTLCOLOR_BTN 3
  656. #define CTLCOLOR_DLG 4
  657. #define CTLCOLOR_SCROLLBAR 5
  658. #define CTLCOLOR_STATIC 6
  659. COLORREF WINAPI GetSysColor(INT);
  660. BOOL WINAPI SetSysColors(INT,const INT*,const COLORREF*);
  661. #endif /* NOCOLOR */
  662. /* Edit control messages */
  663. #define EM_GETSEL 0x00b0
  664. #define EM_SETSEL 0x00b1
  665. #define EM_GETRECT 0x00b2
  666. #define EM_SETRECT 0x00b3
  667. #define EM_SETRECTNP 0x00b4
  668. #define EM_SCROLL 0x00b5
  669. #define EM_LINESCROLL 0x00b6
  670. #define EM_SCROLLCARET 0x00b7
  671. #define EM_GETMODIFY 0x00b8
  672. #define EM_SETMODIFY 0x00b9
  673. #define EM_GETLINECOUNT 0x00ba
  674. #define EM_LINEINDEX 0x00bb
  675. #define EM_SETHANDLE 0x00bc
  676. #define EM_GETHANDLE 0x00bd
  677. #define EM_GETTHUMB 0x00be
  678. /* FIXME : missing from specs 0x00bf and 0x00c0 */
  679. #define EM_LINELENGTH 0x00c1
  680. #define EM_REPLACESEL 0x00c2
  681. /* FIXME : missing from specs 0x00c3 */
  682. #define EM_GETLINE 0x00c4
  683. #define EM_LIMITTEXT 0x00c5
  684. #define EM_CANUNDO 0x00c6
  685. #define EM_UNDO 0x00c7
  686. #define EM_FMTLINES 0x00c8
  687. #define EM_LINEFROMCHAR 0x00c9
  688. /* FIXME : missing from specs 0x00ca */
  689. #define EM_SETTABSTOPS 0x00cb
  690. #define EM_SETPASSWORDCHAR 0x00cc
  691. #define EM_EMPTYUNDOBUFFER 0x00cd
  692. #define EM_GETFIRSTVISIBLELINE 0x00ce
  693. #define EM_SETREADONLY 0x00cf
  694. #define EM_SETWORDBREAKPROC 0x00d0
  695. #define EM_GETWORDBREAKPROC 0x00d1
  696. #define EM_GETPASSWORDCHAR 0x00d2
  697. #define EM_SETMARGINS 0x00d3
  698. #define EM_GETMARGINS 0x00d4
  699. #define EM_GETLIMITTEXT 0x00d5
  700. #define EM_POSFROMCHAR 0x00d6
  701. #define EM_CHARFROMPOS 0x00d7
  702. /* a name change since win95 */
  703. #define EM_SETLIMITTEXT EM_LIMITTEXT
  704. /* EDITWORDBREAKPROC code values */
  705. #define WB_LEFT 0
  706. #define WB_RIGHT 1
  707. #define WB_ISDELIMITER 2
  708. /* Edit control notification codes */
  709. #define EN_SETFOCUS 0x0100
  710. #define EN_KILLFOCUS 0x0200
  711. #define EN_CHANGE 0x0300
  712. #define EN_UPDATE 0x0400
  713. #define EN_ERRSPACE 0x0500
  714. #define EN_MAXTEXT 0x0501
  715. #define EN_HSCROLL 0x0601
  716. #define EN_VSCROLL 0x0602
  717. /* New since win95 : EM_SETMARGIN parameters */
  718. #define EC_LEFTMARGIN 0x0001
  719. #define EC_RIGHTMARGIN 0x0002
  720. #define EC_USEFONTINFO 0xffff
  721. /* GetSystemMetrics() codes */
  722. #define SM_CXSCREEN 0
  723. #define SM_CYSCREEN 1
  724. #define SM_CXVSCROLL 2
  725. #define SM_CYHSCROLL 3
  726. #define SM_CYCAPTION 4
  727. #define SM_CXBORDER 5
  728. #define SM_CYBORDER 6
  729. #define SM_CXDLGFRAME 7
  730. #define SM_CYDLGFRAME 8
  731. #define SM_CYVTHUMB 9
  732. #define SM_CXHTHUMB 10
  733. #define SM_CXICON 11
  734. #define SM_CYICON 12
  735. #define SM_CXCURSOR 13
  736. #define SM_CYCURSOR 14
  737. #define SM_CYMENU 15
  738. #define SM_CXFULLSCREEN 16
  739. #define SM_CYFULLSCREEN 17
  740. #define SM_CYKANJIWINDOW 18
  741. #define SM_MOUSEPRESENT 19
  742. #define SM_CYVSCROLL 20
  743. #define SM_CXHSCROLL 21
  744. #define SM_DEBUG 22
  745. #define SM_SWAPBUTTON 23
  746. #define SM_RESERVED1 24
  747. #define SM_RESERVED2 25
  748. #define SM_RESERVED3 26
  749. #define SM_RESERVED4 27
  750. #define SM_CXMIN 28
  751. #define SM_CYMIN 29
  752. #define SM_CXSIZE 30
  753. #define SM_CYSIZE 31
  754. #define SM_CXFRAME 32
  755. #define SM_CYFRAME 33
  756. #define SM_CXMINTRACK 34
  757. #define SM_CYMINTRACK 35
  758. #define SM_CXDOUBLECLK 36
  759. #define SM_CYDOUBLECLK 37
  760. #define SM_CXICONSPACING 38
  761. #define SM_CYICONSPACING 39
  762. #define SM_MENUDROPALIGNMENT 40
  763. #define SM_PENWINDOWS 41
  764. #define SM_DBCSENABLED 42
  765. #define SM_CMOUSEBUTTONS 43
  766. #define SM_CXFIXEDFRAME SM_CXDLGFRAME
  767. #define SM_CYFIXEDFRAME SM_CYDLGFRAME
  768. #define SM_CXSIZEFRAME SM_CXFRAME
  769. #define SM_CYSIZEFRAME SM_CYFRAME
  770. #define SM_SECURE 44
  771. #define SM_CXEDGE 45
  772. #define SM_CYEDGE 46
  773. #define SM_CXMINSPACING 47
  774. #define SM_CYMINSPACING 48
  775. #define SM_CXSMICON 49
  776. #define SM_CYSMICON 50
  777. #define SM_CYSMCAPTION 51
  778. #define SM_CXSMSIZE 52
  779. #define SM_CYSMSIZE 53
  780. #define SM_CXMENUSIZE 54
  781. #define SM_CYMENUSIZE 55
  782. #define SM_ARRANGE 56
  783. #define SM_CXMINIMIZED 57
  784. #define SM_CYMINIMIZED 58
  785. #define SM_CXMAXTRACK 59
  786. #define SM_CYMAXTRACK 60
  787. #define SM_CXMAXIMIZED 61
  788. #define SM_CYMAXIMIZED 62
  789. #define SM_NETWORK 63
  790. #define SM_CLEANBOOT 67
  791. #define SM_CXDRAG 68
  792. #define SM_CYDRAG 69
  793. #define SM_SHOWSOUNDS 70
  794. #define SM_CXMENUCHECK 71
  795. #define SM_CYMENUCHECK 72
  796. #define SM_SLOWMACHINE 73
  797. #define SM_MIDEASTENABLED 74
  798. #define SM_MOUSEWHEELPRESENT 75
  799. #define SM_XVIRTUALSCREEN 76
  800. #define SM_YVIRTUALSCREEN 77
  801. #define SM_CXVIRTUALSCREEN 78
  802. #define SM_CYVIRTUALSCREEN 79
  803. #define SM_CMONITORS 80
  804. #define SM_SAMEDISPLAYFORMAT 81
  805. #define SM_IMMENABLED 82
  806. #define SM_CXFOCUSBORDER 83
  807. #define SM_CYFOCUSBORDER 84
  808. #define SM_TABLETPC 86
  809. #define SM_MEDIACENTER 87
  810. #define SM_CMETRICS 88
  811. /* Messages */
  812. /* WM_GETDLGCODE values */
  813. #define WM_NULL 0x0000
  814. #define WM_CREATE 0x0001
  815. #define WM_DESTROY 0x0002
  816. #define WM_MOVE 0x0003
  817. #define WM_SIZEWAIT 0x0004
  818. #define WM_SIZE 0x0005
  819. #define WM_ACTIVATE 0x0006
  820. #define WM_SETFOCUS 0x0007
  821. #define WM_KILLFOCUS 0x0008
  822. #define WM_SETVISIBLE 0x0009
  823. #define WM_ENABLE 0x000a
  824. #define WM_SETREDRAW 0x000b
  825. #define WM_SETTEXT 0x000c
  826. #define WM_GETTEXT 0x000d
  827. #define WM_GETTEXTLENGTH 0x000e
  828. #define WM_PAINT 0x000f
  829. #define WM_CLOSE 0x0010
  830. #define WM_QUERYENDSESSION 0x0011
  831. #define WM_QUIT 0x0012
  832. #define WM_QUERYOPEN 0x0013
  833. #define WM_ERASEBKGND 0x0014
  834. #define WM_SYSCOLORCHANGE 0x0015
  835. #define WM_ENDSESSION 0x0016
  836. #define WM_SYSTEMERROR 0x0017
  837. #define WM_SHOWWINDOW 0x0018
  838. #define WM_CTLCOLOR 0x0019
  839. #define WM_WININICHANGE 0x001a
  840. #define WM_SETTINGCHANGE WM_WININICHANGE
  841. #define WM_DEVMODECHANGE 0x001b
  842. #define WM_ACTIVATEAPP 0x001c
  843. #define WM_FONTCHANGE 0x001d
  844. #define WM_TIMECHANGE 0x001e
  845. #define WM_CANCELMODE 0x001f
  846. #define WM_SETCURSOR 0x0020
  847. #define WM_MOUSEACTIVATE 0x0021
  848. #define WM_CHILDACTIVATE 0x0022
  849. #define WM_QUEUESYNC 0x0023
  850. #define WM_GETMINMAXINFO 0x0024
  851. #define WM_PAINTICON 0x0026
  852. #define WM_ICONERASEBKGND 0x0027
  853. #define WM_NEXTDLGCTL 0x0028
  854. #define WM_ALTTABACTIVE 0x0029
  855. #define WM_SPOOLERSTATUS 0x002a
  856. #define WM_DRAWITEM 0x002b
  857. #define WM_MEASUREITEM 0x002c
  858. #define WM_DELETEITEM 0x002d
  859. #define WM_VKEYTOITEM 0x002e
  860. #define WM_CHARTOITEM 0x002f
  861. #define WM_SETFONT 0x0030
  862. #define WM_GETFONT 0x0031
  863. #define WM_SETHOTKEY 0x0032
  864. #define WM_GETHOTKEY 0x0033
  865. #define WM_FILESYSCHANGE 0x0034
  866. #define WM_ISACTIVEICON 0x0035
  867. #define WM_QUERYPARKICON 0x0036
  868. #define WM_QUERYDRAGICON 0x0037
  869. #define WM_QUERYSAVESTATE 0x0038
  870. #define WM_COMPAREITEM 0x0039
  871. #define WM_TESTING 0x003a
  872. #define WM_GETOBJECT 0x003d
  873. #define WM_ACTIVATESHELLWINDOW 0x003e
  874. #define WM_COMPACTING 0x0041
  875. #define WM_COMMNOTIFY 0x0044
  876. #define WM_WINDOWPOSCHANGING 0x0046
  877. #define WM_WINDOWPOSCHANGED 0x0047
  878. #define WM_POWER 0x0048
  879. /* Win32 4.0 messages */
  880. #define WM_COPYDATA 0x004a
  881. #define WM_CANCELJOURNAL 0x004b
  882. #define WM_NOTIFY 0x004e
  883. #define WM_INPUTLANGCHANGEREQUEST 0x0050
  884. #define WM_INPUTLANGCHANGE 0x0051
  885. #define WM_TCARD 0x0052
  886. #define WM_HELP 0x0053
  887. #define WM_USERCHANGED 0x0054
  888. #define WM_NOTIFYFORMAT 0x0055
  889. #define WM_CONTEXTMENU 0x007b
  890. #define WM_STYLECHANGING 0x007c
  891. #define WM_STYLECHANGED 0x007d
  892. #define WM_DISPLAYCHANGE 0x007e
  893. #define WM_GETICON 0x007f
  894. #define WM_SETICON 0x0080
  895. /* Non-client system messages */
  896. #define WM_NCCREATE 0x0081
  897. #define WM_NCDESTROY 0x0082
  898. #define WM_NCCALCSIZE 0x0083
  899. #define WM_NCHITTEST 0x0084
  900. #define WM_NCPAINT 0x0085
  901. #define WM_NCACTIVATE 0x0086
  902. #define WM_GETDLGCODE 0x0087
  903. #define WM_SYNCPAINT 0x0088
  904. #define WM_SYNCTASK 0x0089
  905. /* Non-client mouse messages */
  906. #define WM_NCMOUSEMOVE 0x00a0
  907. #define WM_NCLBUTTONDOWN 0x00a1
  908. #define WM_NCLBUTTONUP 0x00a2
  909. #define WM_NCLBUTTONDBLCLK 0x00a3
  910. #define WM_NCRBUTTONDOWN 0x00a4
  911. #define WM_NCRBUTTONUP 0x00a5
  912. #define WM_NCRBUTTONDBLCLK 0x00a6
  913. #define WM_NCMBUTTONDOWN 0x00a7
  914. #define WM_NCMBUTTONUP 0x00a8
  915. #define WM_NCMBUTTONDBLCLK 0x00a9
  916. #define WM_NCXBUTTONDOWN 0x00ab
  917. #define WM_NCXBUTTONUP 0x00ac
  918. #define WM_NCXBUTTONDBLCLK 0x00ad
  919. /* Keyboard messages */
  920. #define WM_KEYDOWN 0x0100
  921. #define WM_KEYUP 0x0101
  922. #define WM_CHAR 0x0102
  923. #define WM_DEADCHAR 0x0103
  924. #define WM_SYSKEYDOWN 0x0104
  925. #define WM_SYSKEYUP 0x0105
  926. #define WM_SYSCHAR 0x0106
  927. #define WM_SYSDEADCHAR 0x0107
  928. #define WM_KEYFIRST WM_KEYDOWN
  929. #define WM_KEYLAST 0x0108
  930. /* Win32 4.0 messages for IME */
  931. #define WM_IME_STARTCOMPOSITION 0x010d
  932. #define WM_IME_ENDCOMPOSITION 0x010e
  933. #define WM_IME_COMPOSITION 0x010f
  934. #define WM_IME_KEYLAST 0x010f
  935. #define WM_INITDIALOG 0x0110
  936. #define WM_COMMAND 0x0111
  937. #define WM_SYSCOMMAND 0x0112
  938. #define WM_TIMER 0x0113
  939. #define WM_SYSTIMER 0x0118
  940. /* scroll messages */
  941. #define WM_HSCROLL 0x0114
  942. #define WM_VSCROLL 0x0115
  943. /* Menu messages */
  944. #define WM_INITMENU 0x0116
  945. #define WM_INITMENUPOPUP 0x0117
  946. #define WM_MENUSELECT 0x011F
  947. #define WM_MENUCHAR 0x0120
  948. #define WM_ENTERIDLE 0x0121
  949. #define WM_MENURBUTTONUP 0x0122
  950. #define WM_MENUDRAG 0x0123
  951. #define WM_MENUGETOBJECT 0x0124
  952. #define WM_UNINITMENUPOPUP 0x0125
  953. #define WM_MENUCOMMAND 0x0126
  954. #define WM_CHANGEUISTATE 0x0127
  955. #define WM_UPDATEUISTATE 0x0128
  956. #define WM_QUERYUISTATE 0x0129
  957. #define WM_LBTRACKPOINT 0x0131
  958. /* Win32 CTLCOLOR messages */
  959. #define WM_CTLCOLORMSGBOX 0x0132
  960. #define WM_CTLCOLOREDIT 0x0133
  961. #define WM_CTLCOLORLISTBOX 0x0134
  962. #define WM_CTLCOLORBTN 0x0135
  963. #define WM_CTLCOLORDLG 0x0136
  964. #define WM_CTLCOLORSCROLLBAR 0x0137
  965. #define WM_CTLCOLORSTATIC 0x0138
  966. /* Mouse messages */
  967. #define WM_MOUSEMOVE 0x0200
  968. #define WM_LBUTTONDOWN 0x0201
  969. #define WM_LBUTTONUP 0x0202
  970. #define WM_LBUTTONDBLCLK 0x0203
  971. #define WM_RBUTTONDOWN 0x0204
  972. #define WM_RBUTTONUP 0x0205
  973. #define WM_RBUTTONDBLCLK 0x0206
  974. #define WM_MBUTTONDOWN 0x0207
  975. #define WM_MBUTTONUP 0x0208
  976. #define WM_MBUTTONDBLCLK 0x0209
  977. #define WM_MOUSEWHEEL 0x020A
  978. #define WM_XBUTTONDOWN 0x020B
  979. #define WM_XBUTTONUP 0x020C
  980. #define WM_XBUTTONDBLCLK 0x020D
  981. #define WM_MOUSEFIRST 0x0200
  982. #define WM_MOUSELAST 0x020D
  983. #define WHEEL_DELTA 120
  984. #define WHEEL_PAGESCROLL (UINT_MAX)
  985. #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
  986. #define WM_PARENTNOTIFY 0x0210
  987. #define WM_ENTERMENULOOP 0x0211
  988. #define WM_EXITMENULOOP 0x0212
  989. #define WM_NEXTMENU 0x0213
  990. /* Win32 4.0 messages */
  991. #define WM_SIZING 0x0214
  992. #define WM_CAPTURECHANGED 0x0215
  993. #define WM_MOVING 0x0216
  994. #define WM_POWERBROADCAST 0x0218
  995. #define WM_DEVICECHANGE 0x0219
  996. /* Win32 5.1 messages */
  997. #define WM_THEMECHANGED 0x031A
  998. /* wParam for WM_SIZING message */
  999. #define WMSZ_LEFT 1
  1000. #define WMSZ_RIGHT 2
  1001. #define WMSZ_TOP 3
  1002. #define WMSZ_TOPLEFT 4
  1003. #define WMSZ_TOPRIGHT 5
  1004. #define WMSZ_BOTTOM 6
  1005. #define WMSZ_BOTTOMLEFT 7
  1006. #define WMSZ_BOTTOMRIGHT 8
  1007. /* MDI messages */
  1008. #define WM_MDICREATE 0x0220
  1009. #define WM_MDIDESTROY 0x0221
  1010. #define WM_MDIACTIVATE 0x0222
  1011. #define WM_MDIRESTORE 0x0223
  1012. #define WM_MDINEXT 0x0224
  1013. #define WM_MDIMAXIMIZE 0x0225
  1014. #define WM_MDITILE 0x0226
  1015. #define WM_MDICASCADE 0x0227
  1016. #define WM_MDIICONARRANGE 0x0228
  1017. #define WM_MDIGETACTIVE 0x0229
  1018. #define WM_MDIREFRESHMENU 0x0234
  1019. /* D&D messages */
  1020. #define WM_DROPOBJECT 0x022A
  1021. #define WM_QUERYDROPOBJECT 0x022B
  1022. #define WM_BEGINDRAG 0x022C
  1023. #define WM_DRAGLOOP 0x022D
  1024. #define WM_DRAGSELECT 0x022E
  1025. #define WM_DRAGMOVE 0x022F
  1026. #define WM_MDISETMENU 0x0230
  1027. #define WM_ENTERSIZEMOVE 0x0231
  1028. #define WM_EXITSIZEMOVE 0x0232
  1029. #define WM_DROPFILES 0x0233
  1030. /* Win32 4.0 messages for IME */
  1031. #define WM_IME_SETCONTEXT 0x0281
  1032. #define WM_IME_NOTIFY 0x0282
  1033. #define WM_IME_CONTROL 0x0283
  1034. #define WM_IME_COMPOSITIONFULL 0x0284
  1035. #define WM_IME_SELECT 0x0285
  1036. #define WM_IME_CHAR 0x0286
  1037. /* Win32 5.0 messages for IME */
  1038. #define WM_IME_REQUEST 0x0288
  1039. /* Win32 4.0 messages for IME */
  1040. #define WM_IME_KEYDOWN 0x0290
  1041. #define WM_IME_KEYUP 0x0291
  1042. /* Clipboard command messages */
  1043. #define WM_CUT 0x0300
  1044. #define WM_COPY 0x0301
  1045. #define WM_PASTE 0x0302
  1046. #define WM_CLEAR 0x0303
  1047. #define WM_UNDO 0x0304
  1048. /* Clipboard owner messages */
  1049. #define WM_RENDERFORMAT 0x0305
  1050. #define WM_RENDERALLFORMATS 0x0306
  1051. #define WM_DESTROYCLIPBOARD 0x0307
  1052. /* Clipboard viewer messages */
  1053. #define WM_DRAWCLIPBOARD 0x0308
  1054. #define WM_PAINTCLIPBOARD 0x0309
  1055. #define WM_VSCROLLCLIPBOARD 0x030A
  1056. #define WM_SIZECLIPBOARD 0x030B
  1057. #define WM_ASKCBFORMATNAME 0x030C
  1058. #define WM_CHANGECBCHAIN 0x030D
  1059. #define WM_HSCROLLCLIPBOARD 0x030E
  1060. #define WM_QUERYNEWPALETTE 0x030F
  1061. #define WM_PALETTEISCHANGING 0x0310
  1062. #define WM_PALETTECHANGED 0x0311
  1063. #define WM_HOTKEY 0x0312
  1064. #define WM_PRINT 0x0317
  1065. #define WM_PRINTCLIENT 0x0318
  1066. #define WM_PENWINFIRST 0x0380
  1067. #define WM_PENWINLAST 0x038F
  1068. #define WM_APP 0x8000
  1069. /* MsgWaitForMultipleObjectsEx flags */
  1070. #define MWMO_WAITALL 0x0001
  1071. #define MWMO_ALERTABLE 0x0002
  1072. #define MWMO_INPUTAVAILABLE 0x0004
  1073. #define DLGC_WANTARROWS 0x0001
  1074. #define DLGC_WANTTAB 0x0002
  1075. #define DLGC_WANTALLKEYS 0x0004
  1076. #define DLGC_WANTMESSAGE 0x0004
  1077. #define DLGC_HASSETSEL 0x0008
  1078. #define DLGC_DEFPUSHBUTTON 0x0010
  1079. #define DLGC_UNDEFPUSHBUTTON 0x0020
  1080. #define DLGC_RADIOBUTTON 0x0040
  1081. #define DLGC_WANTCHARS 0x0080
  1082. #define DLGC_STATIC 0x0100
  1083. #define DLGC_BUTTON 0x2000
  1084. /* Standard dialog button IDs */
  1085. #define IDOK 1
  1086. #define IDCANCEL 2
  1087. #define IDABORT 3
  1088. #define IDRETRY 4
  1089. #define IDIGNORE 5
  1090. #define IDYES 6
  1091. #define IDNO 7
  1092. #define IDCLOSE 8
  1093. #define IDHELP 9
  1094. /****** Window classes ******/
  1095. typedef struct tagCREATESTRUCTA
  1096. {
  1097. LPVOID lpCreateParams;
  1098. HINSTANCE hInstance;
  1099. HMENU hMenu;
  1100. HWND hwndParent;
  1101. INT cy;
  1102. INT cx;
  1103. INT y;
  1104. INT x;
  1105. LONG style;
  1106. LPCSTR lpszName;
  1107. LPCSTR lpszClass;
  1108. DWORD dwExStyle;
  1109. } CREATESTRUCTA, *LPCREATESTRUCTA;
  1110. typedef struct tagCREATESTRUCTW
  1111. {
  1112. LPVOID lpCreateParams;
  1113. HINSTANCE hInstance;
  1114. HMENU hMenu;
  1115. HWND hwndParent;
  1116. INT cy;
  1117. INT cx;
  1118. INT y;
  1119. INT x;
  1120. LONG style;
  1121. LPCWSTR lpszName;
  1122. LPCWSTR lpszClass;
  1123. DWORD dwExStyle;
  1124. } CREATESTRUCTW, *LPCREATESTRUCTW;
  1125. DECL_WINELIB_TYPE_AW(CREATESTRUCT)
  1126. DECL_WINELIB_TYPE_AW(LPCREATESTRUCT)
  1127. typedef struct tagPAINTSTRUCT
  1128. {
  1129. HDC hdc;
  1130. BOOL fErase;
  1131. RECT rcPaint;
  1132. BOOL fRestore;
  1133. BOOL fIncUpdate;
  1134. BYTE rgbReserved[32];
  1135. } PAINTSTRUCT, *PPAINTSTRUCT, *LPPAINTSTRUCT;
  1136. typedef struct tagCLIENTCREATESTRUCT
  1137. {
  1138. HMENU hWindowMenu;
  1139. UINT idFirstChild;
  1140. } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
  1141. typedef struct tagMDICREATESTRUCTA
  1142. {
  1143. LPCSTR szClass;
  1144. LPCSTR szTitle;
  1145. HINSTANCE hOwner;
  1146. INT x;
  1147. INT y;
  1148. INT cx;
  1149. INT cy;
  1150. DWORD style;
  1151. LPARAM lParam;
  1152. } MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
  1153. typedef struct tagMDICREATESTRUCTW
  1154. {
  1155. LPCWSTR szClass;
  1156. LPCWSTR szTitle;
  1157. HINSTANCE hOwner;
  1158. INT x;
  1159. INT y;
  1160. INT cx;
  1161. INT cy;
  1162. DWORD style;
  1163. LPARAM lParam;
  1164. } MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
  1165. DECL_WINELIB_TYPE_AW(MDICREATESTRUCT)
  1166. DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT)
  1167. #define MDITILE_VERTICAL 0x0000
  1168. #define MDITILE_HORIZONTAL 0x0001
  1169. #define MDITILE_SKIPDISABLED 0x0002
  1170. #define MDIS_ALLCHILDSTYLES 0x0001
  1171. typedef struct tagSTYLESTRUCT {
  1172. DWORD styleOld;
  1173. DWORD styleNew;
  1174. } STYLESTRUCT, *LPSTYLESTRUCT;
  1175. #define WC_DIALOGA MAKEINTATOMA(0x8002)
  1176. #define WC_DIALOGW MAKEINTATOMW(0x8002)
  1177. #define WC_DIALOG WINELIB_NAME_AW(WC_DIALOG)
  1178. /* Offsets for GetWindowLong() and GetWindowWord() */
  1179. #define GWL_EXSTYLE (-20)
  1180. #define GWL_STYLE (-16)
  1181. #ifndef __WINESRC__
  1182. # define GWL_USERDATA (-21)
  1183. # define GWL_ID (-12)
  1184. # define GWL_HWNDPARENT (-8)
  1185. # define GWL_HINSTANCE (-6)
  1186. # define GWL_WNDPROC (-4)
  1187. #endif /* __WINESRC__ */
  1188. #define DWL_MSGRESULT 0
  1189. #define DWL_DLGPROC 4
  1190. #define DWL_USER 8
  1191. /* Offsets for GetWindowLongPtr() and SetWindowLongPtr() */
  1192. #define GWLP_USERDATA (-21)
  1193. #define GWLP_ID (-12)
  1194. #define GWLP_HWNDPARENT (-8)
  1195. #define GWLP_HINSTANCE (-6)
  1196. #define GWLP_WNDPROC (-4)
  1197. #define DWLP_MSGRESULT 0
  1198. #define DWLP_DLGPROC DWLP_MSGRESULT + sizeof(LRESULT)
  1199. #define DWLP_USER DWLP_DLGPROC + sizeof(DLGPROC)
  1200. /* GetWindow() constants */
  1201. #define GW_HWNDFIRST 0
  1202. #define GW_HWNDLAST 1
  1203. #define GW_HWNDNEXT 2
  1204. #define GW_HWNDPREV 3
  1205. #define GW_OWNER 4
  1206. #define GW_CHILD 5
  1207. /* GetAncestor() constants */
  1208. #define GA_PARENT 1
  1209. #define GA_ROOT 2
  1210. #define GA_ROOTOWNER 3
  1211. /* WM_GETMINMAXINFO struct */
  1212. typedef struct tagMINMAXINFO
  1213. {
  1214. POINT ptReserved;
  1215. POINT ptMaxSize;
  1216. POINT ptMaxPosition;
  1217. POINT ptMinTrackSize;
  1218. POINT ptMaxTrackSize;
  1219. } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
  1220. /* RedrawWindow() flags */
  1221. #define RDW_INVALIDATE 0x0001
  1222. #define RDW_INTERNALPAINT 0x0002
  1223. #define RDW_ERASE 0x0004
  1224. #define RDW_VALIDATE 0x0008
  1225. #define RDW_NOINTERNALPAINT 0x0010
  1226. #define RDW_NOERASE 0x0020
  1227. #define RDW_NOCHILDREN 0x0040
  1228. #define RDW_ALLCHILDREN 0x0080
  1229. #define RDW_UPDATENOW 0x0100
  1230. #define RDW_ERASENOW 0x0200
  1231. #define RDW_FRAME 0x0400
  1232. #define RDW_NOFRAME 0x0800
  1233. /* debug flags */
  1234. #define DBGFILL_ALLOC 0xfd
  1235. #define DBGFILL_FREE 0xfb
  1236. #define DBGFILL_BUFFER 0xf9
  1237. #define DBGFILL_STACK 0xf7
  1238. /* WM_WINDOWPOSCHANGING/CHANGED struct */
  1239. typedef struct tagWINDOWPOS
  1240. {
  1241. HWND hwnd;
  1242. HWND hwndInsertAfter;
  1243. INT x;
  1244. INT y;
  1245. INT cx;
  1246. INT cy;
  1247. UINT flags;
  1248. } WINDOWPOS, *PWINDOWPOS, *LPWINDOWPOS;
  1249. /* WM_MOUSEACTIVATE return values */
  1250. #define MA_ACTIVATE 1
  1251. #define MA_ACTIVATEANDEAT 2
  1252. #define MA_NOACTIVATE 3
  1253. #define MA_NOACTIVATEANDEAT 4
  1254. /* WM_ACTIVATE wParam values */
  1255. #define WA_INACTIVE 0
  1256. #define WA_ACTIVE 1
  1257. #define WA_CLICKACTIVE 2
  1258. /* WM_GETICON/WM_SETICON params values */
  1259. #define ICON_SMALL 0
  1260. #define ICON_BIG 1
  1261. #define ICON_SMALL2 2
  1262. /* WM_NCCALCSIZE parameter structure */
  1263. typedef struct
  1264. {
  1265. RECT rgrc[3];
  1266. WINDOWPOS *lppos;
  1267. } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
  1268. /* WM_NCCALCSIZE return flags */
  1269. #define WVR_ALIGNTOP 0x0010
  1270. #define WVR_ALIGNLEFT 0x0020
  1271. #define WVR_ALIGNBOTTOM 0x0040
  1272. #define WVR_ALIGNRIGHT 0x0080
  1273. #define WVR_HREDRAW 0x0100
  1274. #define WVR_VREDRAW 0x0200
  1275. #define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
  1276. #define WVR_VALIDRECTS 0x0400
  1277. /* WM_NCHITTEST return codes */
  1278. #define HTERROR (-2)
  1279. #define HTTRANSPARENT (-1)
  1280. #define HTNOWHERE 0
  1281. #define HTCLIENT 1
  1282. #define HTCAPTION 2
  1283. #define HTSYSMENU 3
  1284. #define HTSIZE 4
  1285. #define HTMENU 5
  1286. #define HTHSCROLL 6
  1287. #define HTVSCROLL 7
  1288. #define HTMINBUTTON 8
  1289. #define HTMAXBUTTON 9
  1290. #define HTLEFT 10
  1291. #define HTRIGHT 11
  1292. #define HTTOP 12
  1293. #define HTTOPLEFT 13
  1294. #define HTTOPRIGHT 14
  1295. #define HTBOTTOM 15
  1296. #define HTBOTTOMLEFT 16
  1297. #define HTBOTTOMRIGHT 17
  1298. #define HTBORDER 18
  1299. #define HTGROWBOX HTSIZE
  1300. #define HTREDUCE HTMINBUTTON
  1301. #define HTZOOM HTMAXBUTTON
  1302. #define HTOBJECT 19
  1303. #define HTCLOSE 20
  1304. #define HTHELP 21
  1305. #define HTSIZEFIRST HTLEFT
  1306. #define HTSIZELAST HTBOTTOMRIGHT
  1307. /* SendMessageTimeout flags */
  1308. #define SMTO_NORMAL 0x0000
  1309. #define SMTO_BLOCK 0x0001
  1310. #define SMTO_ABORTIFHUNG 0x0002
  1311. #define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
  1312. /* WM_SYSCOMMAND parameters */
  1313. #ifdef SC_SIZE /* at least HP-UX: already defined in /usr/include/sys/signal.h */
  1314. #undef SC_SIZE
  1315. #endif
  1316. #define SC_SIZE 0xf000
  1317. #define SC_MOVE 0xf010
  1318. #define SC_MINIMIZE 0xf020
  1319. #define SC_MAXIMIZE 0xf030
  1320. #define SC_NEXTWINDOW 0xf040
  1321. #define SC_PREVWINDOW 0xf050
  1322. #define SC_CLOSE 0xf060
  1323. #define SC_VSCROLL 0xf070
  1324. #define SC_HSCROLL 0xf080
  1325. #define SC_MOUSEMENU 0xf090
  1326. #define SC_KEYMENU 0xf100
  1327. #define SC_ARRANGE 0xf110
  1328. #define SC_RESTORE 0xf120
  1329. #define SC_TASKLIST 0xf130
  1330. #define SC_SCREENSAVE 0xf140
  1331. #define SC_HOTKEY 0xf150
  1332. /* Win32 4.0 */
  1333. #define SC_DEFAULT 0xf160
  1334. #define SC_MONITORPOWER 0xf170
  1335. #define SC_CONTEXTHELP 0xf180
  1336. #define SC_SEPARATOR 0xf00f
  1337. /* obsolete names(SC_ICON and SC_ZOOM) */
  1338. #define SC_ICON SC_MINIMIZE
  1339. #define SC_ZOOM SC_MAXIMIZE
  1340. #define CS_VREDRAW 0x00000001
  1341. #define CS_HREDRAW 0x00000002
  1342. #define CS_KEYCVTWINDOW 0x00000004
  1343. #define CS_DBLCLKS 0x00000008
  1344. #define CS_OWNDC 0x00000020
  1345. #define CS_CLASSDC 0x00000040
  1346. #define CS_PARENTDC 0x00000080
  1347. #define CS_NOKEYCVT 0x00000100
  1348. #define CS_NOCLOSE 0x00000200
  1349. #define CS_SAVEBITS 0x00000800
  1350. #define CS_BYTEALIGNCLIENT 0x00001000
  1351. #define CS_BYTEALIGNWINDOW 0x00002000
  1352. #define CS_GLOBALCLASS 0x00004000
  1353. #define CS_IME 0x00010000
  1354. #define CS_DROPSHADOW 0x00020000
  1355. #define PRF_CHECKVISIBLE 0x00000001L
  1356. #define PRF_NONCLIENT 0x00000002L
  1357. #define PRF_CLIENT 0x00000004L
  1358. #define PRF_ERASEBKGND 0x00000008L
  1359. #define PRF_CHILDREN 0x00000010L
  1360. #define PRF_OWNED 0x00000020L
  1361. /* Offsets for GetClassLong() and GetClassWord() */
  1362. #define GCL_MENUNAME (-8)
  1363. #define GCL_HBRBACKGROUND (-10)
  1364. #define GCL_HCURSOR (-12)
  1365. #define GCL_HICON (-14)
  1366. #define GCL_HMODULE (-16)
  1367. #define GCL_CBWNDEXTRA (-18)
  1368. #define GCL_CBCLSEXTRA (-20)
  1369. #define GCL_WNDPROC (-24)
  1370. #define GCL_STYLE (-26)
  1371. #define GCW_ATOM (-32)
  1372. #define GCL_HICONSM (-34)
  1373. #define GCLP_MENUNAME (-8)
  1374. #define GCLP_HBRBACKGROUND (-10)
  1375. #define GCLP_HCURSOR (-12)
  1376. #define GCLP_HICON (-14)
  1377. #define GCLP_HMODULE (-16)
  1378. #define GCLP_WNDPROC (-24)
  1379. #define GCLP_HICONSM (-34)
  1380. /* BroadcastSystemMessage flags */
  1381. #define BSM_ALLCOMPONENTS 0x00000000
  1382. #define BSM_VXDS 0x00000001
  1383. #define BSM_NETDRIVER 0x00000002
  1384. #define BSM_INSTALLABLEDRIVERS 0x00000004
  1385. #define BSM_APPLICATIONS 0x00000008
  1386. #define BSF_QUERY 0x00000001
  1387. #define BSF_IGNORECURRENTTASK 0x00000002
  1388. #define BSF_FLUSHDISK 0x00000004
  1389. #define BSF_NOHANG 0x00000008
  1390. #define BSF_POSTMESSAGE 0x00000010
  1391. #define BSF_FORCEIFHUNG 0x00000020
  1392. #define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
  1393. #define BSF_ALLOWSFW 0x00000080
  1394. #define BSF_SENDNOTIFYMESSAGE 0x00000100
  1395. #define BSF_RETURNHDESK 0x00000200
  1396. #define BSF_LUID 0x00000400
  1397. /***** Window hooks *****/
  1398. /* Hook values */
  1399. #define WH_MIN (-1)
  1400. #define WH_MSGFILTER (-1)
  1401. #define WH_JOURNALRECORD 0
  1402. #define WH_JOURNALPLAYBACK 1
  1403. #define WH_KEYBOARD 2
  1404. #define WH_GETMESSAGE 3
  1405. #define WH_CALLWNDPROC 4
  1406. #define WH_CBT 5
  1407. #define WH_SYSMSGFILTER 6
  1408. #define WH_MOUSE 7
  1409. #define WH_HARDWARE 8
  1410. #define WH_DEBUG 9
  1411. #define WH_SHELL 10
  1412. #define WH_FOREGROUNDIDLE 11
  1413. #define WH_CALLWNDPROCRET 12
  1414. #define WH_KEYBOARD_LL 13
  1415. #define WH_MOUSE_LL 14
  1416. #define WH_MAX 14
  1417. #define WH_MINHOOK WH_MIN
  1418. #define WH_MAXHOOK WH_MAX
  1419. /* Hook action codes */
  1420. #define HC_ACTION 0
  1421. #define HC_GETNEXT 1
  1422. #define HC_SKIP 2
  1423. #define HC_NOREMOVE 3
  1424. #define HC_NOREM HC_NOREMOVE
  1425. #define HC_SYSMODALON 4
  1426. #define HC_SYSMODALOFF 5
  1427. /* CallMsgFilter() values */
  1428. #define MSGF_DIALOGBOX 0
  1429. #define MSGF_MESSAGEBOX 1
  1430. #define MSGF_MENU 2
  1431. #define MSGF_MOVE 3
  1432. #define MSGF_SIZE 4
  1433. #define MSGF_SCROLLBAR 5
  1434. #define MSGF_NEXTWINDOW 6
  1435. #define MSGF_MAX 8
  1436. #define MSGF_USER 0x1000
  1437. #define MSGF_DDEMGR 0x8001
  1438. typedef struct tagWNDCLASSA
  1439. {
  1440. UINT style;
  1441. WNDPROC lpfnWndProc;
  1442. INT cbClsExtra;
  1443. INT cbWndExtra;
  1444. HINSTANCE hInstance;
  1445. HICON hIcon;
  1446. HCURSOR hCursor;
  1447. HBRUSH hbrBackground;
  1448. LPCSTR lpszMenuName;
  1449. LPCSTR lpszClassName;
  1450. } WNDCLASSA, *PWNDCLASSA, *LPWNDCLASSA;
  1451. typedef struct tagWNDCLASSW
  1452. {
  1453. UINT style;
  1454. WNDPROC lpfnWndProc;
  1455. INT cbClsExtra;
  1456. INT cbWndExtra;
  1457. HINSTANCE hInstance;
  1458. HICON hIcon;
  1459. HCURSOR hCursor;
  1460. HBRUSH hbrBackground;
  1461. LPCWSTR lpszMenuName;
  1462. LPCWSTR lpszClassName;
  1463. } WNDCLASSW, *PWNDCLASSW, *LPWNDCLASSW;
  1464. DECL_WINELIB_TYPE_AW(WNDCLASS)
  1465. DECL_WINELIB_TYPE_AW(PWNDCLASS)
  1466. DECL_WINELIB_TYPE_AW(LPWNDCLASS)
  1467. typedef struct tagCOPYDATASTRUCT {
  1468. ULONG_PTR dwData;
  1469. DWORD cbData;
  1470. PVOID lpData;
  1471. } COPYDATASTRUCT, *PCOPYDATASTRUCT;
  1472. typedef struct tagMDINEXTMENU {
  1473. HMENU hmenuIn;
  1474. HMENU hmenuNext;
  1475. HWND hwndNext;
  1476. } MDINEXTMENU, *PMDINEXTMENU, *LPMDINEXTMENU;
  1477. typedef struct tagMULTIKEYHELPA
  1478. {
  1479. DWORD mkSize;
  1480. CHAR mkKeylist;
  1481. CHAR szKeyphrase[1];
  1482. } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
  1483. typedef struct tagMULTIKEYHELPW
  1484. {
  1485. DWORD mkSize;
  1486. WCHAR mkKeylist;
  1487. WCHAR szKeyphrase[1];
  1488. } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
  1489. DECL_WINELIB_TYPE_AW(MULTIKEYHELP)
  1490. DECL_WINELIB_TYPE_AW(PMULTIKEYHELP)
  1491. DECL_WINELIB_TYPE_AW(LPMULTIKEYHELP)
  1492. typedef struct tagHELPWININFOA {
  1493. int wStructSize;
  1494. int x;
  1495. int y;
  1496. int dx;
  1497. int dy;
  1498. int wMax;
  1499. CHAR rgchMember[2];
  1500. } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
  1501. typedef struct tagHELPWININFOW {
  1502. int wStructSize;
  1503. int x;
  1504. int y;
  1505. int dx;
  1506. int dy;
  1507. int wMax;
  1508. WCHAR rgchMember[2];
  1509. } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
  1510. DECL_WINELIB_TYPE_AW(HELPWININFO)
  1511. DECL_WINELIB_TYPE_AW(PHELPWININFO)
  1512. DECL_WINELIB_TYPE_AW(LPHELPWININFO)
  1513. #define HELP_CONTEXT 0x0001
  1514. #define HELP_QUIT 0x0002
  1515. #define HELP_INDEX 0x0003
  1516. #define HELP_CONTENTS 0x0003
  1517. #define HELP_HELPONHELP 0x0004
  1518. #define HELP_SETINDEX 0x0005
  1519. #define HELP_SETCONTENTS 0x0005
  1520. #define HELP_CONTEXTPOPUP 0x0008
  1521. #define HELP_FORCEFILE 0x0009
  1522. #define HELP_KEY 0x0101
  1523. #define HELP_COMMAND 0x0102
  1524. #define HELP_PARTIALKEY 0x0105
  1525. #define HELP_MULTIKEY 0x0201
  1526. #define HELP_SETWINPOS 0x0203
  1527. #define HELP_CONTEXTMENU 0x000a
  1528. #define HELP_FINDER 0x000b
  1529. #define HELP_WM_HELP 0x000c
  1530. #define HELP_SETPOPUP_POS 0x000d
  1531. #define HELP_TCARD 0x8000
  1532. #define HELP_TCARD_DATA 0x0010
  1533. #define HELP_TCARD_OTHER_CALLER 0x0011
  1534. /* ChangeDisplaySettings return codes */
  1535. #define DISP_CHANGE_SUCCESSFUL 0
  1536. #define DISP_CHANGE_RESTART 1
  1537. #define DISP_CHANGE_FAILED (-1)
  1538. #define DISP_CHANGE_BADMODE (-2)
  1539. #define DISP_CHANGE_NOTUPDATED (-3)
  1540. #define DISP_CHANGE_BADFLAGS (-4)
  1541. #define DISP_CHANGE_BADPARAM (-5)
  1542. /* ChangeDisplaySettings.dwFlags */
  1543. #define CDS_UPDATEREGISTRY 0x00000001
  1544. #define CDS_TEST 0x00000002
  1545. #define CDS_FULLSCREEN 0x00000004
  1546. #define CDS_GLOBAL 0x00000008
  1547. #define CDS_SET_PRIMARY 0x00000010
  1548. #define CDS_RESET 0x40000000
  1549. #define CDS_SETRECT 0x20000000
  1550. #define CDS_NORESET 0x10000000
  1551. typedef struct tagWNDCLASSEXA
  1552. {
  1553. UINT cbSize;
  1554. UINT style;
  1555. WNDPROC lpfnWndProc;
  1556. INT cbClsExtra;
  1557. INT cbWndExtra;
  1558. HINSTANCE hInstance;
  1559. HICON hIcon;
  1560. HCURSOR hCursor;
  1561. HBRUSH hbrBackground;
  1562. LPCSTR lpszMenuName;
  1563. LPCSTR lpszClassName;
  1564. HICON hIconSm;
  1565. } WNDCLASSEXA, *PWNDCLASSEXA, *LPWNDCLASSEXA;
  1566. typedef struct tagWNDCLASSEXW
  1567. {
  1568. UINT cbSize;
  1569. UINT style;
  1570. WNDPROC lpfnWndProc;
  1571. INT cbClsExtra;
  1572. INT cbWndExtra;
  1573. HINSTANCE hInstance;
  1574. HICON hIcon;
  1575. HCURSOR hCursor;
  1576. HBRUSH hbrBackground;
  1577. LPCWSTR lpszMenuName;
  1578. LPCWSTR lpszClassName;
  1579. HICON hIconSm;
  1580. } WNDCLASSEXW, *PWNDCLASSEXW, *LPWNDCLASSEXW;
  1581. DECL_WINELIB_TYPE_AW(WNDCLASSEX)
  1582. DECL_WINELIB_TYPE_AW(PWNDCLASSEX)
  1583. DECL_WINELIB_TYPE_AW(LPWNDCLASSEX)
  1584. typedef struct tagMSG
  1585. {
  1586. HWND hwnd;
  1587. UINT message;
  1588. WPARAM wParam;
  1589. LPARAM lParam;
  1590. DWORD time;
  1591. POINT pt;
  1592. } MSG, *PMSG, *LPMSG;
  1593. #define POINTSTOPOINT(pt, pts) { (pt).x = (pts).x; (pt).y = (pts).y; }
  1594. #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y)))
  1595. #define MAKELPARAM(low,high) ((LPARAM)MAKELONG(low,high))
  1596. #define MAKEWPARAM(low,high) ((WPARAM)MAKELONG(low,high))
  1597. #define MAKELRESULT(low,high) ((LRESULT)MAKELONG(low,high))
  1598. /* Cursors / Icons */
  1599. typedef struct _ICONINFO {
  1600. BOOL fIcon;
  1601. DWORD xHotspot;
  1602. DWORD yHotspot;
  1603. HBITMAP hbmMask;
  1604. HBITMAP hbmColor;
  1605. } ICONINFO, *PICONINFO;
  1606. typedef struct tagCURSORINFO
  1607. {
  1608. DWORD cbSize;
  1609. DWORD flags;
  1610. HCURSOR hCursor;
  1611. POINT ptScreenPos;
  1612. } CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
  1613. #define CURSOR_SHOWING 0x00000001
  1614. /* this is the 6 byte accel struct used in Win32 when presented to the user */
  1615. typedef struct tagACCEL
  1616. {
  1617. BYTE fVirt;
  1618. WORD key;
  1619. WORD cmd;
  1620. } ACCEL, *LPACCEL;
  1621. /* Flags for TrackPopupMenu */
  1622. #define TPM_LEFTBUTTON 0x0000
  1623. #define TPM_RIGHTBUTTON 0x0002
  1624. #define TPM_LEFTALIGN 0x0000
  1625. #define TPM_CENTERALIGN 0x0004
  1626. #define TPM_RIGHTALIGN 0x0008
  1627. #define TPM_TOPALIGN 0x0000
  1628. #define TPM_VCENTERALIGN 0x0010
  1629. #define TPM_BOTTOMALIGN 0x0020
  1630. #define TPM_HORIZONTAL 0x0000
  1631. #define TPM_VERTICAL 0x0040
  1632. #define TPM_NONOTIFY 0x0080
  1633. #define TPM_RETURNCMD 0x0100
  1634. typedef struct tagTPMPARAMS
  1635. {
  1636. UINT cbSize;
  1637. RECT rcExclude;
  1638. } TPMPARAMS, *LPTPMPARAMS;
  1639. /*
  1640. * Combobox information
  1641. */
  1642. typedef struct tagCOMBOBOXINFO
  1643. {
  1644. DWORD cbSize;
  1645. RECT rcItem;
  1646. RECT rcButton;
  1647. DWORD stateButton;
  1648. HWND hwndCombo;
  1649. HWND hwndItem;
  1650. HWND hwndList;
  1651. } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
  1652. typedef struct tagMENUITEMINFOA {
  1653. UINT cbSize;
  1654. UINT fMask;
  1655. UINT fType;
  1656. UINT fState;
  1657. UINT wID;
  1658. HMENU hSubMenu;
  1659. HBITMAP hbmpChecked;
  1660. HBITMAP hbmpUnchecked;
  1661. ULONG_PTR dwItemData;
  1662. LPSTR dwTypeData;
  1663. UINT cch;
  1664. HBITMAP hbmpItem;
  1665. } MENUITEMINFOA, *LPMENUITEMINFOA;
  1666. typedef struct tagMENUITEMINFOW {
  1667. UINT cbSize;
  1668. UINT fMask;
  1669. UINT fType;
  1670. UINT fState;
  1671. UINT wID;
  1672. HMENU hSubMenu;
  1673. HBITMAP hbmpChecked;
  1674. HBITMAP hbmpUnchecked;
  1675. ULONG_PTR dwItemData;
  1676. LPWSTR dwTypeData;
  1677. UINT cch;
  1678. HBITMAP hbmpItem;
  1679. } MENUITEMINFOW, *LPMENUITEMINFOW;
  1680. DECL_WINELIB_TYPE_AW(MENUITEMINFO)
  1681. DECL_WINELIB_TYPE_AW(LPMENUITEMINFO)
  1682. typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
  1683. typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
  1684. DECL_WINELIB_TYPE_AW(LPCMENUITEMINFO)
  1685. typedef struct tagMENUINFO {
  1686. DWORD cbSize;
  1687. DWORD fMask;
  1688. DWORD dwStyle;
  1689. UINT cyMax;
  1690. HBRUSH hbrBack;
  1691. DWORD dwContextHelpID;
  1692. ULONG_PTR dwMenuData;
  1693. } MENUINFO, *LPMENUINFO;
  1694. typedef const MENUINFO *LPCMENUINFO;
  1695. #define MIM_MAXHEIGHT 0x00000001
  1696. #define MIM_BACKGROUND 0x00000002
  1697. #define MIM_HELPID 0x00000004
  1698. #define MIM_MENUDATA 0x00000008
  1699. #define MIM_STYLE 0x00000010
  1700. #define MIM_APPLYTOSUBMENUS 0x80000000
  1701. typedef struct {
  1702. WORD versionNumber;
  1703. WORD offset;
  1704. } MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
  1705. typedef struct {
  1706. WORD mtOption;
  1707. WORD mtID;
  1708. WCHAR mtString[1];
  1709. } MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
  1710. typedef VOID MENUTEMPLATE;
  1711. typedef PVOID *LPMENUTEMPLATE;
  1712. /* Field specifiers for MENUITEMINFO[AW] type. */
  1713. #define MIIM_STATE 0x00000001
  1714. #define MIIM_ID 0x00000002
  1715. #define MIIM_SUBMENU 0x00000004
  1716. #define MIIM_CHECKMARKS 0x00000008
  1717. #define MIIM_TYPE 0x00000010
  1718. #define MIIM_DATA 0x00000020
  1719. #define MIIM_STRING 0x00000040
  1720. #define MIIM_BITMAP 0x00000080
  1721. #define MIIM_FTYPE 0x00000100
  1722. #define HBMMENU_CALLBACK ((HBITMAP) -1)
  1723. #define HBMMENU_SYSTEM ((HBITMAP) 1)
  1724. #define HBMMENU_MBAR_RESTORE ((HBITMAP) 2)
  1725. #define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3)
  1726. #define HBMMENU_MBAR_CLOSE ((HBITMAP) 5)
  1727. #define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6)
  1728. #define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7)
  1729. #define HBMMENU_POPUP_CLOSE ((HBITMAP) 8)
  1730. #define HBMMENU_POPUP_RESTORE ((HBITMAP) 9)
  1731. #define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10)
  1732. #define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11)
  1733. /* WM_H/VSCROLL commands */
  1734. #define SB_LINEUP 0
  1735. #define SB_LINELEFT 0
  1736. #define SB_LINEDOWN 1
  1737. #define SB_LINERIGHT 1
  1738. #define SB_PAGEUP 2
  1739. #define SB_PAGELEFT 2
  1740. #define SB_PAGEDOWN 3
  1741. #define SB_PAGERIGHT 3
  1742. #define SB_THUMBPOSITION 4
  1743. #define SB_THUMBTRACK 5
  1744. #define SB_TOP 6
  1745. #define SB_LEFT 6
  1746. #define SB_BOTTOM 7
  1747. #define SB_RIGHT 7
  1748. #define SB_ENDSCROLL 8
  1749. /* Scroll bar selection constants */
  1750. #define SB_HORZ 0
  1751. #define SB_VERT 1
  1752. #define SB_CTL 2
  1753. #define SB_BOTH 3
  1754. /* Scrollbar styles */
  1755. #define SBS_HORZ 0x0000L
  1756. #define SBS_VERT 0x0001L
  1757. #define SBS_TOPALIGN 0x0002L
  1758. #define SBS_LEFTALIGN 0x0002L
  1759. #define SBS_BOTTOMALIGN 0x0004L
  1760. #define SBS_RIGHTALIGN 0x0004L
  1761. #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
  1762. #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
  1763. #define SBS_SIZEBOX 0x0008L
  1764. #define SBS_SIZEGRIP 0x0010L
  1765. /* EnableScrollBar() flags */
  1766. #define ESB_ENABLE_BOTH 0x0000
  1767. #define ESB_DISABLE_BOTH 0x0003
  1768. #define ESB_DISABLE_LEFT 0x0001
  1769. #define ESB_DISABLE_RIGHT 0x0002
  1770. #define ESB_DISABLE_UP 0x0001
  1771. #define ESB_DISABLE_DOWN 0x0002
  1772. #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
  1773. #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
  1774. /* Win32 button control messages */
  1775. #define BM_GETCHECK 0x00f0
  1776. #define BM_SETCHECK 0x00f1
  1777. #define BM_GETSTATE 0x00f2
  1778. #define BM_SETSTATE 0x00f3
  1779. #define BM_SETSTYLE 0x00f4
  1780. #define BM_CLICK 0x00f5
  1781. #define BM_GETIMAGE 0x00f6
  1782. #define BM_SETIMAGE 0x00f7
  1783. /* Winelib button control messages */
  1784. /* Button notification codes */
  1785. #define BN_CLICKED 0
  1786. #define BN_PAINT 1
  1787. #define BN_HILITE 2
  1788. #define BN_PUSHED BN_HILITE
  1789. #define BN_UNHILITE 3
  1790. #define BN_UNPUSHED BN_UNHILITE
  1791. #define BN_DISABLE 4
  1792. #define BN_DOUBLECLICKED 5
  1793. #define BN_DBLCLK BN_DOUBLECLICKED
  1794. #define BN_SETFOCUS 6
  1795. #define BN_KILLFOCUS 7
  1796. /* Button states */
  1797. #define BST_UNCHECKED 0x0000
  1798. #define BST_CHECKED 0x0001
  1799. #define BST_INDETERMINATE 0x0002
  1800. #define BST_PUSHED 0x0004
  1801. #define BST_FOCUS 0x0008
  1802. /* Static Control Styles */
  1803. #define SS_LEFT 0x00000000L
  1804. #define SS_CENTER 0x00000001L
  1805. #define SS_RIGHT 0x00000002L
  1806. #define SS_ICON 0x00000003L
  1807. #define SS_BLACKRECT 0x00000004L
  1808. #define SS_GRAYRECT 0x00000005L
  1809. #define SS_WHITERECT 0x00000006L
  1810. #define SS_BLACKFRAME 0x00000007L
  1811. #define SS_GRAYFRAME 0x00000008L
  1812. #define SS_WHITEFRAME 0x00000009L
  1813. #define SS_USERITEM 0x0000000AL
  1814. #define SS_SIMPLE 0x0000000BL
  1815. #define SS_LEFTNOWORDWRAP 0x0000000CL
  1816. #define SS_OWNERDRAW 0x0000000DL
  1817. #define SS_BITMAP 0x0000000EL
  1818. #define SS_ENHMETAFILE 0x0000000FL
  1819. #define SS_ETCHEDHORZ 0x00000010L
  1820. #define SS_ETCHEDVERT 0x00000011L
  1821. #define SS_ETCHEDFRAME 0x00000012L
  1822. #define SS_TYPEMASK 0x0000001FL
  1823. #define SS_REALSIZECONTROL 0x00000040L
  1824. #define SS_NOPREFIX 0x00000080L
  1825. #define SS_NOTIFY 0x00000100L
  1826. #define SS_CENTERIMAGE 0x00000200L
  1827. #define SS_RIGHTJUST 0x00000400L
  1828. #define SS_REALSIZEIMAGE 0x00000800L
  1829. #define SS_SUNKEN 0x00001000L
  1830. #define SS_EDITCONTROL 0x00002000L
  1831. #define SS_ENDELLIPSIS 0x00004000L
  1832. #define SS_PATHELLIPSIS 0x00008000L
  1833. #define SS_WORDELLIPSIS 0x0000C000L
  1834. #define SS_ELLIPSISMASK 0x0000C000L
  1835. /* Static Control Messages */
  1836. #define STM_SETICON 0x0170
  1837. #define STM_GETICON 0x0171
  1838. #define STM_SETIMAGE 0x0172
  1839. #define STM_GETIMAGE 0x0173
  1840. #define STM_MSGMAX 0x0174
  1841. #define STN_CLICKED 0
  1842. #define STN_DBLCLK 1
  1843. #define STN_ENABLE 2
  1844. #define STN_DISABLE 3
  1845. /* Scrollbar messages */
  1846. #define SBM_SETPOS 0x00e0
  1847. #define SBM_GETPOS 0x00e1
  1848. #define SBM_SETRANGE 0x00e2
  1849. #define SBM_GETRANGE 0x00e3
  1850. #define SBM_ENABLE_ARROWS 0x00e4
  1851. #define SBM_SETRANGEREDRAW 0x00e6
  1852. #define SBM_SETSCROLLINFO 0x00e9
  1853. #define SBM_GETSCROLLINFO 0x00ea
  1854. #define SBM_GETSCROLLBARINFO 0x00eb
  1855. /* Scrollbar info */
  1856. typedef struct tagSCROLLINFO
  1857. {
  1858. UINT cbSize;
  1859. UINT fMask;
  1860. INT nMin;
  1861. INT nMax;
  1862. UINT nPage;
  1863. INT nPos;
  1864. INT nTrackPos;
  1865. } SCROLLINFO, *LPSCROLLINFO;
  1866. typedef const SCROLLINFO *LPCSCROLLINFO;
  1867. #define CCHILDREN_SCROLLBAR 5
  1868. typedef struct tagSCROLLBARINFO
  1869. {
  1870. DWORD cbSize; /* Size of SCROLLBARINFO struct */
  1871. RECT rcScrollBar; /* Coordinates of the scroll bar */
  1872. INT dxyLineButton; /* Height or width */
  1873. INT xyThumbTop; /* Position of the top or the left */
  1874. INT xyThumbBottom; /* Position of the bottom or the right */
  1875. INT reserved;
  1876. DWORD rgstate[CCHILDREN_SCROLLBAR+1];
  1877. } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
  1878. /* GetScrollInfo() flags */
  1879. #define SIF_RANGE 0x0001
  1880. #define SIF_PAGE 0x0002
  1881. #define SIF_POS 0x0004
  1882. #define SIF_DISABLENOSCROLL 0x0008
  1883. #define SIF_TRACKPOS 0x0010
  1884. #define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
  1885. /* Listbox styles */
  1886. #define LBS_NOTIFY 0x0001
  1887. #define LBS_SORT 0x0002
  1888. #define LBS_NOREDRAW 0x0004
  1889. #define LBS_MULTIPLESEL 0x0008
  1890. #define LBS_OWNERDRAWFIXED 0x0010
  1891. #define LBS_OWNERDRAWVARIABLE 0x0020
  1892. #define LBS_HASSTRINGS 0x0040
  1893. #define LBS_USETABSTOPS 0x0080
  1894. #define LBS_NOINTEGRALHEIGHT 0x0100
  1895. #define LBS_MULTICOLUMN 0x0200
  1896. #define LBS_WANTKEYBOARDINPUT 0x0400
  1897. #define LBS_EXTENDEDSEL 0x0800
  1898. #define LBS_DISABLENOSCROLL 0x1000
  1899. #define LBS_NODATA 0x2000
  1900. #define LBS_NOSEL 0x4000
  1901. #define LBS_COMBOBOX 0x8000
  1902. #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
  1903. /* Listbox messages */
  1904. #define LB_ADDSTRING 0x0180
  1905. #define LB_INSERTSTRING 0x0181
  1906. #define LB_DELETESTRING 0x0182
  1907. #define LB_SELITEMRANGEEX 0x0183
  1908. #define LB_RESETCONTENT 0x0184
  1909. #define LB_SETSEL 0x0185
  1910. #define LB_SETCURSEL 0x0186
  1911. #define LB_GETSEL 0x0187
  1912. #define LB_GETCURSEL 0x0188
  1913. #define LB_GETTEXT 0x0189
  1914. #define LB_GETTEXTLEN 0x018a
  1915. #define LB_GETCOUNT 0x018b
  1916. #define LB_SELECTSTRING 0x018c
  1917. #define LB_DIR 0x018d
  1918. #define LB_GETTOPINDEX 0x018e
  1919. #define LB_FINDSTRING 0x018f
  1920. #define LB_GETSELCOUNT 0x0190
  1921. #define LB_GETSELITEMS 0x0191
  1922. #define LB_SETTABSTOPS 0x0192
  1923. #define LB_GETHORIZONTALEXTENT 0x0193
  1924. #define LB_SETHORIZONTALEXTENT 0x0194
  1925. #define LB_SETCOLUMNWIDTH 0x0195
  1926. #define LB_ADDFILE 0x0196
  1927. #define LB_SETTOPINDEX 0x0197
  1928. #define LB_GETITEMRECT 0x0198
  1929. #define LB_GETITEMDATA 0x0199
  1930. #define LB_SETITEMDATA 0x019a
  1931. #define LB_SELITEMRANGE 0x019b
  1932. #define LB_SETANCHORINDEX 0x019c
  1933. #define LB_GETANCHORINDEX 0x019d
  1934. #define LB_SETCARETINDEX 0x019e
  1935. #define LB_GETCARETINDEX 0x019f
  1936. #define LB_SETITEMHEIGHT 0x01a0
  1937. #define LB_GETITEMHEIGHT 0x01a1
  1938. #define LB_FINDSTRINGEXACT 0x01a2
  1939. #define LB_CARETON 0x01a3
  1940. #define LB_CARETOFF 0x01a4
  1941. #define LB_SETLOCALE 0x01a5
  1942. #define LB_GETLOCALE 0x01a6
  1943. #define LB_SETCOUNT 0x01a7
  1944. #define LB_INITSTORAGE 0x01a8
  1945. #define LB_ITEMFROMPOINT 0x01a9
  1946. /* Listbox notification codes */
  1947. #define LBN_ERRSPACE (-2)
  1948. #define LBN_SELCHANGE 1
  1949. #define LBN_DBLCLK 2
  1950. #define LBN_SELCANCEL 3
  1951. #define LBN_SETFOCUS 4
  1952. #define LBN_KILLFOCUS 5
  1953. /* Listbox message return values */
  1954. #define LB_OKAY 0
  1955. #define LB_ERR (-1)
  1956. #define LB_ERRSPACE (-2)
  1957. #define LB_CTLCODE 0L
  1958. /* Combo box styles */
  1959. #define CBS_SIMPLE 0x0001L
  1960. #define CBS_DROPDOWN 0x0002L
  1961. #define CBS_DROPDOWNLIST 0x0003L
  1962. #define CBS_OWNERDRAWFIXED 0x0010L
  1963. #define CBS_OWNERDRAWVARIABLE 0x0020L
  1964. #define CBS_AUTOHSCROLL 0x0040L
  1965. #define CBS_OEMCONVERT 0x0080L
  1966. #define CBS_SORT 0x0100L
  1967. #define CBS_HASSTRINGS 0x0200L
  1968. #define CBS_NOINTEGRALHEIGHT 0x0400L
  1969. #define CBS_DISABLENOSCROLL 0x0800L
  1970. #define CBS_UPPERCASE 0x2000L
  1971. #define CBS_LOWERCASE 0x4000L
  1972. /* Combo box messages */
  1973. #define CB_GETEDITSEL 0x0140
  1974. #define CB_LIMITTEXT 0x0141
  1975. #define CB_SETEDITSEL 0x0142
  1976. #define CB_ADDSTRING 0x0143
  1977. #define CB_DELETESTRING 0x0144
  1978. #define CB_DIR 0x0145
  1979. #define CB_GETCOUNT 0x0146
  1980. #define CB_GETCURSEL 0x0147
  1981. #define CB_GETLBTEXT 0x0148
  1982. #define CB_GETLBTEXTLEN 0x0149
  1983. #define CB_INSERTSTRING 0x014a
  1984. #define CB_RESETCONTENT 0x014b
  1985. #define CB_FINDSTRING 0x014c
  1986. #define CB_SELECTSTRING 0x014d
  1987. #define CB_SETCURSEL 0x014e
  1988. #define CB_SHOWDROPDOWN 0x014f
  1989. #define CB_GETITEMDATA 0x0150
  1990. #define CB_SETITEMDATA 0x0151
  1991. #define CB_GETDROPPEDCONTROLRECT 0x0152
  1992. #define CB_SETITEMHEIGHT 0x0153
  1993. #define CB_GETITEMHEIGHT 0x0154
  1994. #define CB_SETEXTENDEDUI 0x0155
  1995. #define CB_GETEXTENDEDUI 0x0156
  1996. #define CB_GETDROPPEDSTATE 0x0157
  1997. #define CB_FINDSTRINGEXACT 0x0158
  1998. #define CB_SETLOCALE 0x0159
  1999. #define CB_GETLOCALE 0x015a
  2000. #define CB_GETTOPINDEX 0x015b
  2001. #define CB_SETTOPINDEX 0x015c
  2002. #define CB_GETHORIZONTALEXTENT 0x015d
  2003. #define CB_SETHORIZONTALEXTENT 0x015e
  2004. #define CB_GETDROPPEDWIDTH 0x015f
  2005. #define CB_SETDROPPEDWIDTH 0x0160
  2006. #define CB_INITSTORAGE 0x0161
  2007. /* Combo box notification codes */
  2008. #define CBN_ERRSPACE (-1)
  2009. #define CBN_SELCHANGE 1
  2010. #define CBN_DBLCLK 2
  2011. #define CBN_SETFOCUS 3
  2012. #define CBN_KILLFOCUS 4
  2013. #define CBN_EDITCHANGE 5
  2014. #define CBN_EDITUPDATE 6
  2015. #define CBN_DROPDOWN 7
  2016. #define CBN_CLOSEUP 8
  2017. #define CBN_SELENDOK 9
  2018. #define CBN_SELENDCANCEL 10
  2019. /* Combo box message return values */
  2020. #define CB_OKAY 0
  2021. #define CB_ERR (-1)
  2022. #define CB_ERRSPACE (-2)
  2023. #define MB_OK 0x00000000
  2024. #define MB_OKCANCEL 0x00000001
  2025. #define MB_ABORTRETRYIGNORE 0x00000002
  2026. #define MB_YESNOCANCEL 0x00000003
  2027. #define MB_YESNO 0x00000004
  2028. #define MB_RETRYCANCEL 0x00000005
  2029. #define MB_TYPEMASK 0x0000000F
  2030. #define MB_ICONHAND 0x00000010
  2031. #define MB_ICONQUESTION 0x00000020
  2032. #define MB_ICONEXCLAMATION 0x00000030
  2033. #define MB_ICONASTERISK 0x00000040
  2034. #define MB_USERICON 0x00000080
  2035. #define MB_ICONMASK 0x000000F0
  2036. #define MB_ICONINFORMATION MB_ICONASTERISK
  2037. #define MB_ICONSTOP MB_ICONHAND
  2038. #define MB_ICONWARNING MB_ICONEXCLAMATION
  2039. #define MB_ICONERROR MB_ICONHAND
  2040. #define MB_DEFBUTTON1 0x00000000
  2041. #define MB_DEFBUTTON2 0x00000100
  2042. #define MB_DEFBUTTON3 0x00000200
  2043. #define MB_DEFBUTTON4 0x00000300
  2044. #define MB_DEFMASK 0x00000F00
  2045. #define MB_APPLMODAL 0x00000000
  2046. #define MB_SYSTEMMODAL 0x00001000
  2047. #define MB_TASKMODAL 0x00002000
  2048. #define MB_MODEMASK 0x00003000
  2049. #define MB_HELP 0x00004000
  2050. #define MB_NOFOCUS 0x00008000
  2051. #define MB_MISCMASK 0x0000C000
  2052. #define MB_SETFOREGROUND 0x00010000
  2053. #define MB_DEFAULT_DESKTOP_ONLY 0x00020000
  2054. #define MB_SERVICE_NOTIFICATION 0x00040000
  2055. #define MB_TOPMOST 0x00040000
  2056. #define MB_RIGHT 0x00080000
  2057. #define MB_RTLREADING 0x00100000
  2058. #define HELPINFO_WINDOW 0x0001
  2059. #define HELPINFO_MENUITEM 0x0002
  2060. /* Structure pointed to by lParam of WM_HELP */
  2061. typedef struct tagHELPINFO
  2062. {
  2063. UINT cbSize; /* Size in bytes of this struct */
  2064. INT iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */
  2065. INT iCtrlId; /* Control Id or a Menu item Id. */
  2066. HANDLE hItemHandle; /* hWnd of control or hMenu. */
  2067. DWORD_PTR dwContextId; /* Context Id associated with this item */
  2068. POINT MousePos; /* Mouse Position in screen co-ordinates */
  2069. } HELPINFO,*LPHELPINFO;
  2070. typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
  2071. typedef struct tagMSGBOXPARAMSA
  2072. {
  2073. UINT cbSize;
  2074. HWND hwndOwner;
  2075. HINSTANCE hInstance;
  2076. LPCSTR lpszText;
  2077. LPCSTR lpszCaption;
  2078. DWORD dwStyle;
  2079. LPCSTR lpszIcon;
  2080. DWORD_PTR dwContextHelpId;
  2081. MSGBOXCALLBACK lpfnMsgBoxCallback;
  2082. DWORD dwLanguageId;
  2083. } MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
  2084. typedef struct tagMSGBOXPARAMSW
  2085. {
  2086. UINT cbSize;
  2087. HWND hwndOwner;
  2088. HINSTANCE hInstance;
  2089. LPCWSTR lpszText;
  2090. LPCWSTR lpszCaption;
  2091. DWORD dwStyle;
  2092. LPCWSTR lpszIcon;
  2093. DWORD_PTR dwContextHelpId;
  2094. MSGBOXCALLBACK lpfnMsgBoxCallback;
  2095. DWORD dwLanguageId;
  2096. } MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
  2097. DECL_WINELIB_TYPE_AW(MSGBOXPARAMS)
  2098. DECL_WINELIB_TYPE_AW(PMSGBOXPARAMS)
  2099. DECL_WINELIB_TYPE_AW(LPMSGBOXPARAMS)
  2100. #define MONITOR_DEFAULTTONULL 0x00000000
  2101. #define MONITOR_DEFAULTTOPRIMARY 0x00000001
  2102. #define MONITOR_DEFAULTTONEAREST 0x00000002
  2103. #define MONITORINFOF_PRIMARY 0x00000001
  2104. #ifndef CCHDEVICENAME
  2105. #define CCHDEVICENAME 32
  2106. #endif
  2107. typedef struct tagMONITORINFO
  2108. {
  2109. DWORD cbSize;
  2110. RECT rcMonitor;
  2111. RECT rcWork;
  2112. DWORD dwFlags;
  2113. } MONITORINFO, *LPMONITORINFO;
  2114. typedef struct tagMONITORINFOEXA
  2115. { /* the 4 first entries are the same as MONITORINFO */
  2116. DWORD cbSize;
  2117. RECT rcMonitor;
  2118. RECT rcWork;
  2119. DWORD dwFlags;
  2120. CHAR szDevice[CCHDEVICENAME];
  2121. } MONITORINFOEXA, *LPMONITORINFOEXA;
  2122. typedef struct tagMONITORINFOEXW
  2123. { /* the 4 first entries are the same as MONITORINFO */
  2124. DWORD cbSize;
  2125. RECT rcMonitor;
  2126. RECT rcWork;
  2127. DWORD dwFlags;
  2128. WCHAR szDevice[CCHDEVICENAME];
  2129. } MONITORINFOEXW, *LPMONITORINFOEXW;
  2130. DECL_WINELIB_TYPE_AW(MONITORINFOEX)
  2131. DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)
  2132. typedef BOOL (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
  2133. #include <pshpack2.h>
  2134. typedef struct tagDLGTEMPLATE
  2135. {
  2136. DWORD style;
  2137. DWORD dwExtendedStyle;
  2138. WORD cdit;
  2139. short x;
  2140. short y;
  2141. short cx;
  2142. short cy;
  2143. } DLGTEMPLATE;
  2144. typedef DLGTEMPLATE *LPDLGTEMPLATEA;
  2145. typedef DLGTEMPLATE *LPDLGTEMPLATEW;
  2146. DECL_WINELIB_TYPE_AW(LPDLGTEMPLATE)
  2147. typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
  2148. typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
  2149. DECL_WINELIB_TYPE_AW(LPCDLGTEMPLATE)
  2150. typedef struct tagDLGITEMTEMPLATE
  2151. {
  2152. DWORD style;
  2153. DWORD dwExtendedStyle;
  2154. short x;
  2155. short y;
  2156. short cx;
  2157. short cy;
  2158. WORD id;
  2159. } DLGITEMTEMPLATE;
  2160. typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
  2161. typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
  2162. DECL_WINELIB_TYPE_AW(PDLGITEMTEMPLATE)
  2163. typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
  2164. typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
  2165. DECL_WINELIB_TYPE_AW(LPDLGITEMTEMPLATE)
  2166. #include <poppack.h>
  2167. /* CBT hook values */
  2168. #define HCBT_MOVESIZE 0
  2169. #define HCBT_MINMAX 1
  2170. #define HCBT_QS 2
  2171. #define HCBT_CREATEWND 3
  2172. #define HCBT_DESTROYWND 4
  2173. #define HCBT_ACTIVATE 5
  2174. #define HCBT_CLICKSKIPPED 6
  2175. #define HCBT_KEYSKIPPED 7
  2176. #define HCBT_SYSCOMMAND 8
  2177. #define HCBT_SETFOCUS 9
  2178. /* CBT hook structures */
  2179. typedef struct tagCBT_CREATEWNDA
  2180. {
  2181. CREATESTRUCTA *lpcs;
  2182. HWND hwndInsertAfter;
  2183. } CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
  2184. typedef struct tagCBT_CREATEWNDW
  2185. {
  2186. CREATESTRUCTW *lpcs;
  2187. HWND hwndInsertAfter;
  2188. } CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
  2189. DECL_WINELIB_TYPE_AW(CBT_CREATEWND)
  2190. DECL_WINELIB_TYPE_AW(LPCBT_CREATEWND)
  2191. typedef struct tagCBTACTIVATESTRUCT
  2192. {
  2193. BOOL fMouse;
  2194. HWND hWndActive;
  2195. } CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
  2196. /* modifiers for RegisterHotKey */
  2197. #define MOD_ALT 0x0001
  2198. #define MOD_CONTROL 0x0002
  2199. #define MOD_SHIFT 0x0004
  2200. #define MOD_WIN 0x0008
  2201. /* ids for RegisterHotKey */
  2202. #define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */
  2203. #define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */
  2204. /* keybd_event flags */
  2205. #define KEYEVENTF_EXTENDEDKEY 0x0001
  2206. #define KEYEVENTF_KEYUP 0x0002
  2207. /* mouse_event flags */
  2208. #define MOUSEEVENTF_MOVE 0x0001
  2209. #define MOUSEEVENTF_LEFTDOWN 0x0002
  2210. #define MOUSEEVENTF_LEFTUP 0x0004
  2211. #define MOUSEEVENTF_RIGHTDOWN 0x0008
  2212. #define MOUSEEVENTF_RIGHTUP 0x0010
  2213. #define MOUSEEVENTF_MIDDLEDOWN 0x0020
  2214. #define MOUSEEVENTF_MIDDLEUP 0x0040
  2215. #define MOUSEEVENTF_WHEEL 0x0800
  2216. #define MOUSEEVENTF_ABSOLUTE 0x8000
  2217. /* ExitWindows() flags */
  2218. #define EW_RESTARTWINDOWS 0x0042
  2219. #define EW_REBOOTSYSTEM 0x0043
  2220. #define EW_EXITANDEXECAPP 0x0044
  2221. /* ExitWindowsEx() flags */
  2222. #define EWX_LOGOFF 0
  2223. #define EWX_SHUTDOWN 1
  2224. #define EWX_REBOOT 2
  2225. #define EWX_FORCE 4
  2226. #define EWX_POWEROFF 8
  2227. #define EWX_FORCEIFHUNG 16
  2228. /* SetLastErrorEx types */
  2229. #define SLE_ERROR 0x00000001
  2230. #define SLE_MINORERROR 0x00000002
  2231. #define SLE_WARNING 0x00000003
  2232. /* Predefined resources */
  2233. #define IDI_APPLICATION MAKEINTRESOURCE(32512)
  2234. #define IDI_HAND MAKEINTRESOURCE(32513)
  2235. #define IDI_QUESTION MAKEINTRESOURCE(32514)
  2236. #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
  2237. #define IDI_ASTERISK MAKEINTRESOURCE(32516)
  2238. #define IDI_WINLOGO MAKEINTRESOURCE(32517)
  2239. #define IDI_WARNING IDI_EXCLAMATION
  2240. #define IDI_ERROR IDI_HAND
  2241. #define IDI_INFORMATION IDI_ASTERISK
  2242. #define IDC_ARROW MAKEINTRESOURCE(32512)
  2243. #define IDC_IBEAM MAKEINTRESOURCE(32513)
  2244. #define IDC_WAIT MAKEINTRESOURCE(32514)
  2245. #define IDC_CROSS MAKEINTRESOURCE(32515)
  2246. #define IDC_UPARROW MAKEINTRESOURCE(32516)
  2247. #define IDC_SIZE MAKEINTRESOURCE(32640)
  2248. #define IDC_ICON MAKEINTRESOURCE(32641)
  2249. #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
  2250. #define IDC_SIZENESW MAKEINTRESOURCE(32643)
  2251. #define IDC_SIZEWE MAKEINTRESOURCE(32644)
  2252. #define IDC_SIZENS MAKEINTRESOURCE(32645)
  2253. #define IDC_SIZEALL MAKEINTRESOURCE(32646)
  2254. #define IDC_NO MAKEINTRESOURCE(32648)
  2255. #define IDC_HAND MAKEINTRESOURCE(32649)
  2256. #define IDC_APPSTARTING MAKEINTRESOURCE(32650)
  2257. #define IDC_HELP MAKEINTRESOURCE(32651)
  2258. #define MNC_IGNORE 0
  2259. #define MNC_CLOSE 1
  2260. #define MNC_EXECUTE 2
  2261. #define MNC_SELECT 3
  2262. /* SystemParametersInfo */
  2263. /* defines below are for all win versions */
  2264. #define SPI_GETBEEP 1
  2265. #define SPI_SETBEEP 2
  2266. #define SPI_GETMOUSE 3
  2267. #define SPI_SETMOUSE 4
  2268. #define SPI_GETBORDER 5
  2269. #define SPI_SETBORDER 6
  2270. #define SPI_GETKEYBOARDSPEED 10
  2271. #define SPI_SETKEYBOARDSPEED 11
  2272. #define SPI_LANGDRIVER 12
  2273. #define SPI_ICONHORIZONTALSPACING 13
  2274. #define SPI_GETSCREENSAVETIMEOUT 14
  2275. #define SPI_SETSCREENSAVETIMEOUT 15
  2276. #define SPI_GETSCREENSAVEACTIVE 16
  2277. #define SPI_SETSCREENSAVEACTIVE 17
  2278. #define SPI_GETGRIDGRANULARITY 18
  2279. #define SPI_SETGRIDGRANULARITY 19
  2280. #define SPI_SETDESKWALLPAPER 20
  2281. #define SPI_SETDESKPATTERN 21
  2282. #define SPI_GETKEYBOARDDELAY 22
  2283. #define SPI_SETKEYBOARDDELAY 23
  2284. #define SPI_ICONVERTICALSPACING 24
  2285. #define SPI_GETICONTITLEWRAP 25
  2286. #define SPI_SETICONTITLEWRAP 26
  2287. #define SPI_GETMENUDROPALIGNMENT 27
  2288. #define SPI_SETMENUDROPALIGNMENT 28
  2289. #define SPI_SETDOUBLECLKWIDTH 29
  2290. #define SPI_SETDOUBLECLKHEIGHT 30
  2291. #define SPI_GETICONTITLELOGFONT 31
  2292. #define SPI_SETDOUBLECLICKTIME 32
  2293. #define SPI_SETMOUSEBUTTONSWAP 33
  2294. #define SPI_SETICONTITLELOGFONT 34
  2295. #define SPI_GETFASTTASKSWITCH 35
  2296. #define SPI_SETFASTTASKSWITCH 36
  2297. #define SPI_SETDRAGFULLWINDOWS 37
  2298. #define SPI_GETDRAGFULLWINDOWS 38
  2299. #define SPI_GETFILTERKEYS 50
  2300. #define SPI_SETFILTERKEYS 51
  2301. #define SPI_GETTOGGLEKEYS 52
  2302. #define SPI_SETTOGGLEKEYS 53
  2303. #define SPI_GETMOUSEKEYS 54
  2304. #define SPI_SETMOUSEKEYS 55
  2305. #define SPI_GETSHOWSOUNDS 56
  2306. #define SPI_SETSHOWSOUNDS 57
  2307. #define SPI_GETSTICKYKEYS 58
  2308. #define SPI_SETSTICKYKEYS 59
  2309. #define SPI_GETACCESSTIMEOUT 60
  2310. #define SPI_SETACCESSTIMEOUT 61
  2311. #define SPI_GETSOUNDSENTRY 64
  2312. #define SPI_SETSOUNDSENTRY 65
  2313. /* defines below are for all win versions WINVER >= 0x0400 */
  2314. #define SPI_SETDRAGFULLWINDOWS 37
  2315. #define SPI_GETDRAGFULLWINDOWS 38
  2316. #define SPI_GETNONCLIENTMETRICS 41
  2317. #define SPI_SETNONCLIENTMETRICS 42
  2318. #define SPI_GETMINIMIZEDMETRICS 43
  2319. #define SPI_SETMINIMIZEDMETRICS 44
  2320. #define SPI_GETICONMETRICS 45
  2321. #define SPI_SETICONMETRICS 46
  2322. #define SPI_SETWORKAREA 47
  2323. #define SPI_GETWORKAREA 48
  2324. #define SPI_SETPENWINDOWS 49
  2325. #define SPI_GETSERIALKEYS 62
  2326. #define SPI_SETSERIALKEYS 63
  2327. #define SPI_GETHIGHCONTRAST 66
  2328. #define SPI_SETHIGHCONTRAST 67
  2329. #define SPI_GETKEYBOARDPREF 68
  2330. #define SPI_SETKEYBOARDPREF 69
  2331. #define SPI_GETSCREENREADER 70
  2332. #define SPI_SETSCREENREADER 71
  2333. #define SPI_GETANIMATION 72
  2334. #define SPI_SETANIMATION 73
  2335. #define SPI_GETFONTSMOOTHING 74
  2336. #define SPI_SETFONTSMOOTHING 75
  2337. #define SPI_SETDRAGWIDTH 76
  2338. #define SPI_SETDRAGHEIGHT 77
  2339. #define SPI_SETHANDHELD 78
  2340. #define SPI_GETLOWPOWERTIMEOUT 79
  2341. #define SPI_GETPOWEROFFTIMEOUT 80
  2342. #define SPI_SETLOWPOWERTIMEOUT 81
  2343. #define SPI_SETPOWEROFFTIMEOUT 82
  2344. #define SPI_GETLOWPOWERACTIVE 83
  2345. #define SPI_GETPOWEROFFACTIVE 84
  2346. #define SPI_SETLOWPOWERACTIVE 85
  2347. #define SPI_SETPOWEROFFACTIVE 86
  2348. #define SPI_SETCURSORS 87
  2349. #define SPI_SETICONS 88
  2350. #define SPI_GETDEFAULTINPUTLANG 89
  2351. #define SPI_SETDEFAULTINPUTLANG 90
  2352. #define SPI_SETLANGTOGGLE 91
  2353. #define SPI_GETWINDOWSEXTENSION 92
  2354. #define SPI_SETMOUSETRAILS 93
  2355. #define SPI_GETMOUSETRAILS 94
  2356. #define SPI_SETSCREENSAVERRUNNING 97
  2357. #define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING
  2358. /* defines below are for all win versions (_WIN32_WINNT >= 0x0400) ||
  2359. * (_WIN32_WINDOWS > 0x0400) */
  2360. #define SPI_GETMOUSEHOVERWIDTH 98
  2361. #define SPI_SETMOUSEHOVERWIDTH 99
  2362. #define SPI_GETMOUSEHOVERHEIGHT 100
  2363. #define SPI_SETMOUSEHOVERHEIGHT 101
  2364. #define SPI_GETMOUSEHOVERTIME 102
  2365. #define SPI_SETMOUSEHOVERTIME 103
  2366. #define SPI_GETWHEELSCROLLLINES 104
  2367. #define SPI_SETWHEELSCROLLLINES 105
  2368. #define SPI_GETMENUSHOWDELAY 106
  2369. #define SPI_SETMENUSHOWDELAY 107
  2370. #define SPI_GETSHOWIMEUI 110
  2371. #define SPI_SETSHOWIMEUI 111
  2372. /* defines below are for all win versions WINVER >= 0x0500 */
  2373. #define SPI_GETMOUSESPEED 112
  2374. #define SPI_SETMOUSESPEED 113
  2375. #define SPI_GETSCREENSAVERRUNNING 114
  2376. #define SPI_GETDESKWALLPAPER 115
  2377. #define SPI_GETACTIVEWINDOWTRACKING 0x1000
  2378. #define SPI_SETACTIVEWINDOWTRACKING 0x1001
  2379. #define SPI_GETMENUANIMATION 0x1002
  2380. #define SPI_SETMENUANIMATION 0x1003
  2381. #define SPI_GETCOMBOBOXANIMATION 0x1004
  2382. #define SPI_SETCOMBOBOXANIMATION 0x1005
  2383. #define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
  2384. #define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
  2385. #define SPI_GETGRADIENTCAPTIONS 0x1008
  2386. #define SPI_SETGRADIENTCAPTIONS 0x1009
  2387. #define SPI_GETKEYBOARDCUES 0x100A
  2388. #define SPI_SETKEYBOARDCUES 0x100B
  2389. #define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES
  2390. #define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES
  2391. #define SPI_GETACTIVEWNDTRKZORDER 0x100C
  2392. #define SPI_SETACTIVEWNDTRKZORDER 0x100D
  2393. #define SPI_GETHOTTRACKING 0x100E
  2394. #define SPI_SETHOTTRACKING 0x100F
  2395. #define SPI_GETSELECTIONFADE 0x1014
  2396. #define SPI_SETSELECTIONFADE 0x1015
  2397. #define SPI_GETDROPSHADOW 0x1024
  2398. #define SPI_SETDROPSHADOW 0x1025
  2399. #define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
  2400. #define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
  2401. #define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002
  2402. #define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003
  2403. #define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
  2404. #define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
  2405. #define SPI_GETCARETWIDTH 0x2006
  2406. #define SPI_SETCARETWIDTH 0x2007
  2407. /* defines below are for all win versions _WIN32_WINNT >= 0x0501 */
  2408. #define SPI_GETMOUSESONAR 0x101C
  2409. #define SPI_SETMOUSESONAR 0x101D
  2410. #define SPI_GETMOUSECLICKLOCK 0x101E
  2411. #define SPI_SETMOUSECLICKLOCK 0x101F
  2412. #define SPI_GETMOUSEVANISH 0x1020
  2413. #define SPI_SETMOUSEVANISH 0x1021
  2414. #define SPI_GETFLATMENU 0x1022
  2415. #define SPI_SETFLATMENU 0x1023
  2416. #define SPI_GETDROPSHADOW 0x1024
  2417. #define SPI_SETDROPSHADOW 0x1025
  2418. #define SPI_GETMOUSECLICKLOCKTIME 0x2008
  2419. #define SPI_SETMOUSECLICKLOCKTIME 0x2009
  2420. #define SPI_GETFONTSMOOTHINGTYPE 0x200A
  2421. #define SPI_SETFONTSMOOTHINGTYPE 0x200B
  2422. /* Used by SPI_{GET,SET}FONTSMOOTHINGTYPE */
  2423. #define FE_FONTSMOOTHINGSTANDARD 0x0001
  2424. #define FE_FONTSMOOTHINGCLEARTYPE 0x0002
  2425. #define FE_FONTSMOOTHINGDOCKING 0x8000
  2426. #define SPI_GETFONTSMOOTHINGCONTRAST 0x200C
  2427. #define SPI_SETFONTSMOOTHINGCONTRAST 0x200D
  2428. #define SPI_GETFOCUSBORDERWIDTH 0x200E
  2429. #define SPI_SETFOCUSBORDERWIDTH 0x200F
  2430. #define SPI_GETFOCUSBORDERHEIGHT 0x2010
  2431. #define SPI_SETFOCUSBORDERHEIGHT 0x2011
  2432. /* SystemParametersInfo flags */
  2433. #define SPIF_UPDATEINIFILE 1
  2434. #define SPIF_SENDWININICHANGE 2
  2435. #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE
  2436. #if defined(_WINGDI_) && !defined(NOGDI)
  2437. typedef struct tagNONCLIENTMETRICSA {
  2438. UINT cbSize;
  2439. INT iBorderWidth;
  2440. INT iScrollWidth;
  2441. INT iScrollHeight;
  2442. INT iCaptionWidth;
  2443. INT iCaptionHeight;
  2444. LOGFONTA lfCaptionFont;
  2445. INT iSmCaptionWidth;
  2446. INT iSmCaptionHeight;
  2447. LOGFONTA lfSmCaptionFont;
  2448. INT iMenuWidth;
  2449. INT iMenuHeight;
  2450. LOGFONTA lfMenuFont;
  2451. LOGFONTA lfStatusFont;
  2452. LOGFONTA lfMessageFont;
  2453. } NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, *LPNONCLIENTMETRICSA;
  2454. typedef struct tagNONCLIENTMETRICSW {
  2455. UINT cbSize;
  2456. INT iBorderWidth;
  2457. INT iScrollWidth;
  2458. INT iScrollHeight;
  2459. INT iCaptionWidth;
  2460. INT iCaptionHeight;
  2461. LOGFONTW lfCaptionFont;
  2462. INT iSmCaptionWidth;
  2463. INT iSmCaptionHeight;
  2464. LOGFONTW lfSmCaptionFont;
  2465. INT iMenuWidth;
  2466. INT iMenuHeight;
  2467. LOGFONTW lfMenuFont;
  2468. LOGFONTW lfStatusFont;
  2469. LOGFONTW lfMessageFont;
  2470. } NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, *LPNONCLIENTMETRICSW;
  2471. DECL_WINELIB_TYPE_AW(NONCLIENTMETRICS)
  2472. DECL_WINELIB_TYPE_AW(PNONCLIENTMETRICS)
  2473. DECL_WINELIB_TYPE_AW(LPNONCLIENTMETRICS)
  2474. typedef struct tagICONMETRICSA {
  2475. UINT cbSize;
  2476. int iHorzSpacing;
  2477. int iVertSpacing;
  2478. int iTitleWrap;
  2479. LOGFONTA lfFont;
  2480. } ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
  2481. typedef struct tagICONMETRICSW {
  2482. UINT cbSize;
  2483. int iHorzSpacing;
  2484. int iVertSpacing;
  2485. int iTitleWrap;
  2486. LOGFONTW lfFont;
  2487. } ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
  2488. DECL_WINELIB_TYPE_AW(ICONMETRICS)
  2489. DECL_WINELIB_TYPE_AW(PICONMETRICS)
  2490. DECL_WINELIB_TYPE_AW(LPICONMETRICS)
  2491. #endif /* defined(_WINGDI_) && !defined(NOGDI) */
  2492. #define ARW_BOTTOMLEFT 0x0000L
  2493. #define ARW_BOTTOMRIGHT 0x0001L
  2494. #define ARW_TOPLEFT 0x0002L
  2495. #define ARW_TOPRIGHT 0x0003L
  2496. #define ARW_STARTMASK 0x0003L
  2497. #define ARW_STARTRIGHT 0x0001L
  2498. #define ARW_STARTTOP 0x0002L
  2499. #define ARW_LEFT 0x0000L
  2500. #define ARW_RIGHT 0x0000L
  2501. #define ARW_UP 0x0004L
  2502. #define ARW_DOWN 0x0004L
  2503. #define ARW_HIDE 0x0008L
  2504. typedef struct tagMINIMIZEDMETRICS {
  2505. UINT cbSize;
  2506. int iWidth;
  2507. int iHorzGap;
  2508. int iVertGap;
  2509. int iArrange;
  2510. } MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
  2511. /* Window Styles */
  2512. #define WS_OVERLAPPED 0x00000000L
  2513. #define WS_POPUP 0x80000000L
  2514. #define WS_CHILD 0x40000000L
  2515. #define WS_MINIMIZE 0x20000000L
  2516. #define WS_VISIBLE 0x10000000L
  2517. #define WS_DISABLED 0x08000000L
  2518. #define WS_CLIPSIBLINGS 0x04000000L
  2519. #define WS_CLIPCHILDREN 0x02000000L
  2520. #define WS_MAXIMIZE 0x01000000L
  2521. #define WS_CAPTION 0x00C00000L
  2522. #define WS_BORDER 0x00800000L
  2523. #define WS_DLGFRAME 0x00400000L
  2524. #define WS_VSCROLL 0x00200000L
  2525. #define WS_HSCROLL 0x00100000L
  2526. #define WS_SYSMENU 0x00080000L
  2527. #define WS_THICKFRAME 0x00040000L
  2528. #define WS_GROUP 0x00020000L
  2529. #define WS_TABSTOP 0x00010000L
  2530. #define WS_MINIMIZEBOX 0x00020000L
  2531. #define WS_MAXIMIZEBOX 0x00010000L
  2532. #define WS_TILED WS_OVERLAPPED
  2533. #define WS_ICONIC WS_MINIMIZE
  2534. #define WS_SIZEBOX WS_THICKFRAME
  2535. #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
  2536. #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
  2537. #define WS_CHILDWINDOW (WS_CHILD)
  2538. #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
  2539. /* Window extended styles */
  2540. #define WS_EX_DLGMODALFRAME 0x00000001L
  2541. #define WS_EX_DRAGDETECT 0x00000002L
  2542. #define WS_EX_NOPARENTNOTIFY 0x00000004L
  2543. #define WS_EX_TOPMOST 0x00000008L
  2544. #define WS_EX_ACCEPTFILES 0x00000010L
  2545. #define WS_EX_TRANSPARENT 0x00000020L
  2546. /* New Win95/WinNT4 styles */
  2547. #define WS_EX_MDICHILD 0x00000040L
  2548. #define WS_EX_TOOLWINDOW 0x00000080L
  2549. #define WS_EX_WINDOWEDGE 0x00000100L
  2550. #define WS_EX_CLIENTEDGE 0x00000200L
  2551. #define WS_EX_CONTEXTHELP 0x00000400L
  2552. #define WS_EX_RIGHT 0x00001000L
  2553. #define WS_EX_LEFT 0x00000000L
  2554. #define WS_EX_RTLREADING 0x00002000L
  2555. #define WS_EX_LTRREADING 0x00000000L
  2556. #define WS_EX_LEFTSCROLLBAR 0x00004000L
  2557. #define WS_EX_RIGHTSCROLLBAR 0x00000000L
  2558. #define WS_EX_CONTROLPARENT 0x00010000L
  2559. #define WS_EX_STATICEDGE 0x00020000L
  2560. #define WS_EX_APPWINDOW 0x00040000L
  2561. #define WS_EX_LAYOUTRTL 0x00400000L
  2562. #define WS_EX_NOINHERITLAYOUT 0x00100000L
  2563. #define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)
  2564. #define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)
  2565. /* New Win2000 styles */
  2566. #define WS_EX_LAYERED 0x00080000L
  2567. /* WINE internal... */
  2568. #define WS_EX_TRAYWINDOW 0x80000000L
  2569. /* Window scrolling */
  2570. #define SW_SCROLLCHILDREN 0x0001
  2571. #define SW_INVALIDATE 0x0002
  2572. #define SW_ERASE 0x0004
  2573. /* CreateWindow() coordinates */
  2574. #define CW_USEDEFAULT ((INT)0x80000000)
  2575. /* ChildWindowFromPointEx Flags */
  2576. #define CWP_ALL 0x0000
  2577. #define CWP_SKIPINVISIBLE 0x0001
  2578. #define CWP_SKIPDISABLED 0x0002
  2579. #define CWP_SKIPTRANSPARENT 0x0004
  2580. /* PeekMessage() options */
  2581. #define PM_NOREMOVE 0x0000
  2582. #define PM_REMOVE 0x0001
  2583. #define PM_NOYIELD 0x0002
  2584. /* AnimateWindow() flags */
  2585. #define AW_SLIDE 0x00040000
  2586. #define AW_ACTIVATE 0x00020000
  2587. #define AW_BLEND 0x00080000
  2588. #define AW_HIDE 0x00010000
  2589. #define AW_CENTER 0x00000010
  2590. #define AW_HOR_POSITIVE 0x00000001
  2591. #define AW_HOR_NEGATIVE 0x00000002
  2592. #define AW_VER_POSITIVE 0x00000004
  2593. #define AW_VER_NEGATIVE 0x00000008
  2594. /* FlashWindowEx() flags */
  2595. #define FLASHW_STOP 0x00000000
  2596. #define FLASHW_CAPTION 0x00000001
  2597. #define FLASHW_TRAY 0x00000002
  2598. #define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
  2599. #define FLASHW_TIMER 0x00000004
  2600. #define FLASHW_TIMERNOFG 0x0000000C
  2601. typedef struct {
  2602. UINT cbSize;
  2603. HWND hwnd;
  2604. DWORD dwFlags;
  2605. UINT uCount;
  2606. DWORD dwTimeout;
  2607. } FLASHWINFO, *PFLASHWINFO;
  2608. /* WM_SHOWWINDOW wParam codes */
  2609. #define SW_PARENTCLOSING 1
  2610. #define SW_OTHERMAXIMIZED 2
  2611. #define SW_PARENTOPENING 3
  2612. #define SW_OTHERRESTORED 4
  2613. /* ShowWindow() codes */
  2614. #define SW_HIDE 0
  2615. #define SW_SHOWNORMAL 1
  2616. #define SW_NORMAL 1
  2617. #define SW_SHOWMINIMIZED 2
  2618. #define SW_SHOWMAXIMIZED 3
  2619. #define SW_MAXIMIZE 3
  2620. #define SW_SHOWNOACTIVATE 4
  2621. #define SW_SHOW 5
  2622. #define SW_MINIMIZE 6
  2623. #define SW_SHOWMINNOACTIVE 7
  2624. #define SW_SHOWNA 8
  2625. #define SW_RESTORE 9
  2626. #define SW_SHOWDEFAULT 10
  2627. #define SW_FORCEMINIMIZE 11
  2628. #define SW_MAX 11
  2629. #define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */
  2630. /* WM_SIZE message wParam values */
  2631. #define SIZE_RESTORED 0
  2632. #define SIZE_MINIMIZED 1
  2633. #define SIZE_MAXIMIZED 2
  2634. #define SIZE_MAXSHOW 3
  2635. #define SIZE_MAXHIDE 4
  2636. #define SIZENORMAL SIZE_RESTORED
  2637. #define SIZEICONIC SIZE_MINIMIZED
  2638. #define SIZEFULLSCREEN SIZE_MAXIMIZED
  2639. #define SIZEZOOMSHOW SIZE_MAXSHOW
  2640. #define SIZEZOOMHIDE SIZE_MAXHIDE
  2641. /* SetWindowPos() and WINDOWPOS flags */
  2642. #define SWP_NOSIZE 0x0001
  2643. #define SWP_NOMOVE 0x0002
  2644. #define SWP_NOZORDER 0x0004
  2645. #define SWP_NOREDRAW 0x0008
  2646. #define SWP_NOACTIVATE 0x0010
  2647. #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
  2648. #define SWP_SHOWWINDOW 0x0040
  2649. #define SWP_HIDEWINDOW 0x0080
  2650. #define SWP_NOCOPYBITS 0x0100
  2651. #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
  2652. #define SWP_DRAWFRAME SWP_FRAMECHANGED
  2653. #define SWP_NOREPOSITION SWP_NOOWNERZORDER
  2654. #define SWP_NOSENDCHANGING 0x0400
  2655. #define SWP_DEFERERASE 0x2000
  2656. #define SWP_ASYNCWINDOWPOS 0x4000
  2657. #define HWND_DESKTOP ((HWND)0)
  2658. #define HWND_BROADCAST ((HWND)0xffff)
  2659. /* SetWindowPos() hwndInsertAfter field values */
  2660. #define HWND_TOP ((HWND)0)
  2661. #define HWND_BOTTOM ((HWND)1)
  2662. #define HWND_TOPMOST ((HWND)-1)
  2663. #define HWND_NOTOPMOST ((HWND)-2)
  2664. #define HWND_MESSAGE ((HWND)-3)
  2665. /* GetDCEx flags */
  2666. #define DCX_WINDOW 0x00000001
  2667. #define DCX_CACHE 0x00000002
  2668. #define DCX_NORESETATTRS 0x00000004
  2669. #define DCX_CLIPCHILDREN 0x00000008
  2670. #define DCX_CLIPSIBLINGS 0x00000010
  2671. #define DCX_PARENTCLIP 0x00000020
  2672. #define DCX_EXCLUDERGN 0x00000040
  2673. #define DCX_INTERSECTRGN 0x00000080
  2674. #define DCX_EXCLUDEUPDATE 0x00000100
  2675. #define DCX_INTERSECTUPDATE 0x00000200
  2676. #define DCX_LOCKWINDOWUPDATE 0x00000400
  2677. #define DCX_USESTYLE 0x00010000
  2678. #define DCX_NORECOMPUTE 0x00100000
  2679. #define DCX_VALIDATE 0x00200000
  2680. #define MF_INSERT 0x0000
  2681. #define MF_CHANGE 0x0080
  2682. #define MF_APPEND 0x0100
  2683. #define MF_DELETE 0x0200
  2684. #define MF_REMOVE 0x1000
  2685. #define MF_END 0x0080
  2686. #define MF_ENABLED 0x0000
  2687. #define MF_GRAYED 0x0001
  2688. #define MF_DISABLED 0x0002
  2689. #define MF_STRING 0x0000
  2690. #define MF_BITMAP 0x0004
  2691. #define MF_UNCHECKED 0x0000
  2692. #define MF_CHECKED 0x0008
  2693. #define MF_POPUP 0x0010
  2694. #define MF_MENUBARBREAK 0x0020
  2695. #define MF_MENUBREAK 0x0040
  2696. #define MF_UNHILITE 0x0000
  2697. #define MF_HILITE 0x0080
  2698. #define MF_OWNERDRAW 0x0100
  2699. #define MF_USECHECKBITMAPS 0x0200
  2700. #define MF_BYCOMMAND 0x0000
  2701. #define MF_BYPOSITION 0x0400
  2702. #define MF_SEPARATOR 0x0800
  2703. #define MF_DEFAULT 0x1000
  2704. #define MF_SYSMENU 0x2000
  2705. #define MF_HELP 0x4000
  2706. #define MF_RIGHTJUSTIFY 0x4000
  2707. #define MF_MOUSESELECT 0x8000
  2708. /* Flags for extended menu item types. */
  2709. #define MFT_STRING MF_STRING
  2710. #define MFT_BITMAP MF_BITMAP
  2711. #define MFT_MENUBARBREAK MF_MENUBARBREAK
  2712. #define MFT_MENUBREAK MF_MENUBREAK
  2713. #define MFT_OWNERDRAW MF_OWNERDRAW
  2714. #define MFT_RADIOCHECK 0x00000200L
  2715. #define MFT_SEPARATOR MF_SEPARATOR
  2716. #define MFT_RIGHTORDER 0x00002000L
  2717. #define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
  2718. /* Flags for extended menu item states. */
  2719. #define MFS_GRAYED 0x00000003L
  2720. #define MFS_DISABLED MFS_GRAYED
  2721. #define MFS_CHECKED MF_CHECKED
  2722. #define MFS_HILITE MF_HILITE
  2723. #define MFS_ENABLED MF_ENABLED
  2724. #define MFS_UNCHECKED MF_UNCHECKED
  2725. #define MFS_UNHILITE MF_UNHILITE
  2726. #define MFS_DEFAULT MF_DEFAULT
  2727. #define MFS_MASK 0x0000108BL
  2728. #define MFS_HOTTRACKDRAWN 0x10000000L
  2729. #define MFS_CACHEDBMP 0x20000000L
  2730. #define MFS_BOTTOMGAPDROP 0x40000000L
  2731. #define MFS_TOPGAPDROP 0x80000000L
  2732. #define MFS_GAPDROP 0xC0000000L
  2733. /* for GetMenuDefaultItem */
  2734. #define GMDI_USEDISABLED 0x0001L
  2735. #define GMDI_GOINTOPOPUPS 0x0002L
  2736. /* DrawText() flags */
  2737. #define DT_TOP 0x00000000
  2738. #define DT_LEFT 0x00000000
  2739. #define DT_CENTER 0x00000001
  2740. #define DT_RIGHT 0x00000002
  2741. #define DT_VCENTER 0x00000004
  2742. #define DT_BOTTOM 0x00000008
  2743. #define DT_WORDBREAK 0x00000010
  2744. #define DT_SINGLELINE 0x00000020
  2745. #define DT_EXPANDTABS 0x00000040
  2746. #define DT_TABSTOP 0x00000080
  2747. #define DT_NOCLIP 0x00000100
  2748. #define DT_EXTERNALLEADING 0x00000200
  2749. #define DT_CALCRECT 0x00000400
  2750. #define DT_NOPREFIX 0x00000800
  2751. #define DT_INTERNAL 0x00001000
  2752. #define DT_EDITCONTROL 0x00002000
  2753. #define DT_PATH_ELLIPSIS 0x00004000
  2754. #define DT_END_ELLIPSIS 0x00008000
  2755. #define DT_MODIFYSTRING 0x00010000
  2756. #define DT_RTLREADING 0x00020000
  2757. #define DT_WORD_ELLIPSIS 0x00040000
  2758. #define DT_NOFULLWIDTHCHARBREAK 0x00080000
  2759. #define DT_HIDEPREFIX 0x00100000
  2760. #define DT_PREFIXONLY 0x00200000
  2761. /* DrawCaption()/DrawCaptionTemp() flags */
  2762. #define DC_ACTIVE 0x0001
  2763. #define DC_SMALLCAP 0x0002
  2764. #define DC_ICON 0x0004
  2765. #define DC_TEXT 0x0008
  2766. #define DC_INBUTTON 0x0010
  2767. /* DrawEdge() flags */
  2768. #define BDR_RAISEDOUTER 0x0001
  2769. #define BDR_SUNKENOUTER 0x0002
  2770. #define BDR_RAISEDINNER 0x0004
  2771. #define BDR_SUNKENINNER 0x0008
  2772. #define BDR_OUTER 0x0003
  2773. #define BDR_INNER 0x000c
  2774. #define BDR_RAISED 0x0005
  2775. #define BDR_SUNKEN 0x000a
  2776. #define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER)
  2777. #define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER)
  2778. #define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER)
  2779. #define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER)
  2780. /* border flags */
  2781. #define BF_LEFT 0x0001
  2782. #define BF_TOP 0x0002
  2783. #define BF_RIGHT 0x0004
  2784. #define BF_BOTTOM 0x0008
  2785. #define BF_DIAGONAL 0x0010
  2786. #define BF_MIDDLE 0x0800 /* Fill in the middle */
  2787. #define BF_SOFT 0x1000 /* For softer buttons */
  2788. #define BF_ADJUST 0x2000 /* Calculate the space left over */
  2789. #define BF_FLAT 0x4000 /* For flat rather than 3D borders */
  2790. #define BF_MONO 0x8000 /* For monochrome borders */
  2791. #define BF_TOPLEFT (BF_TOP | BF_LEFT)
  2792. #define BF_TOPRIGHT (BF_TOP | BF_RIGHT)
  2793. #define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT)
  2794. #define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT)
  2795. #define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)
  2796. #define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT)
  2797. #define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT)
  2798. #define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)
  2799. #define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)
  2800. /* DrawFrameControl() uType's */
  2801. #define DFC_CAPTION 1
  2802. #define DFC_MENU 2
  2803. #define DFC_SCROLL 3
  2804. #define DFC_BUTTON 4
  2805. /* uState's */
  2806. #define DFCS_CAPTIONCLOSE 0x0000
  2807. #define DFCS_CAPTIONMIN 0x0001
  2808. #define DFCS_CAPTIONMAX 0x0002
  2809. #define DFCS_CAPTIONRESTORE 0x0003
  2810. #define DFCS_CAPTIONHELP 0x0004 /* Windows 95 only */
  2811. #define DFCS_MENUARROW 0x0000
  2812. #define DFCS_MENUCHECK 0x0001
  2813. #define DFCS_MENUBULLET 0x0002
  2814. #define DFCS_MENUARROWRIGHT 0x0004
  2815. #define DFCS_SCROLLUP 0x0000
  2816. #define DFCS_SCROLLDOWN 0x0001
  2817. #define DFCS_SCROLLLEFT 0x0002
  2818. #define DFCS_SCROLLRIGHT 0x0003
  2819. #define DFCS_SCROLLCOMBOBOX 0x0005
  2820. #define DFCS_SCROLLSIZEGRIP 0x0008
  2821. #define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
  2822. #define DFCS_BUTTONCHECK 0x0000
  2823. #define DFCS_BUTTONRADIOIMAGE 0x0001
  2824. #define DFCS_BUTTONRADIOMASK 0x0002 /* to draw nonsquare button */
  2825. #define DFCS_BUTTONRADIO 0x0004
  2826. #define DFCS_BUTTON3STATE 0x0008
  2827. #define DFCS_BUTTONPUSH 0x0010
  2828. /* additional state of the control */
  2829. #define DFCS_INACTIVE 0x0100
  2830. #define DFCS_PUSHED 0x0200
  2831. #define DFCS_CHECKED 0x0400
  2832. #define DFCS_TRANSPARENT 0x0800
  2833. #define DFCS_HOT 0x1000
  2834. #define DFCS_ADJUSTRECT 0x2000 /* exclude surrounding edge */
  2835. #define DFCS_FLAT 0x4000
  2836. #define DFCS_MONO 0x8000
  2837. /* Image type */
  2838. #define DST_COMPLEX 0x0000
  2839. #define DST_TEXT 0x0001
  2840. #define DST_PREFIXTEXT 0x0002
  2841. #define DST_ICON 0x0003
  2842. #define DST_BITMAP 0x0004
  2843. /* State type */
  2844. #define DSS_NORMAL 0x0000
  2845. #define DSS_UNION 0x0010 /* Gray string appearance */
  2846. #define DSS_DISABLED 0x0020
  2847. #define DSS_DEFAULT 0x0040 /* Make it bold */
  2848. #define DSS_MONO 0x0080
  2849. #define DSS_RIGHT 0x8000
  2850. /* UserObjectInformation classes */
  2851. #define UOI_FLAGS 1
  2852. #define UOI_NAME 2
  2853. #define UOI_TYPE 3
  2854. #define UOI_USER_SID 4
  2855. /* Sent as the lParam of a WM_DRAWITEM message to instruct how an
  2856. * owner drawn control is to be drawn */
  2857. typedef struct tagDRAWITEMSTRUCT
  2858. {
  2859. UINT CtlType; /* Type of control (ODT_* flags from "winuser.h") */
  2860. UINT CtlID; /* Control ID */
  2861. UINT itemID; /* Menu item ID */
  2862. UINT itemAction; /* Action to perform (ODA_* flags from "winuser.h") */
  2863. UINT itemState; /* Item state (ODS_* flags from "winuser.h") */
  2864. HWND hwndItem; /* Control window */
  2865. HDC hDC; /* Device context to draw to */
  2866. RECT rcItem; /* Position of the control in hDC */
  2867. ULONG_PTR itemData; /* Extra data added by the application, if any */
  2868. } DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;
  2869. typedef struct tagMEASUREITEMSTRUCT
  2870. {
  2871. UINT CtlType;
  2872. UINT CtlID;
  2873. UINT itemID;
  2874. UINT itemWidth;
  2875. UINT itemHeight;
  2876. ULONG_PTR itemData;
  2877. } MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
  2878. typedef struct tagDELETEITEMSTRUCT
  2879. {
  2880. UINT CtlType;
  2881. UINT CtlID;
  2882. UINT itemID;
  2883. HWND hwndItem;
  2884. ULONG_PTR itemData;
  2885. } DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT;
  2886. typedef struct tagCOMPAREITEMSTRUCT
  2887. {
  2888. UINT CtlType;
  2889. UINT CtlID;
  2890. HWND hwndItem;
  2891. UINT itemID1;
  2892. ULONG_PTR itemData1;
  2893. UINT itemID2;
  2894. ULONG_PTR itemData2;
  2895. DWORD dwLocaleId;
  2896. } COMPAREITEMSTRUCT, *PCOMPAREITEMSTRUCT, *LPCOMPAREITEMSTRUCT;
  2897. /* WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags */
  2898. #define KF_EXTENDED 0x0100
  2899. #define KF_DLGMODE 0x0800
  2900. #define KF_MENUMODE 0x1000
  2901. #define KF_ALTDOWN 0x2000
  2902. #define KF_REPEAT 0x4000
  2903. #define KF_UP 0x8000
  2904. /* Virtual key codes */
  2905. #define VK_LBUTTON 0x01
  2906. #define VK_RBUTTON 0x02
  2907. #define VK_CANCEL 0x03
  2908. #define VK_MBUTTON 0x04
  2909. #define VK_XBUTTON1 0x05
  2910. #define VK_XBUTTON2 0x06
  2911. /* 0x07 Undefined */
  2912. #define VK_BACK 0x08
  2913. #define VK_TAB 0x09
  2914. /* 0x0A-0x0B Undefined */
  2915. #define VK_CLEAR 0x0C
  2916. #define VK_RETURN 0x0D
  2917. /* 0x0E-0x0F Undefined */
  2918. #define VK_SHIFT 0x10
  2919. #define VK_CONTROL 0x11
  2920. #define VK_MENU 0x12
  2921. #define VK_PAUSE 0x13
  2922. #define VK_CAPITAL 0x14
  2923. /* 0x15-0x19 Reserved for Kanji systems */
  2924. /* 0x1A Undefined */
  2925. #define VK_ESCAPE 0x1B
  2926. /* 0x1C-0x1F Reserved for Kanji systems */
  2927. #define VK_SPACE 0x20
  2928. #define VK_PRIOR 0x21
  2929. #define VK_NEXT 0x22
  2930. #define VK_END 0x23
  2931. #define VK_HOME 0x24
  2932. #define VK_LEFT 0x25
  2933. #define VK_UP 0x26
  2934. #define VK_RIGHT 0x27
  2935. #define VK_DOWN 0x28
  2936. #define VK_SELECT 0x29
  2937. #define VK_PRINT 0x2A /* OEM specific in Windows 3.1 SDK */
  2938. #define VK_EXECUTE 0x2B
  2939. #define VK_SNAPSHOT 0x2C
  2940. #define VK_INSERT 0x2D
  2941. #define VK_DELETE 0x2E
  2942. #define VK_HELP 0x2F
  2943. /* VK_0 - VK-9 0x30-0x39 Use ASCII instead */
  2944. /* 0x3A-0x40 Undefined */
  2945. /* VK_A - VK_Z 0x41-0x5A Use ASCII instead */
  2946. #define VK_LWIN 0x5B
  2947. #define VK_RWIN 0x5C
  2948. #define VK_APPS 0x5D
  2949. /* 0x5E-0x5F Unassigned */
  2950. #define VK_NUMPAD0 0x60
  2951. #define VK_NUMPAD1 0x61
  2952. #define VK_NUMPAD2 0x62
  2953. #define VK_NUMPAD3 0x63
  2954. #define VK_NUMPAD4 0x64
  2955. #define VK_NUMPAD5 0x65
  2956. #define VK_NUMPAD6 0x66
  2957. #define VK_NUMPAD7 0x67
  2958. #define VK_NUMPAD8 0x68
  2959. #define VK_NUMPAD9 0x69
  2960. #define VK_MULTIPLY 0x6A
  2961. #define VK_ADD 0x6B
  2962. #define VK_SEPARATOR 0x6C
  2963. #define VK_SUBTRACT 0x6D
  2964. #define VK_DECIMAL 0x6E
  2965. #define VK_DIVIDE 0x6F
  2966. #define VK_F1 0x70
  2967. #define VK_F2 0x71
  2968. #define VK_F3 0x72
  2969. #define VK_F4 0x73
  2970. #define VK_F5 0x74
  2971. #define VK_F6 0x75
  2972. #define VK_F7 0x76
  2973. #define VK_F8 0x77
  2974. #define VK_F9 0x78
  2975. #define VK_F10 0x79
  2976. #define VK_F11 0x7A
  2977. #define VK_F12 0x7B
  2978. #define VK_F13 0x7C
  2979. #define VK_F14 0x7D
  2980. #define VK_F15 0x7E
  2981. #define VK_F16 0x7F
  2982. #define VK_F17 0x80
  2983. #define VK_F18 0x81
  2984. #define VK_F19 0x82
  2985. #define VK_F20 0x83
  2986. #define VK_F21 0x84
  2987. #define VK_F22 0x85
  2988. #define VK_F23 0x86
  2989. #define VK_F24 0x87
  2990. /* 0x88-0x8F Unassigned */
  2991. #define VK_NUMLOCK 0x90
  2992. #define VK_SCROLL 0x91
  2993. /* 0x92-0x9F Unassigned */
  2994. /*
  2995. * differencing between right and left shift/control/alt key.
  2996. * Used only by GetAsyncKeyState() and GetKeyState().
  2997. */
  2998. #define VK_LSHIFT 0xA0
  2999. #define VK_RSHIFT 0xA1
  3000. #define VK_LCONTROL 0xA2
  3001. #define VK_RCONTROL 0xA3
  3002. #define VK_LMENU 0xA4
  3003. #define VK_RMENU 0xA5
  3004. /* 0xA6-0xB9 Unassigned */
  3005. #define VK_OEM_1 0xBA
  3006. #define VK_OEM_PLUS 0xBB
  3007. #define VK_OEM_COMMA 0xBC
  3008. #define VK_OEM_MINUS 0xBD
  3009. #define VK_OEM_PERIOD 0xBE
  3010. #define VK_OEM_2 0xBF
  3011. #define VK_OEM_3 0xC0
  3012. /* 0xC1-0xDA Unassigned */
  3013. #define VK_OEM_4 0xDB
  3014. #define VK_OEM_5 0xDC
  3015. #define VK_OEM_6 0xDD
  3016. #define VK_OEM_7 0xDE
  3017. #define VK_OEM_8 0xDF
  3018. /* 0xE0 OEM specific */
  3019. #define VK_OEM_AX 0xE1 /* "AX" key on Japanese AX keyboard */
  3020. #define VK_OEM_102 0xE2 /* "<>" or "\|" on RT 102-key keyboard */
  3021. #define VK_ICO_HELP 0xE3 /* Help key on ICO */
  3022. #define VK_ICO_00 0xE4 /* 00 key on ICO */
  3023. #define VK_PROCESSKEY 0xE5
  3024. /* 0xE6 OEM specific */
  3025. /* 0xE7-0xE8 Unassigned */
  3026. /* 0xE9-0xF5 OEM specific */
  3027. #define VK_ATTN 0xF6
  3028. #define VK_CRSEL 0xF7
  3029. #define VK_EXSEL 0xF8
  3030. #define VK_EREOF 0xF9
  3031. #define VK_PLAY 0xFA
  3032. #define VK_ZOOM 0xFB
  3033. #define VK_NONAME 0xFC
  3034. #define VK_PA1 0xFD
  3035. #define VK_OEM_CLEAR 0xFE
  3036. /* Key status flags for mouse events */
  3037. #define MK_LBUTTON 0x0001
  3038. #define MK_RBUTTON 0x0002
  3039. #define MK_SHIFT 0x0004
  3040. #define MK_CONTROL 0x0008
  3041. #define MK_MBUTTON 0x0010
  3042. #define MK_XBUTTON1 0x0020
  3043. #define MK_XBUTTON2 0x0040
  3044. #define WM_MOUSEHOVER 0x02A1
  3045. #define WM_MOUSELEAVE 0x02A3
  3046. #define WM_NCMOUSEHOVER 0x02A0
  3047. #define WM_NCMOUSELEAVE 0x02A2
  3048. #define TME_HOVER 0x00000001
  3049. #define TME_LEAVE 0x00000002
  3050. #define TME_NONCLIENT 0x00000010
  3051. #define TME_QUERY 0x40000000
  3052. #define TME_CANCEL 0x80000000
  3053. #define HOVER_DEFAULT 0xFFFFFFFF
  3054. typedef struct tagTRACKMOUSEEVENT {
  3055. DWORD cbSize;
  3056. DWORD dwFlags;
  3057. HWND hwndTrack;
  3058. DWORD dwHoverTime;
  3059. } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
  3060. /* Queue status flags */
  3061. #define QS_KEY 0x0001
  3062. #define QS_MOUSEMOVE 0x0002
  3063. #define QS_MOUSEBUTTON 0x0004
  3064. #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
  3065. #define QS_POSTMESSAGE 0x0008
  3066. #define QS_TIMER 0x0010
  3067. #define QS_PAINT 0x0020
  3068. #define QS_SENDMESSAGE 0x0040
  3069. #define QS_HOTKEY 0x0080
  3070. #define QS_INPUT (QS_MOUSE | QS_KEY)
  3071. #define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
  3072. #define QS_ALLINPUT (QS_ALLEVENTS | QS_SENDMESSAGE)
  3073. /* Extra (undocumented) queue wake bits - see "Undoc. Windows" */
  3074. #define QS_SMRESULT 0x8000
  3075. /* InSendMessageEx flags */
  3076. #define ISMEX_NOSEND 0x00000000
  3077. #define ISMEX_SEND 0x00000001
  3078. #define ISMEX_NOTIFY 0x00000002
  3079. #define ISMEX_CALLBACK 0x00000004
  3080. #define ISMEX_REPLIED 0x00000008
  3081. #define DDL_READWRITE 0x0000
  3082. #define DDL_READONLY 0x0001
  3083. #define DDL_HIDDEN 0x0002
  3084. #define DDL_SYSTEM 0x0004
  3085. #define DDL_DIRECTORY 0x0010
  3086. #define DDL_ARCHIVE 0x0020
  3087. #define DDL_POSTMSGS 0x2000
  3088. #define DDL_DRIVES 0x4000
  3089. #define DDL_EXCLUSIVE 0x8000
  3090. /* Shell hook values */
  3091. #define HSHELL_WINDOWCREATED 1
  3092. #define HSHELL_WINDOWDESTROYED 2
  3093. #define HSHELL_ACTIVATESHELLWINDOW 3
  3094. /* Predefined Clipboard Formats */
  3095. #define CF_TEXT 1
  3096. #define CF_BITMAP 2
  3097. #define CF_METAFILEPICT 3
  3098. #define CF_SYLK 4
  3099. #define CF_DIF 5
  3100. #define CF_TIFF 6
  3101. #define CF_OEMTEXT 7
  3102. #define CF_DIB 8
  3103. #define CF_PALETTE 9
  3104. #define CF_PENDATA 10
  3105. #define CF_RIFF 11
  3106. #define CF_WAVE 12
  3107. #define CF_UNICODETEXT 13
  3108. #define CF_ENHMETAFILE 14
  3109. #define CF_HDROP 15
  3110. #define CF_LOCALE 16
  3111. #define CF_DIBV5 17
  3112. #define CF_MAX 18
  3113. #define CF_OWNERDISPLAY 0x0080
  3114. #define CF_DSPTEXT 0x0081
  3115. #define CF_DSPBITMAP 0x0082
  3116. #define CF_DSPMETAFILEPICT 0x0083
  3117. #define CF_DSPENHMETAFILE 0x008E
  3118. /* "Private" formats don't get GlobalFree()'d */
  3119. #define CF_PRIVATEFIRST 0x0200
  3120. #define CF_PRIVATELAST 0x02FF
  3121. /* "GDIOBJ" formats do get DeleteObject()'d */
  3122. #define CF_GDIOBJFIRST 0x0300
  3123. #define CF_GDIOBJLAST 0x03FF
  3124. /* types of LoadImage */
  3125. #define IMAGE_BITMAP 0
  3126. #define IMAGE_ICON 1
  3127. #define IMAGE_CURSOR 2
  3128. #define IMAGE_ENHMETAFILE 3
  3129. /* loadflags to LoadImage */
  3130. #define LR_DEFAULTCOLOR 0x0000
  3131. #define LR_MONOCHROME 0x0001
  3132. #define LR_COLOR 0x0002
  3133. #define LR_COPYRETURNORG 0x0004
  3134. #define LR_COPYDELETEORG 0x0008
  3135. #define LR_LOADFROMFILE 0x0010
  3136. #define LR_LOADTRANSPARENT 0x0020
  3137. #define LR_DEFAULTSIZE 0x0040
  3138. #define LR_VGA_COLOR 0x0080
  3139. #define LR_LOADMAP3DCOLORS 0x1000
  3140. #define LR_CREATEDIBSECTION 0x2000
  3141. #define LR_COPYFROMRESOURCE 0x4000
  3142. #define LR_SHARED 0x8000
  3143. /* Flags for DrawIconEx. */
  3144. #define DI_MASK 1
  3145. #define DI_IMAGE 2
  3146. #define DI_NORMAL (DI_MASK | DI_IMAGE)
  3147. #define DI_COMPAT 4
  3148. #define DI_DEFAULTSIZE 8
  3149. /* WM_NOTIFYFORMAT commands and return values */
  3150. #define NFR_ANSI 1
  3151. #define NFR_UNICODE 2
  3152. #define NF_QUERY 3
  3153. #define NF_REQUERY 4
  3154. /* RegisterDeviceNotification stuff */
  3155. typedef PVOID HDEVNOTIFY;
  3156. typedef HDEVNOTIFY *PHDEVNOTIFY;
  3157. #define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
  3158. /* used for GetWindowInfo() */
  3159. #define WS_ACTIVECAPTION 0x0001
  3160. typedef struct tagWINDOWINFO {
  3161. DWORD cbSize;
  3162. RECT rcWindow;
  3163. RECT rcClient;
  3164. DWORD dwStyle;
  3165. DWORD dwExStyle;
  3166. DWORD dwWindowStatus;
  3167. UINT cxWindowBorders;
  3168. UINT cyWindowBorders;
  3169. ATOM atomWindowType;
  3170. WORD wCreatorVersion;
  3171. } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
  3172. /* used for GetTitleBarInfo() */
  3173. #define CCHILDREN_TITLEBAR 5
  3174. typedef struct tagTITLEBARINFO {
  3175. DWORD cbSize;
  3176. RECT rcTitleBar;
  3177. DWORD rgstate[CCHILDREN_TITLEBAR+1];
  3178. } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
  3179. /* used by GetLastInputInfo */
  3180. typedef struct tagLASTINPUTINFO {
  3181. UINT cbSize;
  3182. DWORD dwTime;
  3183. } LASTINPUTINFO, *PLASTINPUTINFO;
  3184. /* used by GetAltTabInfo */
  3185. typedef struct
  3186. {
  3187. DWORD cbSize;
  3188. INT cItems;
  3189. INT cColumns;
  3190. INT cRows;
  3191. INT iColFocus;
  3192. INT iRowFocus;
  3193. INT cxItem;
  3194. INT cyItem;
  3195. POINT ptStart;
  3196. } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
  3197. /* SetWinEventHook() flags */
  3198. #define WINEVENT_OUTOFCONTEXT 0x0
  3199. #define WINEVENT_SKIPOWNTHREAD 0x1
  3200. #define WINEVENT_SKIPOWNPROCESS 0x2
  3201. #define WINEVENT_INCONTEXT 0x4
  3202. #define ENDSESSION_LOGOFF 0x80000000
  3203. /* Object Id's */
  3204. #define CHILDID_SELF 0
  3205. #define INDEXID_OBJECT 0
  3206. #define INDEXID_CONTAINER 0
  3207. /* System object Id's */
  3208. #define OBJID_WINDOW 0
  3209. #define OBJID_SYSMENU -1
  3210. #define OBJID_TITLEBAR -2
  3211. #define OBJID_MENU -3
  3212. #define OBJID_CLIENT -4
  3213. #define OBJID_VSCROLL -5
  3214. #define OBJID_HSCROLL -6
  3215. #define OBJID_SIZEGRIP -7
  3216. #define OBJID_CARET -8
  3217. #define OBJID_CURSOR -9
  3218. #define OBJID_ALERT -10
  3219. #define OBJID_SOUND -11
  3220. #define OBJID_QUERYCLASSNAMEIDX -12
  3221. #define OBJID_NATIVEOM -16
  3222. /* User event Id limits */
  3223. #define EVENT_MIN 0x00000001
  3224. #define EVENT_MAX 0x7FFFFFFF
  3225. /* System events */
  3226. #define EVENT_SYSTEM_SOUND 0x01
  3227. #define EVENT_SYSTEM_ALERT 0x02
  3228. #define EVENT_SYSTEM_FOREGROUND 0x03
  3229. #define EVENT_SYSTEM_MENUSTART 0x04
  3230. #define EVENT_SYSTEM_MENUEND 0x05
  3231. #define EVENT_SYSTEM_MENUPOPUPSTART 0x06
  3232. #define EVENT_SYSTEM_MENUPOPUPEND 0x07
  3233. #define EVENT_SYSTEM_CAPTURESTART 0x08
  3234. #define EVENT_SYSTEM_CAPTUREEND 0x09
  3235. #define EVENT_SYSTEM_MOVESIZESTART 0x0A
  3236. #define EVENT_SYSTEM_MOVESIZEEND 0x0B
  3237. #define EVENT_SYSTEM_CONTEXTHELPSTART 0x0C
  3238. #define EVENT_SYSTEM_CONTEXTHELPEND 0x0D
  3239. #define EVENT_SYSTEM_DRAGDROPSTART 0x0E
  3240. #define EVENT_SYSTEM_DRAGDROPEND 0x0F
  3241. #define EVENT_SYSTEM_DIALOGSTART 0x10
  3242. #define EVENT_SYSTEM_DIALOGEND 0x11
  3243. #define EVENT_SYSTEM_SCROLLINGSTART 0x12
  3244. #define EVENT_SYSTEM_SCROLLINGEND 0x13
  3245. #define EVENT_SYSTEM_SWITCHSTART 0x14
  3246. #define EVENT_SYSTEM_SWITCHEND 0x15
  3247. #define EVENT_SYSTEM_MINIMIZESTART 0x16
  3248. #define EVENT_SYSTEM_MINIMIZEEND 0x17
  3249. /* Console events */
  3250. #define EVENT_CONSOLE_CARET 0x4001
  3251. #define EVENT_CONSOLE_UPDATE_REGION 0x4002
  3252. #define EVENT_CONSOLE_UPDATE_SIMPLE 0x4003
  3253. #define EVENT_CONSOLE_UPDATE_SCROLL 0x4004
  3254. #define EVENT_CONSOLE_LAYOUT 0x4005
  3255. #define EVENT_CONSOLE_START_APPLICATION 0x4006
  3256. #define EVENT_CONSOLE_END_APPLICATION 0x4007
  3257. #define CONSOLE_APPLICATION_16BIT 0x1
  3258. #define CONSOLE_CARET_SELECTION 0x1
  3259. #define CONSOLE_CARET_VISIBLE 0x2
  3260. /* Object events */
  3261. #define EVENT_OBJECT_CREATE 0x8000
  3262. #define EVENT_OBJECT_DESTROY 0x8001
  3263. #define EVENT_OBJECT_SHOW 0x8002
  3264. #define EVENT_OBJECT_HIDE 0x8003
  3265. #define EVENT_OBJECT_REORDER 0x8004
  3266. #define EVENT_OBJECT_FOCUS 0x8005
  3267. #define EVENT_OBJECT_SELECTION 0x8006
  3268. #define EVENT_OBJECT_SELECTIONADD 0x8007
  3269. #define EVENT_OBJECT_SELECTIONREMOVE 0x8008
  3270. #define EVENT_OBJECT_SELECTIONWITHIN 0x8009
  3271. #define EVENT_OBJECT_STATECHANGE 0x800A
  3272. #define EVENT_OBJECT_LOCATIONCHANGE 0x800B
  3273. #define EVENT_OBJECT_NAMECHANGE 0x800C
  3274. #define EVENT_OBJECT_DESCRIPTIONCHANGE 0x800D
  3275. #define EVENT_OBJECT_VALUECHANGE 0x800E
  3276. #define EVENT_OBJECT_PARENTCHANGE 0x800F
  3277. #define EVENT_OBJECT_HELPCHANGE 0x8010
  3278. #define EVENT_OBJECT_DEFACTIONCHANGE 0x8011
  3279. #define EVENT_OBJECT_ACCELERATORCHANGE 0x8012
  3280. /* Sound events */
  3281. #define SOUND_SYSTEM_STARTUP 1
  3282. #define SOUND_SYSTEM_SHUTDOWN 2
  3283. #define SOUND_SYSTEM_BEEP 3
  3284. #define SOUND_SYSTEM_ERROR 4
  3285. #define SOUND_SYSTEM_QUESTION 5
  3286. #define SOUND_SYSTEM_WARNING 6
  3287. #define SOUND_SYSTEM_INFORMATION 7
  3288. #define SOUND_SYSTEM_MAXIMIZE 8
  3289. #define SOUND_SYSTEM_MINIMIZE 9
  3290. #define SOUND_SYSTEM_RESTOREUP 10
  3291. #define SOUND_SYSTEM_RESTOREDOWN 11
  3292. #define SOUND_SYSTEM_APPSTART 12
  3293. #define SOUND_SYSTEM_FAULT 13
  3294. #define SOUND_SYSTEM_APPEND 14
  3295. #define SOUND_SYSTEM_MENUCOMMAND 15
  3296. #define SOUND_SYSTEM_MENUPOPUP 16
  3297. #define CSOUND_SYSTEM 16
  3298. /* Alert events */
  3299. #define ALERT_SYSTEM_INFORMATIONAL 1
  3300. #define ALERT_SYSTEM_WARNING 2
  3301. #define ALERT_SYSTEM_ERROR 3
  3302. #define ALERT_SYSTEM_QUERY 4
  3303. #define ALERT_SYSTEM_CRITICAL 5
  3304. #define CALERT_SYSTEM 6
  3305. /* System state flags */
  3306. #define STATE_SYSTEM_UNAVAILABLE 0x00000001
  3307. #define STATE_SYSTEM_SELECTED 0x00000002
  3308. #define STATE_SYSTEM_FOCUSED 0x00000004
  3309. #define STATE_SYSTEM_PRESSED 0x00000008
  3310. #define STATE_SYSTEM_CHECKED 0x00000010
  3311. #define STATE_SYSTEM_MIXED 0x00000020
  3312. #define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED
  3313. #define STATE_SYSTEM_READONLY 0x00000040
  3314. #define STATE_SYSTEM_HOTTRACKED 0x00000080
  3315. #define STATE_SYSTEM_DEFAULT 0x00000100
  3316. #define STATE_SYSTEM_EXPANDED 0x00000200
  3317. #define STATE_SYSTEM_COLLAPSED 0x00000400
  3318. #define STATE_SYSTEM_BUSY 0x00000800
  3319. #define STATE_SYSTEM_FLOATING 0x00001000
  3320. #define STATE_SYSTEM_MARQUEED 0x00002000
  3321. #define STATE_SYSTEM_ANIMATED 0x00004000
  3322. #define STATE_SYSTEM_INVISIBLE 0x00008000
  3323. #define STATE_SYSTEM_OFFSCREEN 0x00010000
  3324. #define STATE_SYSTEM_SIZEABLE 0x00020000
  3325. #define STATE_SYSTEM_MOVEABLE 0x00040000
  3326. #define STATE_SYSTEM_SELFVOICING 0x00080000
  3327. #define STATE_SYSTEM_FOCUSABLE 0x00100000
  3328. #define STATE_SYSTEM_SELECTABLE 0x00200000
  3329. #define STATE_SYSTEM_LINKED 0x00400000
  3330. #define STATE_SYSTEM_TRAVERSED 0x00800000
  3331. #define STATE_SYSTEM_MULTISELECTABLE 0x01000000
  3332. #define STATE_SYSTEM_EXTSELECTABLE 0x02000000
  3333. #define STATE_SYSTEM_ALERT_LOW 0x04000000
  3334. #define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
  3335. #define STATE_SYSTEM_ALERT_HIGH 0x10000000
  3336. #define STATE_SYSTEM_PROTECTED 0x20000000
  3337. #define STATE_SYSTEM_VALID 0x3FFFFFFF
  3338. #define EnumTaskWindows(handle,proc,lparam) \
  3339. EnumThreadWindows(handle,proc,lparam)
  3340. #define OemToAnsiA OemToCharA
  3341. #define OemToAnsiW OemToCharW
  3342. #define OemToAnsi WINELIB_NAME_AW(OemToAnsi)
  3343. #define OemToAnsiBuffA OemToCharBuffA
  3344. #define OemToAnsiBuffW OemToCharBuffW
  3345. #define OemToAnsiBuff WINELIB_NAME_AW(OemToAnsiBuff)
  3346. #define AnsiToOemA CharToOemA
  3347. #define AnsiToOemW CharToOemW
  3348. #define AnsiToOem WINELIB_NAME_AW(AnsiToOem)
  3349. #define AnsiToOemBuffA CharToOemBuffA
  3350. #define AnsiToOemBuffW CharToOemBuffW
  3351. #define AnsiToOemBuff WINELIB_NAME_AW(AnsiToOemBuff)
  3352. #if defined(_WINGDI_) && !defined(NOGDI)
  3353. LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD);
  3354. LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD);
  3355. #define ChangeDisplaySettings WINELIB_NAME_AW(ChangeDisplaySettings)
  3356. LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
  3357. LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
  3358. #define ChangeDisplaySettingsEx WINELIB_NAME_AW(ChangeDisplaySettingsEx)
  3359. BOOL WINAPI EnumDisplayDevicesA(LPVOID,DWORD,LPDISPLAY_DEVICEA,DWORD);
  3360. BOOL WINAPI EnumDisplayDevicesW(LPVOID,DWORD,LPDISPLAY_DEVICEW,DWORD);
  3361. #define EnumDisplayDevices WINELIB_NAME_AW(EnumDisplayDevices)
  3362. BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,LPDEVMODEA);
  3363. BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,LPDEVMODEW);
  3364. #define EnumDisplaySettings WINELIB_NAME_AW(EnumDisplaySettings)
  3365. BOOL WINAPI EnumDisplaySettingsExA(LPCSTR,DWORD,LPDEVMODEA,DWORD);
  3366. BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR,DWORD,LPDEVMODEW,DWORD);
  3367. #define EnumDisplaySettingsEx WINELIB_NAME_AW(EnumDisplaySettingsEx)
  3368. #endif /* defined(_WINGDI_) && !defined(NOGDI) */
  3369. HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
  3370. WORD WINAPI CascadeWindows(HWND, UINT, const LPRECT, UINT, const HWND *);
  3371. INT WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,INT);
  3372. INT WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,INT);
  3373. #define CopyAcceleratorTable WINELIB_NAME_AW(CopyAcceleratorTable)
  3374. HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,INT);
  3375. HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,INT);
  3376. #define CreateAcceleratorTable WINELIB_NAME_AW(CreateAcceleratorTable)
  3377. HICON WINAPI CreateIconIndirect(PICONINFO);
  3378. BOOL WINAPI DestroyAcceleratorTable(HACCEL);
  3379. BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
  3380. BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
  3381. #define EnumDesktops WINELIB_NAME_AW(EnumDesktops)
  3382. BOOL WINAPI EnumDisplayMonitors(HDC,LPRECT,MONITORENUMPROC,LPARAM);
  3383. INT WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
  3384. INT WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
  3385. #define EnumPropsEx WINELIB_NAME_AW(EnumPropsEx)
  3386. BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
  3387. BOOL WINAPI ExitWindowsEx(UINT,DWORD);
  3388. BOOL WINAPI GetAltTabInfoA(HWND,INT,PALTTABINFO,LPSTR,UINT);
  3389. BOOL WINAPI GetAltTabInfoW(HWND,INT,PALTTABINFO,LPWSTR,UINT);
  3390. #define GetAltTabInfo WINELIB_NAME_AW(GetAltTabInfo)
  3391. BOOL WINAPI GetIconInfo(HICON,PICONINFO);
  3392. HKL WINAPI GetKeyboardLayout(DWORD);
  3393. UINT WINAPI GetKeyboardLayoutList(INT,HKL *);
  3394. BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO);
  3395. DWORD WINAPI GetMenuContextHelpId(HMENU);
  3396. UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
  3397. BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
  3398. BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,MENUITEMINFOA*);
  3399. BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,MENUITEMINFOW*);
  3400. #define GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
  3401. BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
  3402. BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
  3403. #define GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
  3404. DWORD WINAPI GetWindowContextHelpId(HWND);
  3405. DWORD WINAPI GetWindowThreadProcessId(HWND,LPDWORD);
  3406. BOOL WINAPI IsWinEventHookInstalled(DWORD);
  3407. BOOL WINAPI IsWindowUnicode(HWND);
  3408. HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
  3409. HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
  3410. #define LoadKeyboardLayout WINELIB_NAME_AW(LoadKeyboardLayout)
  3411. INT WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
  3412. INT WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
  3413. #define MessageBoxEx WINELIB_NAME_AW(MessageBoxEx)
  3414. HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
  3415. HMONITOR WINAPI MonitorFromRect(LPRECT,DWORD);
  3416. HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
  3417. DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD);
  3418. DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD);
  3419. VOID WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
  3420. BOOL WINAPI PaintDesktop(HDC);
  3421. BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
  3422. BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
  3423. #define PostThreadMessage WINELIB_NAME_AW(PostThreadMessage)
  3424. BOOL WINAPI RegisterHotKey(HWND,INT,UINT,UINT);
  3425. HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
  3426. HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
  3427. #define RegisterDeviceNotification WINELIB_NAME_AW(RegisterDeviceNotification)
  3428. BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,ULONG_PTR);
  3429. BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,ULONG_PTR);
  3430. #define SendMessageCallback WINELIB_NAME_AW(SendMessageCallback)
  3431. BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
  3432. BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
  3433. #define SendNotifyMessage WINELIB_NAME_AW(SendNotifyMessage)
  3434. VOID WINAPI SetDebugErrorLevel(DWORD);
  3435. VOID WINAPI SetLastErrorEx(DWORD,DWORD);
  3436. BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
  3437. BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
  3438. BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
  3439. BOOL WINAPI SetMenuItemInfoW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
  3440. #define SetMenuItemInfo WINELIB_NAME_AW(SetMenuItemInfo)
  3441. BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
  3442. HWINEVENTHOOK WINAPI SetWinEventHook(DWORD,DWORD,HMODULE,WINEVENTPROC,DWORD,DWORD,DWORD);
  3443. WORD WINAPI TileWindows (HWND, UINT, const LPRECT,
  3444. UINT, const HWND *);
  3445. INT WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
  3446. INT WINAPI ToUnicodeEx(UINT,UINT,LPBYTE,LPWSTR,int,UINT,HKL);
  3447. BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,INT,INT,HWND,
  3448. LPTPMPARAMS);
  3449. BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
  3450. BOOL WINAPI UnloadKeyboardLayout(HKL);
  3451. BOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY);
  3452. BOOL WINAPI UnregisterHotKey(HWND,INT);
  3453. DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
  3454. VOID WINAPI keybd_event(BYTE,BYTE,DWORD,ULONG_PTR);
  3455. VOID WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,ULONG_PTR);
  3456. /* Declarations for functions that are the same in Win16 and Win32 */
  3457. VOID WINAPI EndMenu(void);
  3458. DWORD WINAPI GetDialogBaseUnits(void);
  3459. BOOL WINAPI GetKeyboardState(LPBYTE);
  3460. DWORD WINAPI GetMenuCheckMarkDimensions(void);
  3461. LPARAM WINAPI GetMessageExtraInfo(void);
  3462. DWORD WINAPI GetMessagePos(void);
  3463. LONG WINAPI GetMessageTime(void);
  3464. DWORD WINAPI OemKeyScan(WORD);
  3465. BOOL WINAPI ReleaseCapture(void);
  3466. BOOL WINAPI SetKeyboardState(LPBYTE);
  3467. /* Declarations for functions that change between Win16 and Win32 */
  3468. BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
  3469. BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
  3470. BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
  3471. #define AnsiLowerA CharLowerA
  3472. #define AnsiLowerW CharLowerW
  3473. #define AnsiLower WINELIB_NAME_AW(AnsiLower)
  3474. #define AnsiLowerBuffA CharLowerBuffA
  3475. #define AnsiLowerBuffW CharLowerBuffW
  3476. #define AnsiLowerBuff WINELIB_NAME_AW(AnsiLowerBuff)
  3477. #define AnsiNextA CharNextA
  3478. #define AnsiNextW CharNextW
  3479. #define AnsiNext WINELIB_NAME_AW(AnsiNext)
  3480. #define AnsiPrevA CharPrevA
  3481. #define AnsiPrevW CharPrevW
  3482. #define AnsiPrev WINELIB_NAME_AW(AnsiPrev)
  3483. #define AnsiUpperA CharUpperA
  3484. #define AnsiUpperW CharUpperW
  3485. #define AnsiUpper WINELIB_NAME_AW(AnsiUpper)
  3486. #define AnsiUpperBuffA CharUpperBuffA
  3487. #define AnsiUpperBuffW CharUpperBuffW
  3488. #define AnsiUpperBuff WINELIB_NAME_AW(AnsiUpperBuff)
  3489. BOOL WINAPI AnyPopup(void);
  3490. BOOL WINAPI AppendMenuA(HMENU,UINT,UINT_PTR,LPCSTR);
  3491. BOOL WINAPI AppendMenuW(HMENU,UINT,UINT_PTR,LPCWSTR);
  3492. #define AppendMenu WINELIB_NAME_AW(AppendMenu)
  3493. UINT WINAPI ArrangeIconicWindows(HWND);
  3494. HDWP WINAPI BeginDeferWindowPos(INT);
  3495. HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
  3496. BOOL WINAPI BringWindowToTop(HWND);
  3497. LONG WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
  3498. LONG WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
  3499. #define BroadcastSystemMessage WINELIB_NAME_AW(BroadcastSystemMessage)
  3500. void WINAPI CalcChildScroll(HWND, INT);
  3501. BOOL WINAPI CallMsgFilterA(LPMSG,INT);
  3502. BOOL WINAPI CallMsgFilterW(LPMSG,INT);
  3503. #define CallMsgFilter WINELIB_NAME_AW(CallMsgFilter)
  3504. LRESULT WINAPI CallNextHookEx(HHOOK,INT,WPARAM,LPARAM);
  3505. LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
  3506. LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
  3507. #define CallWindowProc WINELIB_NAME_AW(CallWindowProc)
  3508. BOOL WINAPI ChangeClipboardChain(HWND,HWND);
  3509. BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
  3510. BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
  3511. #define ChangeMenu WINELIB_NAME_AW(ChangeMenu)
  3512. LPSTR WINAPI CharLowerA(LPSTR);
  3513. LPWSTR WINAPI CharLowerW(LPWSTR);
  3514. #define CharLower WINELIB_NAME_AW(CharLower)
  3515. DWORD WINAPI CharLowerBuffA(LPSTR,DWORD);
  3516. DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD);
  3517. #define CharLowerBuff WINELIB_NAME_AW(CharLowerBuff)
  3518. LPSTR WINAPI CharNextA(LPCSTR);
  3519. LPWSTR WINAPI CharNextW(LPCWSTR);
  3520. #define CharNext WINELIB_NAME_AW(CharNext)
  3521. LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
  3522. /* no CharNextExW (doesn't make sense) */
  3523. LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
  3524. LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
  3525. #define CharPrev WINELIB_NAME_AW(CharPrev)
  3526. LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
  3527. /* no CharPrevExW (doesn't make sense) */
  3528. LPSTR WINAPI CharUpperA(LPSTR);
  3529. LPWSTR WINAPI CharUpperW(LPWSTR);
  3530. #define CharUpper WINELIB_NAME_AW(CharUpper)
  3531. DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
  3532. DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
  3533. #define CharUpperBuff WINELIB_NAME_AW(CharUpperBuff)
  3534. BOOL WINAPI CharToOemA(LPCSTR,LPSTR);
  3535. BOOL WINAPI CharToOemW(LPCWSTR,LPSTR);
  3536. #define CharToOem WINELIB_NAME_AW(CharToOem)
  3537. BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD);
  3538. BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
  3539. #define CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
  3540. BOOL WINAPI CheckDlgButton(HWND,INT,UINT);
  3541. DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
  3542. BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
  3543. BOOL WINAPI CheckRadioButton(HWND,UINT,UINT,UINT);
  3544. HWND WINAPI ChildWindowFromPoint(HWND,POINT);
  3545. HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
  3546. BOOL WINAPI ClientToScreen(HWND,LPPOINT);
  3547. BOOL WINAPI ClipCursor(const RECT*);
  3548. BOOL WINAPI CloseClipboard(void);
  3549. BOOL WINAPI CloseDesktop(HDESK);
  3550. BOOL WINAPI CloseWindow(HWND);
  3551. BOOL WINAPI CloseWindowStation(HWINSTA);
  3552. #define CopyCursor(cur) ((HCURSOR)CopyIcon((HICON)(cur)))
  3553. HICON WINAPI CopyIcon(HICON);
  3554. HICON WINAPI CopyImage(HANDLE,UINT,INT,INT,UINT);
  3555. BOOL WINAPI CopyRect(RECT*,const RECT*);
  3556. INT WINAPI CountClipboardFormats(void);
  3557. BOOL WINAPI CreateCaret(HWND,HBITMAP,INT,INT);
  3558. HCURSOR WINAPI CreateCursor(HINSTANCE,INT,INT,INT,INT,LPCVOID,LPCVOID);
  3559. #define CreateDialogA(inst,ptr,hwnd,dlg) \
  3560. CreateDialogParamA(inst,ptr,hwnd,dlg,0)
  3561. #define CreateDialogW(inst,ptr,hwnd,dlg) \
  3562. CreateDialogParamW(inst,ptr,hwnd,dlg,0)
  3563. #define CreateDialog WINELIB_NAME_AW(CreateDialog)
  3564. #define CreateDialogIndirectA(inst,ptr,hwnd,dlg) \
  3565. CreateDialogIndirectParamA(inst,ptr,hwnd,dlg,0)
  3566. #define CreateDialogIndirectW(inst,ptr,hwnd,dlg) \
  3567. CreateDialogIndirectParamW(inst,ptr,hwnd,dlg,0)
  3568. #define CreateDialogIndirect WINELIB_NAME_AW(CreateDialogIndirect)
  3569. HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATEA,HWND,
  3570. DLGPROC,LPARAM);
  3571. HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATEW,HWND,
  3572. DLGPROC,LPARAM);
  3573. #define CreateDialogIndirectParam WINELIB_NAME_AW(CreateDialogIndirectParam)
  3574. HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
  3575. HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
  3576. #define CreateDialogParam WINELIB_NAME_AW(CreateDialogParam)
  3577. HICON WINAPI CreateIcon(HINSTANCE,INT,INT,BYTE,BYTE,LPCVOID,LPCVOID);
  3578. HICON WINAPI CreateIconFromResource(LPBYTE,UINT,BOOL,DWORD);
  3579. HICON WINAPI CreateIconFromResourceEx(LPBYTE,UINT,BOOL,DWORD,INT,INT,UINT);
  3580. HMENU WINAPI CreateMenu(void);
  3581. HMENU WINAPI CreatePopupMenu(void);
  3582. #define CreateWindowA(className,titleName,style,x,y,width,height,\
  3583. parent,menu,instance,param) \
  3584. CreateWindowExA(0,className,titleName,style,x,y,width,height,\
  3585. parent,menu,instance,param)
  3586. #define CreateWindowW(className,titleName,style,x,y,width,height,\
  3587. parent,menu,instance,param) \
  3588. CreateWindowExW(0,className,titleName,style,x,y,width,height,\
  3589. parent,menu,instance,param)
  3590. #define CreateWindow WINELIB_NAME_AW(CreateWindow)
  3591. HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,INT,INT,
  3592. INT,INT,HWND,HMENU,HINSTANCE,LPVOID);
  3593. HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,INT,INT,
  3594. INT,INT,HWND,HMENU,HINSTANCE,LPVOID);
  3595. #define CreateWindowEx WINELIB_NAME_AW(CreateWindowEx)
  3596. HWINSTA WINAPI CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
  3597. HWINSTA WINAPI CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
  3598. #define CreateWindowStation WINELIB_NAME_AW(CreateWindowStation)
  3599. HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,INT,INT,
  3600. INT,INT,HWND,HINSTANCE,LPARAM);
  3601. HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,INT,INT,
  3602. INT,INT,HWND,HINSTANCE,LPARAM);
  3603. #define CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
  3604. LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
  3605. LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
  3606. #define DefDlgProc WINELIB_NAME_AW(DefDlgProc)
  3607. HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,UINT);
  3608. LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
  3609. LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
  3610. #define DefFrameProc WINELIB_NAME_AW(DefFrameProc)
  3611. #define DefHookProc(code,wparam,lparam,phhook) \
  3612. CallNextHookEx(*(phhook),code,wparam,lparam)
  3613. LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
  3614. LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
  3615. #define DefMDIChildProc WINELIB_NAME_AW(DefMDIChildProc)
  3616. LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
  3617. LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
  3618. #define DefWindowProc WINELIB_NAME_AW(DefWindowProc)
  3619. BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
  3620. BOOL WINAPI DestroyCaret(void);
  3621. BOOL WINAPI DestroyCursor(HCURSOR);
  3622. BOOL WINAPI DestroyIcon(HICON);
  3623. BOOL WINAPI DestroyMenu(HMENU);
  3624. BOOL WINAPI DestroyWindow(HWND);
  3625. #define DialogBoxA(inst,template,owner,func) \
  3626. DialogBoxParamA(inst,template,owner,func,0)
  3627. #define DialogBoxW(inst,template,owner,func) \
  3628. DialogBoxParamW(inst,template,owner,func,0)
  3629. #define DialogBox WINELIB_NAME_AW(DialogBox)
  3630. #define DialogBoxIndirectA(inst,template,owner,func) \
  3631. DialogBoxIndirectParamA(inst,template,owner,func,0)
  3632. #define DialogBoxIndirectW(inst,template,owner,func) \
  3633. DialogBoxIndirectParamW(inst,template,owner,func,0)
  3634. #define DialogBoxIndirect WINELIB_NAME_AW(DialogBoxIndirect)
  3635. INT_PTR WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATEA,HWND,DLGPROC,LPARAM);
  3636. INT_PTR WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATEW,HWND,DLGPROC,LPARAM);
  3637. #define DialogBoxIndirectParam WINELIB_NAME_AW(DialogBoxIndirectParam)
  3638. INT_PTR WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
  3639. INT_PTR WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
  3640. #define DialogBoxParam WINELIB_NAME_AW(DialogBoxParam)
  3641. LONG WINAPI DispatchMessageA(const MSG*);
  3642. LONG WINAPI DispatchMessageW(const MSG*);
  3643. #define DispatchMessage WINELIB_NAME_AW(DispatchMessage)
  3644. INT WINAPI DlgDirListA(HWND,LPSTR,INT,INT,UINT);
  3645. INT WINAPI DlgDirListW(HWND,LPWSTR,INT,INT,UINT);
  3646. #define DlgDirList WINELIB_NAME_AW(DlgDirList)
  3647. INT WINAPI DlgDirListComboBoxA(HWND,LPSTR,INT,INT,UINT);
  3648. INT WINAPI DlgDirListComboBoxW(HWND,LPWSTR,INT,INT,UINT);
  3649. #define DlgDirListComboBox WINELIB_NAME_AW(DlgDirListComboBox)
  3650. BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,INT,INT);
  3651. BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,INT,INT);
  3652. #define DlgDirSelectComboBoxEx WINELIB_NAME_AW(DlgDirSelectComboBoxEx)
  3653. BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,INT,INT);
  3654. BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,INT,INT);
  3655. #define DlgDirSelectEx WINELIB_NAME_AW(DlgDirSelectEx)
  3656. BOOL WINAPI DragDetect(HWND,POINT);
  3657. DWORD WINAPI DragObject(HWND,HWND,UINT,ULONG_PTR,HCURSOR);
  3658. BOOL WINAPI DrawAnimatedRects(HWND,int,const RECT*,const RECT*);
  3659. BOOL WINAPI DrawCaption(HWND,HDC,const RECT*,UINT);
  3660. BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
  3661. BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
  3662. #define DrawCaptionTemp WINELIB_NAME_AW(DrawCaptionTemp)
  3663. BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
  3664. BOOL WINAPI DrawFocusRect(HDC,const RECT*);
  3665. BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
  3666. BOOL WINAPI DrawIcon(HDC,INT,INT,HICON);
  3667. BOOL WINAPI DrawIconEx(HDC,INT,INT,HICON,INT,INT,UINT,HBRUSH,UINT);
  3668. BOOL WINAPI DrawMenuBar(HWND);
  3669. BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
  3670. BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,INT,INT,INT,INT,UINT);
  3671. #define DrawState WINELIB_NAME_AW(DrawState)
  3672. INT WINAPI DrawTextA(HDC,LPCSTR,INT,LPRECT,UINT);
  3673. INT WINAPI DrawTextW(HDC,LPCWSTR,INT,LPRECT,UINT);
  3674. #define DrawText WINELIB_NAME_AW(DrawText)
  3675. INT WINAPI DrawTextExA(HDC,LPSTR,INT,LPRECT,UINT,LPDRAWTEXTPARAMS);
  3676. INT WINAPI DrawTextExW(HDC,LPWSTR,INT,LPRECT,UINT,LPDRAWTEXTPARAMS);
  3677. #define DrawTextEx WINELIB_NAME_AW(DrawTextEx)
  3678. BOOL WINAPI EmptyClipboard(void);
  3679. UINT WINAPI EnableMenuItem(HMENU,UINT,UINT);
  3680. BOOL WINAPI EnableScrollBar(HWND,INT,UINT);
  3681. BOOL WINAPI EnableWindow(HWND,BOOL);
  3682. BOOL WINAPI EndDeferWindowPos(HDWP);
  3683. BOOL WINAPI EndDialog(HWND,INT_PTR);
  3684. BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
  3685. BOOL WINAPI EnumChildWindows(HWND,WNDENUMPROC,LPARAM);
  3686. UINT WINAPI EnumClipboardFormats(UINT);
  3687. INT WINAPI EnumPropsA(HWND,PROPENUMPROCA);
  3688. INT WINAPI EnumPropsW(HWND,PROPENUMPROCW);
  3689. #define EnumProps WINELIB_NAME_AW(EnumProps)
  3690. BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
  3691. BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
  3692. BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
  3693. #define EnumWindowStations WINELIB_NAME_AW(EnumWindowStations)
  3694. BOOL WINAPI EqualRect(const RECT*,const RECT*);
  3695. INT WINAPI ExcludeUpdateRgn(HDC,HWND);
  3696. #define ExitWindows(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
  3697. INT WINAPI FillRect(HDC,const RECT*,HBRUSH);
  3698. HWND WINAPI FindWindowA(LPCSTR,LPCSTR);
  3699. HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
  3700. #define FindWindow WINELIB_NAME_AW(FindWindow)
  3701. HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
  3702. HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
  3703. #define FindWindowEx WINELIB_NAME_AW(FindWindowEx)
  3704. BOOL WINAPI FlashWindow(HWND,BOOL);
  3705. BOOL WINAPI FlashWindowEx(PFLASHWINFO);
  3706. INT WINAPI FrameRect(HDC,const RECT*,HBRUSH);
  3707. HWND WINAPI GetActiveWindow(void);
  3708. HWND WINAPI GetAncestor(HWND,UINT);
  3709. DWORD WINAPI GetAppCompatFlags(HTASK);
  3710. SHORT WINAPI GetAsyncKeyState(INT);
  3711. HWND WINAPI GetCapture(void);
  3712. UINT WINAPI GetCaretBlinkTime(void);
  3713. BOOL WINAPI GetCaretPos(LPPOINT);
  3714. BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,WNDCLASSA *);
  3715. BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,WNDCLASSW *);
  3716. #define GetClassInfo WINELIB_NAME_AW(GetClassInfo)
  3717. BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,WNDCLASSEXA *);
  3718. BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,WNDCLASSEXW *);
  3719. #define GetClassInfoEx WINELIB_NAME_AW(GetClassInfoEx)
  3720. LONG WINAPI GetClassLongA(HWND,INT);
  3721. LONG WINAPI GetClassLongW(HWND,INT);
  3722. #define GetClassLong WINELIB_NAME_AW(GetClassLong)
  3723. #ifdef _WIN64
  3724. LONG_PTR WINAPI GetClassLongPtrA(HWND,INT);
  3725. LONG_PTR WINAPI GetClassLongPtrW(HWND,INT);
  3726. #else
  3727. #define GetClassLongPtrA GetClassLongA
  3728. #define GetClassLongPtrW GetClassLongW
  3729. #endif
  3730. #define GetClassLongPtr WINELIB_NAME_AW(GetClassLongPtr)
  3731. INT WINAPI GetClassNameA(HWND,LPSTR,INT);
  3732. INT WINAPI GetClassNameW(HWND,LPWSTR,INT);
  3733. #define GetClassName WINELIB_NAME_AW(GetClassName)
  3734. WORD WINAPI GetClassWord(HWND,INT);
  3735. BOOL WINAPI GetClientRect(HWND,LPRECT);
  3736. HANDLE WINAPI GetClipboardData(UINT);
  3737. INT WINAPI GetClipboardFormatNameA(UINT,LPSTR,INT);
  3738. INT WINAPI GetClipboardFormatNameW(UINT,LPWSTR,INT);
  3739. #define GetClipboardFormatName WINELIB_NAME_AW(GetClipboardFormatName)
  3740. HWND WINAPI GetClipboardOwner(void);
  3741. HWND WINAPI GetClipboardViewer(void);
  3742. BOOL WINAPI GetClipCursor(LPRECT);
  3743. HCURSOR WINAPI GetCursor(void);
  3744. BOOL WINAPI GetCursorInfo(PCURSORINFO);
  3745. BOOL WINAPI GetCursorPos(LPPOINT);
  3746. HDC WINAPI GetDC(HWND);
  3747. HDC WINAPI GetDCEx(HWND,HRGN,DWORD);
  3748. HWND WINAPI GetDesktopWindow(void);
  3749. INT WINAPI GetDlgCtrlID(HWND);
  3750. HWND WINAPI GetDlgItem(HWND,INT);
  3751. UINT WINAPI GetDlgItemInt(HWND,INT,BOOL*,BOOL);
  3752. INT WINAPI GetDlgItemTextA(HWND,INT,LPSTR,UINT);
  3753. INT WINAPI GetDlgItemTextW(HWND,INT,LPWSTR,UINT);
  3754. #define GetDlgItemText WINELIB_NAME_AW(GetDlgItemText)
  3755. UINT WINAPI GetDoubleClickTime(void);
  3756. HWND WINAPI GetFocus(void);
  3757. HWND WINAPI GetForegroundWindow(void);
  3758. BOOL WINAPI GetGUIThreadInfo(DWORD,GUITHREADINFO*);
  3759. BOOL WINAPI GetInputState(void);
  3760. UINT WINAPI GetInternalWindowPos(HWND,LPRECT,LPPOINT);
  3761. UINT WINAPI GetKBCodePage(void);
  3762. INT WINAPI GetKeyboardType(INT);
  3763. INT WINAPI GetKeyNameTextA(LONG,LPSTR,INT);
  3764. INT WINAPI GetKeyNameTextW(LONG,LPWSTR,INT);
  3765. #define GetKeyNameText WINELIB_NAME_AW(GetKeyNameText)
  3766. BOOL WINAPI GetKeyboardLayoutNameA(LPSTR);
  3767. BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR);
  3768. #define GetKeyboardLayoutName WINELIB_NAME_AW(GetKeyboardLayoutName)
  3769. SHORT WINAPI GetKeyState(INT);
  3770. HWND WINAPI GetLastActivePopup(HWND);
  3771. BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO);
  3772. HMENU WINAPI GetMenu(HWND);
  3773. INT WINAPI GetMenuItemCount(HMENU);
  3774. UINT WINAPI GetMenuItemID(HMENU,INT);
  3775. BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
  3776. UINT WINAPI GetMenuState(HMENU,UINT,UINT);
  3777. INT WINAPI GetMenuStringA(HMENU,UINT,LPSTR,INT,UINT);
  3778. INT WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,INT,UINT);
  3779. #define GetMenuString WINELIB_NAME_AW(GetMenuString)
  3780. BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT);
  3781. BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
  3782. #define GetMessage WINELIB_NAME_AW(GetMessage)
  3783. HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
  3784. HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
  3785. #define GetNextWindow GetWindow
  3786. HWND WINAPI GetOpenClipboardWindow(void);
  3787. HWND WINAPI GetParent(HWND);
  3788. INT WINAPI GetPriorityClipboardFormat(UINT*,INT);
  3789. BOOL WINAPI GetProcessDefaultLayout(DWORD*);
  3790. HANDLE WINAPI GetPropA(HWND,LPCSTR);
  3791. HANDLE WINAPI GetPropW(HWND,LPCWSTR);
  3792. #define GetProp WINELIB_NAME_AW(GetProp)
  3793. DWORD WINAPI GetQueueStatus(UINT);
  3794. BOOL WINAPI GetScrollInfo(HWND,INT,LPSCROLLINFO);
  3795. BOOL WINAPI GetScrollBarInfo(HWND,LONG,LPSCROLLBARINFO);
  3796. INT WINAPI GetScrollPos(HWND,INT);
  3797. BOOL WINAPI GetScrollRange(HWND,INT,LPINT,LPINT);
  3798. HWND WINAPI GetShellWindow(void);
  3799. HMENU WINAPI GetSubMenu(HMENU,INT);
  3800. HBRUSH WINAPI GetSysColorBrush(INT);
  3801. #define GetSysModalWindow() ((HWND)0)
  3802. HMENU WINAPI GetSystemMenu(HWND,BOOL);
  3803. INT WINAPI GetSystemMetrics(INT);
  3804. DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,INT,INT,const INT*);
  3805. DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,INT,INT,const INT*);
  3806. #define GetTabbedTextExtent WINELIB_NAME_AW(GetTabbedTextExtent)
  3807. BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
  3808. HWND WINAPI GetTopWindow(HWND);
  3809. BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
  3810. INT WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
  3811. BOOL WINAPI GetUserObjectInformationA(HANDLE,INT,LPVOID,DWORD,LPDWORD);
  3812. BOOL WINAPI GetUserObjectInformationW(HANDLE,INT,LPVOID,DWORD,LPDWORD);
  3813. #define GetUserObjectInformation WINELIB_NAME_AW(GetUserObjectInformation)
  3814. HWND WINAPI GetWindow(HWND,UINT);
  3815. HDC WINAPI GetWindowDC(HWND);
  3816. BOOL WINAPI GetWindowInfo(HWND, PWINDOWINFO);
  3817. LONG WINAPI GetWindowLongA(HWND,INT);
  3818. LONG WINAPI GetWindowLongW(HWND,INT);
  3819. #define GetWindowLong WINELIB_NAME_AW(GetWindowLong)
  3820. #ifdef _WIN64
  3821. LONG_PTR WINAPI GetWindowLongPtrA(HWND,INT);
  3822. LONG_PTR WINAPI GetWindowLongPtrW(HWND,INT);
  3823. #else
  3824. #define GetWindowLongPtrA GetWindowLongA
  3825. #define GetWindowLongPtrW GetWindowLongW
  3826. #endif
  3827. #define GetWindowLongPtr WINELIB_NAME_AW(GetWindowLongPtr)
  3828. UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
  3829. UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
  3830. #define GetWindowModuleFileName WINELIB_NAME_AW(GetWindowModuleFileName)
  3831. BOOL WINAPI GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
  3832. BOOL WINAPI GetWindowRect(HWND,LPRECT);
  3833. INT WINAPI GetWindowRgn(HWND,HRGN);
  3834. HWINSTA WINAPI GetProcessWindowStation(void);
  3835. #define GetWindowTask(hwnd) ((HTASK)GetWindowThreadProcessId(hwnd,NULL))
  3836. INT WINAPI GetWindowTextA(HWND,LPSTR,INT);
  3837. INT WINAPI GetWindowTextW(HWND,LPWSTR,INT);
  3838. #define GetWindowText WINELIB_NAME_AW(GetWindowText)
  3839. INT WINAPI GetWindowTextLengthA(HWND);
  3840. INT WINAPI GetWindowTextLengthW(HWND);
  3841. #define GetWindowTextLength WINELIB_NAME_AW(GetWindowTextLength)
  3842. WORD WINAPI GetWindowWord(HWND,INT);
  3843. BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,INT,INT,INT,INT,INT);
  3844. BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,INT,INT,INT,INT,INT);
  3845. #define GrayString WINELIB_NAME_AW(GrayString)
  3846. BOOL WINAPI HideCaret(HWND);
  3847. BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
  3848. BOOL WINAPI InflateRect(LPRECT,INT,INT);
  3849. BOOL WINAPI InSendMessage(void);
  3850. DWORD WINAPI InSendMessageEx(LPVOID);
  3851. BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT_PTR,LPCSTR);
  3852. BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT_PTR,LPCWSTR);
  3853. #define InsertMenu WINELIB_NAME_AW(InsertMenu)
  3854. BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,const MENUITEMINFOA*);
  3855. BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,const MENUITEMINFOW*);
  3856. #define InsertMenuItem WINELIB_NAME_AW(InsertMenuItem)
  3857. INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
  3858. BOOL WINAPI IntersectRect(LPRECT,const RECT*,const RECT*);
  3859. BOOL WINAPI InvalidateRect(HWND,const RECT*,BOOL);
  3860. BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
  3861. BOOL WINAPI InvertRect(HDC,const RECT*);
  3862. BOOL WINAPI IsCharAlphaA(CHAR);
  3863. BOOL WINAPI IsCharAlphaW(WCHAR);
  3864. #define IsCharAlpha WINELIB_NAME_AW(IsCharAlpha)
  3865. BOOL WINAPI IsCharAlphaNumericA(CHAR);
  3866. BOOL WINAPI IsCharAlphaNumericW(WCHAR);
  3867. #define IsCharAlphaNumeric WINELIB_NAME_AW(IsCharAlphaNumeric)
  3868. BOOL WINAPI IsCharLowerA(CHAR);
  3869. BOOL WINAPI IsCharLowerW(WCHAR);
  3870. #define IsCharLower WINELIB_NAME_AW(IsCharLower)
  3871. BOOL WINAPI IsCharUpperA(CHAR);
  3872. BOOL WINAPI IsCharUpperW(WCHAR);
  3873. #define IsCharUpper WINELIB_NAME_AW(IsCharUpper)
  3874. BOOL WINAPI IsChild(HWND,HWND);
  3875. BOOL WINAPI IsClipboardFormatAvailable(UINT);
  3876. BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
  3877. BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
  3878. #define IsDialogMessage WINELIB_NAME_AW(IsDialogMessage)
  3879. UINT WINAPI IsDlgButtonChecked(HWND,UINT);
  3880. BOOL WINAPI IsIconic(HWND);
  3881. BOOL WINAPI IsMenu(HMENU);
  3882. BOOL WINAPI IsRectEmpty(const RECT*);
  3883. BOOL WINAPI IsWindow(HWND);
  3884. BOOL WINAPI IsWindowEnabled(HWND);
  3885. BOOL WINAPI IsWindowVisible(HWND);
  3886. BOOL WINAPI IsZoomed(HWND);
  3887. BOOL WINAPI KillSystemTimer(HWND,UINT_PTR);
  3888. BOOL WINAPI KillTimer(HWND,UINT_PTR);
  3889. HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
  3890. HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
  3891. #define LoadAccelerators WINELIB_NAME_AW(LoadAccelerators)
  3892. HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR);
  3893. HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR);
  3894. #define LoadBitmap WINELIB_NAME_AW(LoadBitmap)
  3895. HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
  3896. HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
  3897. #define LoadCursor WINELIB_NAME_AW(LoadCursor)
  3898. HCURSOR WINAPI LoadCursorFromFileA(LPCSTR);
  3899. HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR);
  3900. #define LoadCursorFromFile WINELIB_NAME_AW(LoadCursorFromFile)
  3901. HICON WINAPI LoadIconA(HINSTANCE,LPCSTR);
  3902. HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR);
  3903. #define LoadIcon WINELIB_NAME_AW(LoadIcon)
  3904. HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,INT,INT,UINT);
  3905. HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,INT,INT,UINT);
  3906. #define LoadImage WINELIB_NAME_AW(LoadImage)
  3907. HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR);
  3908. HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
  3909. #define LoadMenu WINELIB_NAME_AW(LoadMenu)
  3910. HMENU WINAPI LoadMenuIndirectA(LPCVOID);
  3911. HMENU WINAPI LoadMenuIndirectW(LPCVOID);
  3912. #define LoadMenuIndirect WINELIB_NAME_AW(LoadMenuIndirect)
  3913. INT WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,INT);
  3914. INT WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,INT);
  3915. #define LoadString WINELIB_NAME_AW(LoadString)
  3916. BOOL WINAPI LockWindowUpdate(HWND);
  3917. INT WINAPI LookupIconIdFromDirectory(LPBYTE,BOOL);
  3918. INT WINAPI LookupIconIdFromDirectoryEx(LPBYTE,BOOL,INT,INT,UINT);
  3919. UINT WINAPI MapVirtualKeyA(UINT,UINT);
  3920. UINT WINAPI MapVirtualKeyW(UINT,UINT);
  3921. #define MapVirtualKey WINELIB_NAME_AW(MapVirtualKey)
  3922. UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
  3923. UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
  3924. #define MapVirtualKeyEx WINELIB_NAME_AW(MapVirtualKeyEx)
  3925. BOOL WINAPI MapDialogRect(HWND,LPRECT);
  3926. INT WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
  3927. INT WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
  3928. BOOL WINAPI MessageBeep(UINT);
  3929. INT WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
  3930. INT WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
  3931. #define MessageBox WINELIB_NAME_AW(MessageBox)
  3932. INT WINAPI MessageBoxIndirectA(LPMSGBOXPARAMSA);
  3933. INT WINAPI MessageBoxIndirectW(LPMSGBOXPARAMSW);
  3934. #define MessageBoxIndirect WINELIB_NAME_AW(MessageBoxIndirect)
  3935. BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT_PTR,LPCSTR);
  3936. BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT_PTR,LPCWSTR);
  3937. #define ModifyMenu WINELIB_NAME_AW(ModifyMenu)
  3938. BOOL WINAPI MoveWindow(HWND,INT,INT,INT,INT,BOOL);
  3939. BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
  3940. BOOL WINAPI OemToCharW(LPCSTR,LPWSTR);
  3941. #define OemToChar WINELIB_NAME_AW(OemToChar)
  3942. BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
  3943. BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
  3944. #define OemToCharBuff WINELIB_NAME_AW(OemToCharBuff)
  3945. BOOL WINAPI OffsetRect(LPRECT,INT,INT);
  3946. BOOL WINAPI OpenClipboard(HWND);
  3947. BOOL WINAPI OpenIcon(HWND);
  3948. HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,ACCESS_MASK);
  3949. HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,ACCESS_MASK);
  3950. #define OpenWindowStation WINELIB_NAME_AW(OpenWindowStation)
  3951. BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
  3952. BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
  3953. #define PeekMessage WINELIB_NAME_AW(PeekMessage)
  3954. #define PostAppMessageA(thread,msg,wparam,lparam) \
  3955. PostThreadMessageA((DWORD)(thread),msg,wparam,lparam)
  3956. #define PostAppMessageW(thread,msg,wparam,lparam) \
  3957. PostThreadMessageW((DWORD)(thread),msg,wparam,lparam)
  3958. #define PostAppMessage WINELIB_NAME_AW(PostAppMessage)
  3959. BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM);
  3960. BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
  3961. #define PostMessage WINELIB_NAME_AW(PostMessage)
  3962. void WINAPI PostQuitMessage(INT);
  3963. UINT WINAPI PrivateExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
  3964. UINT WINAPI PrivateExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
  3965. UINT WINAPI PrivateExtractIconsA(LPCSTR,int,int,int,HICON*,UINT*,UINT,UINT);
  3966. UINT WINAPI PrivateExtractIconsW(LPCWSTR,int,int,int,HICON*,UINT*,UINT,UINT);
  3967. BOOL WINAPI PtInRect(const RECT*,POINT);
  3968. UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
  3969. UINT WINAPI RealGetWindowClassW(HWND,LPWSTR,UINT);
  3970. #define RealGetWindowClass WINELIB_NAME_AW(RealGetWindowClass)
  3971. BOOL WINAPI RedrawWindow(HWND,const RECT*,HRGN,UINT);
  3972. ATOM WINAPI RegisterClassA(const WNDCLASSA *);
  3973. ATOM WINAPI RegisterClassW(const WNDCLASSW *);
  3974. #define RegisterClass WINELIB_NAME_AW(RegisterClass)
  3975. ATOM WINAPI RegisterClassExA(const WNDCLASSEXA *);
  3976. ATOM WINAPI RegisterClassExW(const WNDCLASSEXW *);
  3977. #define RegisterClassEx WINELIB_NAME_AW(RegisterClassEx)
  3978. UINT WINAPI RegisterClipboardFormatA(LPCSTR);
  3979. UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
  3980. #define RegisterClipboardFormat WINELIB_NAME_AW(RegisterClipboardFormat)
  3981. WORD WINAPI RegisterWindowMessageA(LPCSTR);
  3982. WORD WINAPI RegisterWindowMessageW(LPCWSTR);
  3983. #define RegisterWindowMessage WINELIB_NAME_AW(RegisterWindowMessage)
  3984. INT WINAPI ReleaseDC(HWND,HDC);
  3985. BOOL WINAPI RemoveMenu(HMENU,UINT,UINT);
  3986. HANDLE WINAPI RemovePropA(HWND,LPCSTR);
  3987. HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
  3988. #define RemoveProp WINELIB_NAME_AW(RemoveProp)
  3989. BOOL WINAPI ReplyMessage(LRESULT);
  3990. BOOL WINAPI ScreenToClient(HWND,LPPOINT);
  3991. VOID WINAPI ScrollChildren(HWND,UINT,WPARAM,LPARAM);
  3992. BOOL WINAPI ScrollDC(HDC,INT,INT,const RECT*,const RECT*,HRGN,LPRECT);
  3993. BOOL WINAPI ScrollWindow(HWND,INT,INT,const RECT*,const RECT*);
  3994. INT WINAPI ScrollWindowEx(HWND,INT,INT,const RECT*,const RECT*,HRGN,LPRECT,UINT);
  3995. LRESULT WINAPI SendDlgItemMessageA(HWND,INT,UINT,WPARAM,LPARAM);
  3996. LRESULT WINAPI SendDlgItemMessageW(HWND,INT,UINT,WPARAM,LPARAM);
  3997. #define SendDlgItemMessage WINELIB_NAME_AW(SendDlgItemMessage)
  3998. UINT WINAPI SendInput(UINT,LPINPUT,int);
  3999. LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
  4000. LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
  4001. #define SendMessage WINELIB_NAME_AW(SendMessage)
  4002. LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR);
  4003. LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD_PTR);
  4004. #define SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
  4005. HWND WINAPI SetActiveWindow(HWND);
  4006. HWND WINAPI SetCapture(HWND);
  4007. BOOL WINAPI SetCaretBlinkTime(UINT);
  4008. BOOL WINAPI SetCaretPos(INT,INT);
  4009. LONG WINAPI SetClassLongA(HWND,INT,LONG);
  4010. LONG WINAPI SetClassLongW(HWND,INT,LONG);
  4011. #define SetClassLong WINELIB_NAME_AW(SetClassLong)
  4012. WORD WINAPI SetClassWord(HWND,INT,WORD);
  4013. HANDLE WINAPI SetClipboardData(UINT,HANDLE);
  4014. HWND WINAPI SetClipboardViewer(HWND);
  4015. HCURSOR WINAPI SetCursor(HCURSOR);
  4016. BOOL WINAPI SetCursorPos(INT,INT);
  4017. BOOL WINAPI SetDeskWallPaper(LPCSTR);
  4018. BOOL WINAPI SetDlgItemInt(HWND,INT,UINT,BOOL);
  4019. BOOL WINAPI SetDlgItemTextA(HWND,INT,LPCSTR);
  4020. BOOL WINAPI SetDlgItemTextW(HWND,INT,LPCWSTR);
  4021. #define SetDlgItemText WINELIB_NAME_AW(SetDlgItemText)
  4022. BOOL WINAPI SetDoubleClickTime(UINT);
  4023. HWND WINAPI SetFocus(HWND);
  4024. BOOL WINAPI SetForegroundWindow(HWND);
  4025. void WINAPI SetInternalWindowPos(HWND,UINT,LPRECT,LPPOINT);
  4026. BOOL WINAPI SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD);
  4027. BOOL WINAPI SetMenu(HWND,HMENU);
  4028. BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
  4029. BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
  4030. LPARAM WINAPI SetMessageExtraInfo(LPARAM);
  4031. BOOL WINAPI SetMessageQueue(INT);
  4032. BOOL WINAPI SetProcessDefaultLayout(DWORD);
  4033. BOOL WINAPI SetProcessWindowStation(HWINSTA);
  4034. HWND WINAPI SetParent(HWND,HWND);
  4035. BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
  4036. BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
  4037. #define SetProp WINELIB_NAME_AW(SetProp)
  4038. BOOL WINAPI SetRect(LPRECT,INT,INT,INT,INT);
  4039. BOOL WINAPI SetRectEmpty(LPRECT);
  4040. INT WINAPI SetScrollInfo(HWND,INT,const SCROLLINFO*,BOOL);
  4041. INT WINAPI SetScrollPos(HWND,INT,INT,BOOL);
  4042. BOOL WINAPI SetScrollRange(HWND,INT,INT,INT,BOOL);
  4043. #define SetSysModalWindow(hwnd) ((HWND)0)
  4044. BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
  4045. BOOL WINAPI SetSystemMenu(HWND,HMENU);
  4046. UINT_PTR WINAPI SetSystemTimer(HWND,UINT_PTR,UINT,TIMERPROC);
  4047. UINT_PTR WINAPI SetTimer(HWND,UINT_PTR,UINT,TIMERPROC);
  4048. BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
  4049. LONG WINAPI SetWindowLongA(HWND,INT,LONG);
  4050. LONG WINAPI SetWindowLongW(HWND,INT,LONG);
  4051. #define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
  4052. #ifdef _WIN64
  4053. LONG_PTR WINAPI SetWindowLongPtrA(HWND,INT,LONG_PTR);
  4054. LONG_PTR WINAPI SetWindowLongPtrW(HWND,INT,LONG_PTR);
  4055. #else
  4056. #define SetWindowLongPtrA SetWindowLongA
  4057. #define SetWindowLongPtrW SetWindowLongW
  4058. #endif
  4059. #define SetWindowLongPtr WINELIB_NAME_AW(SetWindowLongPtr)
  4060. BOOL WINAPI SetWindowPlacement(HWND,const WINDOWPLACEMENT*);
  4061. HHOOK WINAPI SetWindowsHookA(INT,HOOKPROC);
  4062. HHOOK WINAPI SetWindowsHookW(INT,HOOKPROC);
  4063. #define SetWindowsHook WINELIB_NAME_AW(SetWindowsHook)
  4064. HHOOK WINAPI SetWindowsHookExA(INT,HOOKPROC,HINSTANCE,DWORD);
  4065. HHOOK WINAPI SetWindowsHookExW(INT,HOOKPROC,HINSTANCE,DWORD);
  4066. #define SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
  4067. BOOL WINAPI SetWindowPos(HWND,HWND,INT,INT,INT,INT,UINT);
  4068. INT WINAPI SetWindowRgn(HWND,HRGN,BOOL);
  4069. BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
  4070. BOOL WINAPI SetWindowTextW(HWND,LPCWSTR);
  4071. #define SetWindowText WINELIB_NAME_AW(SetWindowText)
  4072. WORD WINAPI SetWindowWord(HWND,INT,WORD);
  4073. BOOL WINAPI ShowCaret(HWND);
  4074. INT WINAPI ShowCursor(BOOL);
  4075. BOOL WINAPI ShowScrollBar(HWND,INT,BOOL);
  4076. BOOL WINAPI ShowOwnedPopups(HWND,BOOL);
  4077. BOOL WINAPI ShowWindow(HWND,INT);
  4078. BOOL WINAPI ShowWindowAsync(HWND,INT);
  4079. BOOL WINAPI SubtractRect(LPRECT,const RECT*,const RECT*);
  4080. BOOL WINAPI SwapMouseButton(BOOL);
  4081. VOID WINAPI SwitchToThisWindow(HWND,BOOL);
  4082. BOOL WINAPI SystemParametersInfoA(UINT,UINT,LPVOID,UINT);
  4083. BOOL WINAPI SystemParametersInfoW(UINT,UINT,LPVOID,UINT);
  4084. #define SystemParametersInfo WINELIB_NAME_AW(SystemParametersInfo)
  4085. LONG WINAPI TabbedTextOutA(HDC,INT,INT,LPCSTR,INT,INT,const INT*,INT);
  4086. LONG WINAPI TabbedTextOutW(HDC,INT,INT,LPCWSTR,INT,INT,const INT*,INT);
  4087. #define TabbedTextOut WINELIB_NAME_AW(TabbedTextOut)
  4088. INT WINAPI ToAscii(UINT,UINT,LPBYTE,LPWORD,UINT);
  4089. INT WINAPI ToAsciiEx(UINT,UINT,LPBYTE,LPWORD,UINT,HKL);
  4090. BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
  4091. BOOL WINAPI TrackPopupMenu(HMENU,UINT,INT,INT,INT,HWND,const RECT*);
  4092. INT WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
  4093. INT WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
  4094. #define TranslateAccelerator WINELIB_NAME_AW(TranslateAccelerator)
  4095. BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
  4096. BOOL WINAPI TranslateMessage(const MSG*);
  4097. BOOL WINAPI UnhookWindowsHook(INT,HOOKPROC);
  4098. BOOL WINAPI UnhookWindowsHookEx(HHOOK);
  4099. BOOL WINAPI UnionRect(LPRECT,const RECT*,const RECT*);
  4100. BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
  4101. BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
  4102. #define UnregisterClass WINELIB_NAME_AW(UnregisterClass)
  4103. BOOL WINAPI UpdateWindow(HWND);
  4104. UINT WINAPI UserRealizePalette(HDC);
  4105. BOOL WINAPI ValidateRect(HWND,const RECT*);
  4106. BOOL WINAPI ValidateRgn(HWND,HRGN);
  4107. SHORT WINAPI VkKeyScanA(CHAR);
  4108. SHORT WINAPI VkKeyScanW(WCHAR);
  4109. #define VkKeyScan WINELIB_NAME_AW(VkKeyScan)
  4110. WORD WINAPI VkKeyScanExA(CHAR, HKL);
  4111. WORD WINAPI VkKeyScanExW(WCHAR, HKL);
  4112. #define VkKeyScanEx WINELIB_NAME_AW(VkKeyScanEx)
  4113. BOOL WINAPI WaitMessage(void);
  4114. HWND WINAPI WindowFromDC(HDC);
  4115. HWND WINAPI WindowFromPoint(POINT);
  4116. BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,ULONG_PTR);
  4117. BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,ULONG_PTR);
  4118. #define WinHelp WINELIB_NAME_AW(WinHelp)
  4119. INT WINAPIV wsprintfA(LPSTR,LPCSTR,...);
  4120. INT WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
  4121. #define wsprintf WINELIB_NAME_AW(wsprintf)
  4122. INT WINAPI wvsprintfA(LPSTR,LPCSTR,va_list);
  4123. INT WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list);
  4124. #define wvsprintf WINELIB_NAME_AW(wvsprintf)
  4125. /* Undocumented functions */
  4126. /* NOTE: This is SYSTEM.3, not USER.182, which is also named KillSystemTimer */
  4127. WORD WINAPI SYSTEM_KillSystemTimer( WORD );
  4128. #ifdef __cplusplus
  4129. }
  4130. #endif
  4131. #endif /* _WINUSER_ */