Advertisement
Guest User

UIAutomationClient_TLB.pas

a guest
Aug 21st, 2014
1,476
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 128.35 KB | None | 0 0
  1. unit UIAutomationClient_TLB;
  2.  
  3. //=============================================================================
  4. //  2012”N06ŒŽ01“ú ì¬  by Mr.XRAY
  5. //  Microsoft Windows SDK v7.1 ‚ÌUIAutomationClient.idl‚©‚çì¬‚µ‚½
  6. //  ì¬ŠÂ‹«‚́CWindows XP(SP3) + Delphi XE + Windows SDK v7.1
  7. //
  8. //  ˆÈ‰º‚̏C³‚ðs‚Á‚Ä‚¢‚é
  9. //
  10. //  (1) ŠeŠÖ”‚̈ø”‚Ì var hwnd: Pointer ‚ðhwnd: HWND‚ɕύX
  11. //      MSDN‚Ì‹LŽ–‚ł́C‚±‚Ì’l‚́CUIA_HWND‚Æ‚È‚Á‚Ä‚¢‚邪CWindows SDK‚Å‚Í
  12. //        typedef void *UIA_HWND;
  13. //      ‚Æ‚È‚Á‚Ä‚¢‚éD‚»‚±‚ŁCDelphi‚ÌHWND‚Å’u‚«Š·‚¦‚½
  14. //      UIA_HWND‚Æ‚¢‚¤Œ^‚ÅŽg—p‚µ‚½‚¢ê‡‚Í
  15. //        type UIA_HWND = LongInt;
  16. //      ‚Æ’è‹`‚µ‚āCˆø”‚ÌŒ^‚ðUIA_HWND‚É‚·‚ê‚΂¢‚¢‚¾‚낤D‚½‚¾‚µC‚±‚̕ύX‚ðs
  17. //      ‚Á‚½ê‡‚́CŠÖ”‚̈ø”‚É“n‚·ê‡‚ÉUIA_HWND‚ŃLƒƒƒXƒg‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢
  18. //  (2) UIA_XXXXXXX“™‚̒萔’l‚ð’ljÁ
  19. //  (3) var riid: TGUID ‚̈ø”‚Ì var‚ðíœDMSDN‚Ì‹LŽ–‚Å[in]‚Æ‚È‚Á‚Ä‚¢‚é‚Ì‚Å
  20. //  (4) ŠÖ” GetStateTextW ‚ð’ljÁ
  21. //
  22. //  ’ˆÓ : Delphi 2007ˆÈ~‚Ì•W€‚ÌOleAcc.pas‚Æ‚Ì“¯ŽžŽg—p‚Í•s‰Â
  23. //=============================================================================
  24.  
  25.  
  26.  
  27.  
  28. // ************************************************************************ //
  29. // Œx                                                                      
  30. // -------                                                                    
  31. // ‚±‚̃tƒ@ƒCƒ‹‚Ő錾‚³‚ê‚Ä‚¢‚éŒ^‚̓^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚©‚ç“Ç‚ÝŽæ‚ç‚ꂽƒf[ƒ^‚©‚ç
  32. // ¶¬‚³‚ê‚Ä‚¢‚Ü‚·B‚±‚̃^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚ª–¾Ž¦“I‚ ‚é‚¢‚́i‚±‚̃^ƒCƒv ƒ‰ƒCƒuƒ‰
  33. // ƒŠ‚ðŽQÆ‚µ‚Ä‚¢‚é‚Ù‚©‚̃^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠŒo—R‚ŁjŠÔÚ“I‚ɍăCƒ“ƒ|[ƒg‚³‚ꂽ  
  34. // ‚èAƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒCƒuƒ‰ƒŠ‚̕ҏW’†‚Ƀ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ ƒGƒfƒBƒ^‚́mXVnƒRƒ}
  35. // ƒ“ƒh‚ðŽÀs‚µ‚½ê‡A‚±‚̃tƒ@ƒCƒ‹‚Ì“à—e‚Í‚·‚ׂčж¬‚³‚êAŽè“®‚ʼnÁ‚¦‚½•ÏX
  36. // ‚Í‚·‚ׂϸ‚í‚ê‚Ü‚·B                                                      
  37. // ************************************************************************ //
  38.  
  39. // $Rev: 31855 $
  40. // ‰º‚Éà–¾‚³‚ꂽƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚©‚ç 2012/06/01 20:36:51 ‚ɐ¶¬‚³‚ꂽƒtƒ@ƒCƒ‹B
  41.  
  42. // ************************************************************************  //
  43. // ƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ: UIAutomationClient.tlb (1)
  44. // LIBID: {944DE083-8FB8-45CF-BCB7-C477ACB2F897}
  45. // LCID: 0
  46. // ƒwƒ‹ƒvƒtƒ@ƒCƒ‹:
  47. // ƒwƒ‹ƒv•¶Žš—ñ:
  48. // ˆË‘¶ŠÖŒWƒŠƒXƒg:
  49. //   (1) v2.0 stdole, (C:\WINDOWS\system32\stdole2.tlb)
  50. // ƒGƒ‰[:
  51. //   ƒqƒ“ƒg: IUIAutomationTextRange.Move ‚̃pƒ‰ƒ[ƒ^ 'unit' ‚Ì–¼‘O‚ª 'unit_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  52. //   ƒqƒ“ƒg: IUIAutomationTextRange.MoveEndpointByUnit ‚̃pƒ‰ƒ[ƒ^ 'unit' ‚Ì–¼‘O‚ª 'unit_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  53. //   ƒqƒ“ƒg: 'ClassName' ‚Ì–¼‘O‚ª '_className' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  54. //   ƒqƒ“ƒg: 'ClassName' ‚Ì–¼‘O‚ª '_className' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  55. //   ƒqƒ“ƒg: IUIAutomation.IntNativeArrayToSafeArray ‚̃pƒ‰ƒ[ƒ^ 'array' ‚Ì–¼‘O‚ª 'array_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  56. //   ƒqƒ“ƒg: IUIAutomation.IntSafeArrayToNativeArray ‚̃pƒ‰ƒ[ƒ^ 'array' ‚Ì–¼‘O‚ª 'array_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  57. //   ƒqƒ“ƒg: IUIAutomation.RectToVariant ‚̃pƒ‰ƒ[ƒ^ 'var' ‚Ì–¼‘O‚ª 'var_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  58. //   ƒqƒ“ƒg: IUIAutomation.VariantToRect ‚̃pƒ‰ƒ[ƒ^ 'var' ‚Ì–¼‘O‚ª 'var_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  59. //   ƒqƒ“ƒg: IUIAutomation.GetPropertyProgrammaticName ‚̃pƒ‰ƒ[ƒ^ 'property' ‚Ì–¼‘O‚ª 'property_' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  60. //   ƒqƒ“ƒg: 'ClassName' ‚Ì–¼‘O‚ª '_className' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  61. //   ƒqƒ“ƒg: 'ClassName' ‚Ì–¼‘O‚ª '_className' ‚ɕύX‚³‚ê‚Ü‚µ‚½B
  62. //   "TCUIAutomation" ‚̃pƒŒƒbƒg—pƒrƒbƒgƒ}ƒbƒv‚̍쐬ŽžƒGƒ‰[ : ƒT[ƒo[ C:\WINDOWS\system32\uiautomationcore.dll ‚̓AƒCƒRƒ“‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
  63. // ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“:
  64. //   "C:\Program Files\Embarcadero\RAD Studio\8.0\bin\tlibimp.exe" -P UIAutomationClient.tlb
  65. // ************************************************************************ //
  66. // *************************************************************************//
  67. // ƒƒ‚:
  68. // $IFDEF_LIVE_SERVER_AT_DESIGN_TIME ‚ŃK[ƒh‚³‚ꂽ€–Ú‚ªŽg—p‚³‚ê‚é‚̂́A
  69. // ƒvƒƒpƒeƒB‚ŃAƒNƒZƒX‚·‚é‘O‚Ɋ֐”ŒÄ‚яo‚µ‚Å–¾Ž¦“I‚ɍ쐬‚·‚é•K—v‚ª‚ ‚é
  70. // ƒIƒuƒWƒFƒNƒg‚ª•Ô‚³‚ê‚éƒvƒƒpƒeƒB‚Å‚·B‚±‚ê‚ç‚̍€–Ú‚Í
  71. // ƒIƒuƒWƒFƒNƒg ƒCƒ“ƒXƒyƒNƒ^“à‚©‚çŠÔˆá‚Á‚ÄŽg—p‚³‚ê‚È‚¢‚悤‚É–³Œø‰»‚³‚ê‚Ä
  72. // ‚¢‚Ü‚·B‚±‚±‚Å LIVE_SERVER_AT_DESIGN_TIME ‚ð’è‹`‚·‚é‚©A
  73. // $IFDEF ƒuƒƒbƒN‚©‚ç‘I‘ð‚µ‚Äíœ‚·‚邱‚Æ‚É‚æ‚Á‚Ä—LŒø‚É‚Å‚«‚Ü‚·B
  74. // ‚½‚¾‚µA‚±‚̂悤‚ȍ€–Ú‚ÍŽg—p‚·‚é‘O‚É“KØ‚È CoClass ‚̃ƒ\ƒbƒh‚Å
  75. // ƒvƒƒOƒ‰ƒ€‚ō쐬‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·B
  76. {$TYPEDADDRESS OFF} // ƒ|ƒCƒ“ƒ^‚ÌŒ^ƒ`ƒFƒbƒN‚ðƒIƒt‚É‚µ‚ăRƒ“ƒpƒCƒ‹‚·‚邱‚Æ
  77. {$WARN SYMBOL_PLATFORM OFF}
  78. {$WRITEABLECONST ON}
  79. {$VARPROPSETTER ON}
  80. {$ALIGN 4}
  81. interface
  82.  
  83. uses Windows, ActiveX, Classes, Graphics, OleServer, StdVCL, Variants;
  84.  
  85. // *********************************************************************//
  86. // ƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚Ő錾‚³‚ê‚é GUID. ˆÈ‰º‚̃vƒŒƒtƒBƒbƒNƒX‚ðŽg‚¤:        
  87. //   Type Libraries     : LIBID_xxxx                                      
  88. //   CoClasses          : CLASS_xxxx                                      
  89. //   DISPInterfaces     : DIID_xxxx                                      
  90. //   Non-DISP interfaces: IID_xxxx                                        
  91. // *********************************************************************//
  92.  
  93.   function GetStateTextW(dwStateBit: DWORD; lpszStateBit: PWideChar;
  94.     cchStateBitMax: UINT): UINT; stdcall; external 'oleacc.dll';
  95.  
  96. const
  97.   // ƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚̃ƒWƒƒ[ ƒo[ƒWƒ‡ƒ“‚ƃ}ƒCƒi[ ƒo[ƒWƒ‡ƒ“
  98.   UIAutomationClientMajorVersion = 1;
  99.   UIAutomationClientMinorVersion = 0;
  100.  
  101.   LIBID_UIAutomationClient: TGUID = '{944DE083-8FB8-45CF-BCB7-C477ACB2F897}';
  102.  
  103.   IID_IUIAutomationElement: TGUID = '{D22108AA-8AC5-49A5-837B-37BBB3D7591E}';
  104.   IID_IUIAutomationCondition: TGUID = '{352FFBA8-0973-437C-A61F-F64CAFD81DF9}';
  105.   IID_IUIAutomationElementArray: TGUID = '{14314595-B4BC-4055-95F2-58F2E42C9855}';
  106.   IID_IUIAutomationCacheRequest: TGUID = '{B32A92B5-BC25-4078-9C08-D7EE95C48E03}';
  107.   IID_IUIAutomationBoolCondition: TGUID = '{1B4E1F2E-75EB-4D0B-8952-5A69988E2307}';
  108.   IID_IUIAutomationPropertyCondition: TGUID = '{99EBF2CB-5578-4267-9AD4-AFD6EA77E94B}';
  109.   IID_IUIAutomationAndCondition: TGUID = '{A7D0AF36-B912-45FE-9855-091DDC174AEC}';
  110.   IID_IUIAutomationOrCondition: TGUID = '{8753F032-3DB1-47B5-A1FC-6E34A266C712}';
  111.   IID_IUIAutomationNotCondition: TGUID = '{F528B657-847B-498C-8896-D52B565407A1}';
  112.   IID_IUIAutomationTreeWalker: TGUID = '{4042C624-389C-4AFC-A630-9DF854A541FC}';
  113.   IID_IUIAutomationEventHandler: TGUID = '{146C3C17-F12E-4E22-8C27-F894B9B79C69}';
  114.   IID_IUIAutomationPropertyChangedEventHandler: TGUID = '{40CD37D4-C756-4B0C-8C6F-BDDFEEB13B50}';
  115.   IID_IUIAutomationStructureChangedEventHandler: TGUID = '{E81D1B4E-11C5-42F8-9754-E7036C79F054}';
  116.   IID_IUIAutomationFocusChangedEventHandler: TGUID = '{C270F6B5-5C69-4290-9745-7A7F97169468}';
  117.   IID_IUIAutomationInvokePattern: TGUID = '{FB377FBE-8EA6-46D5-9C73-6499642D3059}';
  118.   IID_IUIAutomationDockPattern: TGUID = '{FDE5EF97-1464-48F6-90BF-43D0948E86EC}';
  119.   IID_IUIAutomationExpandCollapsePattern: TGUID = '{619BE086-1F4E-4EE4-BAFA-210128738730}';
  120.   IID_IUIAutomationGridPattern: TGUID = '{414C3CDC-856B-4F5B-8538-3131C6302550}';
  121.   IID_IUIAutomationGridItemPattern: TGUID = '{78F8EF57-66C3-4E09-BD7C-E79B2004894D}';
  122.   IID_IUIAutomationMultipleViewPattern: TGUID = '{8D253C91-1DC5-4BB5-B18F-ADE16FA495E8}';
  123.   IID_IUIAutomationRangeValuePattern: TGUID = '{59213F4F-7346-49E5-B120-80555987A148}';
  124.   IID_IUIAutomationScrollPattern: TGUID = '{88F4D42A-E881-459D-A77C-73BBBB7E02DC}';
  125.   IID_IUIAutomationScrollItemPattern: TGUID = '{B488300F-D015-4F19-9C29-BB595E3645EF}';
  126.   IID_IUIAutomationSelectionPattern: TGUID = '{5ED5202E-B2AC-47A6-B638-4B0BF140D78E}';
  127.   IID_IUIAutomationSelectionItemPattern: TGUID = '{A8EFA66A-0FDA-421A-9194-38021F3578EA}';
  128.   IID_IUIAutomationSynchronizedInputPattern: TGUID = '{2233BE0B-AFB7-448B-9FDA-3B378AA5EAE1}';
  129.   IID_IUIAutomationTablePattern: TGUID = '{620E691C-EA96-4710-A850-754B24CE2417}';
  130.   IID_IUIAutomationTableItemPattern: TGUID = '{0B964EB3-EF2E-4464-9C79-61D61737A27E}';
  131.   IID_IUIAutomationTogglePattern: TGUID = '{94CF8058-9B8D-4AB9-8BFD-4CD0A33C8C70}';
  132.   IID_IUIAutomationTransformPattern: TGUID = '{A9B55844-A55D-4EF0-926D-569C16FF89BB}';
  133.   IID_IUIAutomationValuePattern: TGUID = '{A94CD8B1-0844-4CD6-9D2D-640537AB39E9}';
  134.   IID_IUIAutomationWindowPattern: TGUID = '{0FAEF453-9208-43EF-BBB2-3B485177864F}';
  135.   IID_IUIAutomationTextRange: TGUID = '{A543CC6A-F4AE-494B-8239-C814481187A8}';
  136.   IID_IUIAutomationTextRangeArray: TGUID = '{CE4AE76A-E717-4C98-81EA-47371D028EB6}';
  137.   IID_IUIAutomationTextPattern: TGUID = '{32EBA289-3583-42C9-9C59-3B6D9A1E9B6A}';
  138.   IID_IUIAutomationLegacyIAccessiblePattern: TGUID = '{828055AD-355B-4435-86D5-3B51C14A9B1B}';
  139.   IID_IAccessible: TGUID = '{618736E0-3C3D-11CF-810C-00AA00389B71}';
  140.   IID_IUIAutomationItemContainerPattern: TGUID = '{C690FDB2-27A8-423C-812D-429773C9084E}';
  141.   IID_IUIAutomationVirtualizedItemPattern: TGUID = '{6BA3D7A6-04CF-4F11-8793-A8D1CDE9969F}';
  142.   IID_IUIAutomationProxyFactory: TGUID = '{85B94ECD-849D-42B6-B94D-D6DB23FDF5A4}';
  143.   IID_IRawElementProviderSimple: TGUID = '{D6DD68D1-86FD-4332-8666-9ABEDEA2D24C}';
  144.   IID_IUIAutomationProxyFactoryEntry: TGUID = '{D50E472E-B64B-490C-BCA1-D30696F9F289}';
  145.   IID_IUIAutomationProxyFactoryMapping: TGUID = '{09E31E18-872D-4873-93D1-1E541EC133FD}';
  146.   IID_IUIAutomation: TGUID = '{30CBE57D-D9D0-452A-AB13-7AC5AC4825EE}';
  147.   CLASS_CUIAutomation: TGUID = '{FF48DBA4-60EF-4201-AA87-54103EEF594E}';
  148.  
  149.  
  150. //----- Added Constants List Mr.XRAY ----------
  151. // Annotation Type Identifiers
  152.   AnnotationType_Comment        = 60003;
  153.   AnnotationType_Footer         = 60007;
  154.   AnnotationType_FormulaError   = 60004;
  155.   AnnotationType_GrammarError   = 60002;
  156.   AnnotationType_Header         = 60006;
  157.   AnnotationType_Highlighted    = 60008;
  158.   AnnotationType_SpellingError  = 60001;
  159.   AnnotationType_TrackChanges   = 60005;
  160.   AnnotationType_Unknown        = 60000;
  161.  
  162. // Control Pattern Identifiers
  163.   UIA_AnnotationPatternId        = 10023;
  164.   UIA_DockPatternId              = 10011;
  165.   UIA_DragPatternId              = 10030;
  166.   UIA_DropTargetPatternId        = 10031;
  167.   UIA_ExpandCollapsePatternId    = 10005;
  168.   UIA_GridItemPatternId          = 10007;
  169.   UIA_GridPatternId              = 10006;
  170.   UIA_InvokePatternId            = 10000;
  171.   UIA_ItemContainerPatternId     = 10019;
  172.   UIA_LegacyIAccessiblePatternId = 10018;
  173.   UIA_MultipleViewPatternId      = 10008;
  174.   UIA_ObjectModelPatternId       = 10022;
  175.   UIA_RangeValuePatternId        = 10003;
  176.   UIA_ScrollItemPatternId        = 10017;
  177.   UIA_ScrollPatternId            = 10004;
  178.   UIA_SelectionItemPatternId     = 10010;
  179.   UIA_SelectionPatternId         = 10001;
  180.   UIA_SpreadsheetPatternId       = 10026;
  181.   UIA_SpreadsheetItemPatternId   = 10027;
  182.   UIA_StylesPatternId            = 10025;
  183.   UIA_SynchronizedInputPatternId = 10021;
  184.   UIA_TableItemPatternId         = 10013;
  185.   UIA_TablePatternId             = 10012;
  186.   UIA_TextChildPatternId         = 10029;
  187.   UIA_TextPatternId              = 10014;
  188.   UIA_TextPattern2Id             = 10024;
  189.   UIA_TogglePatternId            = 10015;
  190.   UIA_TransformPatternId         = 10016;
  191.   UIA_TransformPattern2Id        = 10028;
  192.   UIA_ValuePatternId             = 10002;
  193.   UIA_VirtualizedItemPatternId   = 10020;
  194.  
  195. // Control Type Identifiers
  196.   UIA_CalendarControlTypeId     = 50001;
  197.   UIA_CheckBoxControlTypeId     = 50002;
  198.   UIA_ComboBoxControlTypeId     = 50003;
  199.   UIA_CustomControlTypeId       = 50025;
  200.   UIA_DataGridControlTypeId     = 50028;
  201.   UIA_DataItemControlTypeId     = 50029;
  202.   UIA_DocumentControlTypeId     = 50030;
  203.   UIA_EditControlTypeId         = 50004;
  204.   UIA_GroupControlTypeId        = 50026;
  205.   UIA_HeaderControlTypeId       = 50034;
  206.   UIA_HeaderItemControlTypeId   = 50035;
  207.   UIA_HyperlinkControlTypeId    = 50005;
  208.   UIA_ImageControlTypeId        = 50006;
  209.   UIA_ListControlTypeId         = 50008;
  210.   UIA_ListItemControlTypeId     = 50007;
  211.   UIA_MenuBarControlTypeId      = 50010;
  212.   UIA_MenuControlTypeId         = 50009;
  213.   UIA_MenuItemControlTypeId     = 50011;
  214.   UIA_PaneControlTypeId         = 50033;
  215.   UIA_ProgressBarControlTypeId  = 50012;
  216.   UIA_RadioButtonControlTypeId  = 50013;
  217.   UIA_ScrollBarControlTypeId    = 50014;
  218.   UIA_SemanticZoomControlTypeId = 50039;
  219.   UIA_SeparatorControlTypeId    = 50038;
  220.   UIA_SliderControlTypeId       = 50015;
  221.   UIA_SpinnerControlTypeId      = 50016;
  222.   UIA_SplitButtonControlTypeId  = 50031;
  223.   UIA_StatusBarControlTypeId    = 50017;
  224.   UIA_TabControlTypeId          = 50018;
  225.   UIA_TabItemControlTypeId      = 50019;
  226.   UIA_TableControlTypeId        = 50036;
  227.   UIA_TextControlTypeId         = 50020;
  228.   UIA_ThumbControlTypeId        = 50027;
  229.   UIA_TitleBarControlTypeId     = 50037;
  230.   UIA_ToolBarControlTypeId      = 50021;
  231.   UIA_ToolTipControlTypeId      = 50022;
  232.   UIA_TreeControlTypeId         = 50023;
  233.   UIA_TreeItemControlTypeId     = 50024;
  234.   UIA_WindowControlTypeId       = 50032;
  235.  
  236. // Error Codes
  237.   UIA_E_ELEMENTNOTAVAILABLE    = $80040201;
  238.   UIA_E_ELEMENTNOTENABLED      = $80040200;
  239.   UIA_E_INVALIDOPERATION       = $80131509;
  240.   UIA_E_NOCLICKABLEPOINT       = $80040202;
  241.   UIA_E_NOTSUPPORTED           = $80040204;
  242.   UIA_E_PROXYASSEMBLYNOTLOADED = $80040203;
  243.   UIA_E_TIMEOUT                = $0;
  244.  
  245. // Event Identifiers
  246.   UIA_AsyncContentLoadedEventId                        = 20006;
  247.   UIA_AutomationFocusChangedEventId                    = 20005;
  248.   UIA_AutomationPropertyChangedEventId                 = 20004;
  249.   UIA_Drag_DragStartEventId                            = 20026;
  250.   UIA_Drag_DragCancelEventId                           = 20027;
  251.   UIA_Drag_DragCompleteEventId                         = 20028;
  252.   UIA_DropTarget_DragEnterEventId                      = 20029;
  253.   UIA_DropTarget_DragLeaveEventId                      = 20030;
  254.   UIA_DropTarget_DroppedEventId                        = 20031;
  255.   UIA_HostedFragmentRootsInvalidatedEventId            = 20015;
  256.   UIA_InputDiscardedEventId                            = 20022;
  257.   UIA_InputReachedOtherElementEventId                  = 20021;
  258.   UIA_InputReachedTargetEventId                        = 20020;
  259.   UIA_Invoke_InvokedEventId                            = 20009;
  260.   UIA_LayoutInvalidatedEventId                         = 20008;
  261.   UIA_LiveRegionChangedEventId                         = 20025;
  262.   UIA_MenuClosedEventId                                = 20007;
  263.   UIA_MenuModeEndEventId                               = 20019;
  264.   UIA_MenuModeStartEventId                             = 20018;
  265.   UIA_MenuOpenedEventId                                = 20003;
  266.   UIA_Selection_InvalidatedEventId                     = 20013;
  267.   UIA_SelectionItem_ElementAddedToSelectionEventId     = 20010;
  268.   UIA_SelectionItem_ElementRemovedFromSelectionEventId = 20011;
  269.   UIA_SelectionItem_ElementSelectedEventId             = 20012;
  270.   UIA_StructureChangedEventId                          = 20002;
  271.   UIA_SystemAlertEventId                               = 20024;
  272.   UIA_Text_TextChangedEventId                          = 20015;
  273.   UIA_Text_TextSelectionChangedEventId                 = 20014;
  274.   UIA_ToolTipClosedEventId                             = 20001;
  275.   UIA_ToolTipOpenedEventId                             = 20000;
  276.   UIA_Window_WindowClosedEventId                       = 20017;
  277.   UIA_Window_WindowOpenedEventId                       = 20016;
  278.  
  279. // Automation Element Property Identifiers
  280.   UIA_AcceleratorKeyPropertyId       = 30006;
  281.   UIA_AccessKeyPropertyId            = 30007;
  282.   UIA_AriaPropertiesPropertyId       = 30102;
  283.   UIA_AriaRolePropertyId             = 30101;
  284.   UIA_AutomationIdPropertyId         = 30011;
  285.   UIA_BoundingRectanglePropertyId    = 30001;
  286.   UIA_ClassNamePropertyId            = 30012;
  287.   UIA_ClickablePointPropertyId       = 30014;
  288.   UIA_ControllerForPropertyId        = 30104;
  289.   UIA_ControlTypePropertyId          = 30003;
  290.   UIA_CulturePropertyId              = 30015;
  291.   UIA_DescribedByPropertyId          = 30105;
  292.   UIA_FlowsToPropertyId              = 30106;
  293.   UIA_FrameworkIdPropertyId          = 30024;
  294.   UIA_HasKeyboardFocusPropertyId     = 30008;
  295.   UIA_HelpTextPropertyId             = 30013;
  296.   UIA_IsContentElementPropertyId     = 30017;
  297.   UIA_IsControlElementPropertyId     = 30016;
  298.   UIA_IsDataValidForFormPropertyId   = 30103;
  299.   UIA_IsEnabledPropertyId            = 30010;
  300.   UIA_IsKeyboardFocusablePropertyId  = 30009;
  301.   UIA_IsOffscreenPropertyId          = 30022;
  302.   UIA_IsPasswordPropertyId           = 30019;
  303.   UIA_IsRequiredForFormPropertyId    = 30025;
  304.   UIA_ItemStatusPropertyId           = 30026;
  305.   UIA_ItemTypePropertyId             = 30021;  //MSDN‚ÌŒ³‚Ì’l‚Í300021‚¾‚ªCŠÔˆá‚¢‚©‚à’m‚ê‚È‚¢‚̂ŏC³
  306.   UIA_LabeledByPropertyId            = 30018;
  307.   UIA_LiveSettingPropertyId          = 30135;
  308.   UIA_LocalizedControlTypePropertyId = 30004;
  309.   UIA_NamePropertyId                 = 30005;
  310.   UIA_NativeWindowHandlePropertyId   = 30020;
  311.   UIA_OrientationPropertyId          = 30023;  //MSDN‚ÌŒ³‚Ì’l‚Í300023‚¾‚ªCŠÔˆá‚¢‚©‚à’m‚ê‚È‚¢‚̂ŏC³
  312.   UIA_ProcessIdPropertyId            = 30002;
  313.   UIA_ProviderDescriptionPropertyId  = 30107;
  314.   UIA_RuntimeIdPropertyId            = 30000;
  315.  
  316. // Control Pattern Property Identifiers
  317.   UIA_AnnotationAnnotationTypeIdPropertyId        = 30113;
  318.   UIA_AnnotationAnnotationTypeNamePropertyId      = 30114;
  319.   UIA_AnnotationAuthorPropertyId                  = 30115;
  320.   UIA_AnnotationDateTimePropertyId                = 30116;
  321.   UIA_AnnotationTargetPropertyId                  = 30117;
  322.   UIA_DockDockPositionPropertyId                  = 30069;
  323.   UIA_DragDropEffectPropertyId                    = 30139;
  324.   UIA_DragDropEffectsPropertyId                   = 30140;
  325.   UIA_DragIsGrabbedPropertyId                     = 30138;
  326.   UIA_DragGrabbedItemsPropertyId                  = 30144;
  327.   UIA_DropTargetDropTargetEffectPropertyId        = 30142;
  328.   UIA_DropTargetDropTargetEffectsPropertyId       = 30143;
  329.   UIA_ExpandCollapseExpandCollapseStatePropertyId = 30070;
  330.   UIA_GridColumnCountPropertyId                   = 30063;
  331.   UIA_GridItemColumnPropertyId                    = 30065;
  332.   UIA_GridItemColumnSpanPropertyId                = 30067;
  333.   UIA_GridItemContainingGridPropertyId            = 30068;
  334.   UIA_GridItemRowPropertyId                       = 30064;
  335.   UIA_GridItemRowSpanPropertyId                   = 30066;
  336.   UIA_GridRowCountPropertyId                      = 30062;
  337.   UIA_LegacyIAccessibleChildIdPropertyId          = 30091;
  338.   UIA_LegacyIAccessibleDefaultActionPropertyId    = 30100;
  339.   UIA_LegacyIAccessibleDescriptionPropertyId      = 30094;
  340.   UIA_LegacyIAccessibleHelpPropertyId             = 30097;
  341.   UIA_LegacyIAccessibleKeyboardShortcutPropertyId = 30098;
  342.   UIA_LegacyIAccessibleNamePropertyId             = 30092;
  343.   UIA_LegacyIAccessibleRolePropertyId             = 30095;
  344.   UIA_LegacyIAccessibleSelectionPropertyId        = 30099;
  345.   UIA_LegacyIAccessibleStatePropertyId            = 30096;
  346.   UIA_LegacyIAccessibleValuePropertyId            = 30093;
  347.   UIA_MultipleViewCurrentViewPropertyId           = 30071;
  348.   UIA_MultipleViewSupportedViewsPropertyId        = 30072;
  349.   UIA_RangeValueIsReadOnlyPropertyId              = 30048;
  350.   UIA_RangeValueLargeChangePropertyId             = 30051;
  351.   UIA_RangeValueMaximumPropertyId                 = 30050;
  352.   UIA_RangeValueMinimumPropertyId                 = 30049;
  353.   UIA_RangeValueSmallChangePropertyId             = 30052;
  354.   UIA_RangeValueValuePropertyId                   = 30047;
  355.   UIA_ScrollHorizontallyScrollablePropertyId      = 30057;
  356.   UIA_ScrollHorizontalScrollPercentPropertyId     = 30053;
  357.   UIA_ScrollHorizontalViewSizePropertyId          = 30054;
  358.   UIA_ScrollVerticallyScrollablePropertyId        = 30058;
  359.   UIA_ScrollVerticalScrollPercentPropertyId       = 30055;
  360.   UIA_ScrollVerticalViewSizePropertyId            = 30056;
  361.   UIA_SelectionCanSelectMultiplePropertyId        = 30060;
  362.   UIA_SelectionIsSelectionRequiredPropertyId      = 30061;
  363.   UIA_SelectionSelectionPropertyId                = 30059;
  364.   UIA_SelectionItemIsSelectedPropertyId           = 30079;
  365.   UIA_SelectionItemSelectionContainerPropertyId   = 30080;
  366.   UIA_SpreadsheetItemFormulaPropertyId            = 30129;
  367.   UIA_SpreadsheetItemAnnotationObjectsPropertyId  = 30130;
  368.   UIA_SpreadsheetItemAnnotationTypesPropertyId    = 30131;
  369.   UIA_StylesExtendedPropertiesPropertyId          = 30126;
  370.   UIA_StylesFillColorPropertyId                   = 30122;
  371.   UIA_StylesFillPatternColorPropertyId            = 30125;
  372.   UIA_StylesFillPatternStylePropertyId            = 30123;
  373.   UIA_StylesShapePropertyId                       = 30124;
  374.   UIA_StylesStyleIdPropertyId                     = 30120;
  375.   UIA_StylesStyleNamePropertyId                   = 30121;
  376.   UIA_TableColumnHeadersPropertyId                = 30082;
  377.   UIA_TableItemColumnHeaderItemsPropertyId        = 30085;
  378.   UIA_TableRowHeadersPropertyId                   = 30081;
  379.   UIA_TableRowOrColumnMajorPropertyId             = 30083;
  380.   UIA_TableItemRowHeaderItemsPropertyId           = 30084;
  381.   UIA_ToggleToggleStatePropertyId                 = 30086;
  382.   UIA_TransformCanMovePropertyId                  = 30087;
  383.   UIA_TransformCanResizePropertyId                = 30088;
  384.   UIA_TransformCanRotatePropertyId                = 30089;
  385.   UIA_Transform2CanZoomPropertyId                 = 30133;
  386.   UIA_Transform2ZoomLevelPropertyId               = 30145;
  387.   UIA_Transform2ZoomMaximumPropertyId             = 30147;
  388.   UIA_Transform2ZoomMinimumPropertyId             = 30146;
  389.   UIA_ValueIsReadOnlyPropertyId                   = 30046;
  390.   UIA_ValueValuePropertyId                        = 30045;
  391.   UIA_WindowCanMaximizePropertyId                 = 30073;
  392.   UIA_WindowCanMinimizePropertyId                 = 30074;
  393.   UIA_WindowIsModalPropertyId                     = 30077;
  394.   UIA_WindowIsTopmostPropertyId                   = 30078;
  395.   UIA_WindowWindowInteractionStatePropertyId      = 30076;
  396.   UIA_WindowWindowVisualStatePropertyId           = 30075;
  397.  
  398. // Control Pattern Availability Property Identifiers
  399.   UIA_IsAnnotationPatternAvailablePropertyId        = 30118;
  400.   UIA_IsDockPatternAvailablePropertyId              = 30027;
  401.   UIA_IsDragPatternAvailablePropertyId              = 30137;
  402.   UIA_IsDropTargetPatternAvailablePropertyId        = 30141;
  403.   UIA_IsExpandCollapsePatternAvailablePropertyId    = 30028;
  404.   UIA_IsGridItemPatternAvailablePropertyId          = 30029;
  405.   UIA_IsGridPatternAvailablePropertyId              = 30030;
  406.   UIA_IsInvokePatternAvailablePropertyId            = 30031;
  407.   UIA_IsItemContainerPatternAvailablePropertyId     = 30108;
  408.   UIA_IsLegacyIAccessiblePatternAvailablePropertyId = 30090;
  409.   UIA_IsMultipleViewPatternAvailablePropertyId      = 30032;
  410.   UIA_IsObjectModelPatternAvailablePropertyId       = 30112;
  411.   UIA_IsRangeValuePatternAvailablePropertyId        = 30033;
  412.   UIA_IsScrollItemPatternAvailablePropertyId        = 30035;
  413.   UIA_IsScrollPatternAvailablePropertyId            = 30034;
  414.   UIA_IsSelectionItemPatternAvailablePropertyId     = 30036;
  415.   UIA_IsSelectionPatternAvailablePropertyId         = 30037;
  416.   UIA_IsSpreadsheetPatternAvailablePropertyId       = 30128;
  417.   UIA_IsSpreadsheetItemPatternAvailablePropertyId   = 30132;
  418.   UIA_IsStylesPatternAvailablePropertyId            = 30127;
  419.   UIA_IsSynchronizedInputPatternAvailablePropertyId = 30110;
  420.   UIA_IsTableItemPatternAvailablePropertyId         = 30039;
  421.   UIA_IsTablePatternAvailablePropertyId             = 30038;
  422.   UIA_IsTextChildPatternAvailablePropertyId         = 30136;
  423.   UIA_IsTextPatternAvailablePropertyId              = 30040;
  424.   UIA_IsTextPattern2AvailablePropertyId             = 30119;
  425.   UIA_IsTogglePatternAvailablePropertyId            = 30041;
  426.   UIA_IsTransformPatternAvailablePropertyId         = 30042;
  427.   UIA_IsTransformPattern2AvailablePropertyId        = 30134;
  428.   UIA_IsValuePatternAvailablePropertyId             = 30043;
  429.   UIA_IsVirtualizedItemPatternAvailablePropertyId   = 30109;
  430.   UIA_IsWindowPatternAvailablePropertyId            = 30044;
  431.  
  432. //  Style Identifiers
  433.   StyleId_Custom    = 70000;
  434.   StyleId_Heading1  = 70001;
  435.   StyleId_Heading2  = 70002;
  436.   StyleId_Heading3  = 70003;
  437.   StyleId_Heading4  = 70004;
  438.   StyleId_Heading5  = 70005;
  439.   StyleId_Heading6  = 70006;
  440.   StyleId_Heading7  = 70007;
  441.   StyleId_Heading8  = 70008;
  442.   StyleId_Heading9  = 70009;
  443.   StyleId_Title     = 70010;
  444.   StyleId_Subtitle  = 70011;
  445.   StyleId_Normal    = 70012;
  446.   StyleId_Emphasis  = 70013;
  447.   StyleId_Quote     = 70014;
  448.  
  449. // Text Attribute Identifiers
  450.   UIA_AnimationStyleAttributeId          = 40000;
  451.   UIA_AnnotationObjectsAttributeId       = 40032;
  452.   UIA_AnnotationTypesAttributeId         = 40031;
  453.   UIA_BackgroundColorAttributeId         = 40001;
  454.   UIA_BulletStyleAttributeId             = 40002;
  455.   UIA_CapStyleAttributeId                = 40003;
  456.   UIA_CaretBidiModeAttributeId           = 40039;
  457.   UIA_CaretPositionAttributeId           = 40038;
  458.   UIA_CultureAttributeId                 = 40004;
  459.   UIA_FontNameAttributeId                = 40005;
  460.   UIA_FontSizeAttributeId                = 40006;
  461.   UIA_FontWeightAttributeId              = 40007; //MSDN‚ÌŒ³‚Ì’l‚Í400007‚¾‚ªCŠÔˆá‚¢‚©‚à’m‚ê‚È‚¢‚̂ŏC³
  462.   UIA_ForegroundColorAttributeId         = 40008;
  463.   UIA_HorizontalTextAlignmentAttributeId = 40009;
  464.   UIA_IndentationFirstLineAttributeId    = 40010;
  465.   UIA_IndentationLeadingAttributeId      = 40011;
  466.   UIA_IndentationTrailingAttributeId     = 40012;
  467.   UIA_IsActiveAttributeId                = 40036;
  468.   UIA_IsHiddenAttributeId                = 40013;
  469.   UIA_IsItalicAttributeId                = 40014;
  470.   UIA_IsReadOnlyAttributeId              = 40015;
  471.   UIA_IsSubscriptAttributeId             = 40016;
  472.   UIA_IsSuperscriptAttributeId           = 40017;
  473.   UIA_LinkAttributeId                    = 40035;
  474.   UIA_MarginBottomAttributeId            = 40018;
  475.   UIA_MarginLeadingAttributeId           = 40019;
  476.   UIA_MarginTopAttributeId               = 40020;
  477.   UIA_MarginTrailingAttributeId          = 40021;
  478.   UIA_OutlineStylesAttributeId           = 40022;
  479.   UIA_OverlineColorAttributeId           = 40023;
  480.   UIA_OverlineStyleAttributeId           = 40024;
  481.   UIA_SelectionActiveEndAttributeId      = 40037;
  482.   UIA_StrikethroughColorAttributeId      = 40025;
  483.   UIA_StrikethroughStyleAttributeId      = 40026;
  484.   UIA_StyleIdAttributeId                 = 40034;
  485.   UIA_StyleNameAttributeId               = 40033;
  486.   UIA_TabsAttributeId                    = 40027;
  487.   UIA_TextFlowDirectionsAttributeId      = 40028;
  488.   UIA_UnderlineColorAttributeId          = 40029;
  489.   UIA_UnderlineStyleAttributeId          = 40030;
  490. //----- Added Constants List End Mr.XRAY ----------
  491.  
  492.  
  493. // *********************************************************************//
  494. // ƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚Å’è‹`‚³‚ꂽ—ñ‹“Œ^‚̐錾
  495. // *********************************************************************//
  496. // —ñ‹“Œ^ TreeScope ‚̒萔
  497. type
  498.   TreeScope = TOleEnum;
  499. const
  500.   TreeScope_Element = $00000001;
  501.   TreeScope_Children = $00000002;
  502.   TreeScope_Descendants = $00000004;
  503.   TreeScope_Parent = $00000008;
  504.   TreeScope_Ancestors = $00000010;
  505.   TreeScope_Subtree = $00000007;
  506.  
  507. // —ñ‹“Œ^ AutomationElementMode ‚̒萔
  508. type
  509.   AutomationElementMode = TOleEnum;
  510. const
  511.   AutomationElementMode_None = $00000000;
  512.   AutomationElementMode_Full = $00000001;
  513.  
  514. // —ñ‹“Œ^ OrientationType ‚̒萔
  515. type
  516.   OrientationType = TOleEnum;
  517. const
  518.   OrientationType_None = $00000000;
  519.   OrientationType_Horizontal = $00000001;
  520.   OrientationType_Vertical = $00000002;
  521.  
  522. // —ñ‹“Œ^ PropertyConditionFlags ‚̒萔
  523. type
  524.   PropertyConditionFlags = TOleEnum;
  525. const
  526.   PropertyConditionFlags_None = $00000000;
  527.   PropertyConditionFlags_IgnoreCase = $00000001;
  528.  
  529. // —ñ‹“Œ^ StructureChangeType ‚̒萔
  530. type
  531.   StructureChangeType = TOleEnum;
  532. const
  533.   StructureChangeType_ChildAdded = $00000000;
  534.   StructureChangeType_ChildRemoved = $00000001;
  535.   StructureChangeType_ChildrenInvalidated = $00000002;
  536.   StructureChangeType_ChildrenBulkAdded = $00000003;
  537.   StructureChangeType_ChildrenBulkRemoved = $00000004;
  538.   StructureChangeType_ChildrenReordered = $00000005;
  539.  
  540. // —ñ‹“Œ^ DockPosition ‚̒萔
  541. type
  542.   DockPosition = TOleEnum;
  543. const
  544.   DockPosition_Top = $00000000;
  545.   DockPosition_Left = $00000001;
  546.   DockPosition_Bottom = $00000002;
  547.   DockPosition_Right = $00000003;
  548.   DockPosition_Fill = $00000004;
  549.   DockPosition_None = $00000005;
  550.  
  551. // —ñ‹“Œ^ ExpandCollapseState ‚̒萔
  552. type
  553.   ExpandCollapseState = TOleEnum;
  554. const
  555.   ExpandCollapseState_Collapsed = $00000000;
  556.   ExpandCollapseState_Expanded = $00000001;
  557.   ExpandCollapseState_PartiallyExpanded = $00000002;
  558.   ExpandCollapseState_LeafNode = $00000003;
  559.  
  560. // —ñ‹“Œ^ ScrollAmount ‚̒萔
  561. type
  562.   ScrollAmount = TOleEnum;
  563. const
  564.   ScrollAmount_LargeDecrement = $00000000;
  565.   ScrollAmount_SmallDecrement = $00000001;
  566.   ScrollAmount_NoAmount = $00000002;
  567.   ScrollAmount_LargeIncrement = $00000003;
  568.   ScrollAmount_SmallIncrement = $00000004;
  569.  
  570. // —ñ‹“Œ^ SynchronizedInputType ‚̒萔
  571. type
  572.   SynchronizedInputType = TOleEnum;
  573. const
  574.   SynchronizedInputType_KeyUp = $00000001;
  575.   SynchronizedInputType_KeyDown = $00000002;
  576.   SynchronizedInputType_LeftMouseUp = $00000004;
  577.   SynchronizedInputType_LeftMouseDown = $00000008;
  578.   SynchronizedInputType_RightMouseUp = $00000010;
  579.   SynchronizedInputType_RightMouseDown = $00000020;
  580.  
  581. // —ñ‹“Œ^ RowOrColumnMajor ‚̒萔
  582. type
  583.   RowOrColumnMajor = TOleEnum;
  584. const
  585.   RowOrColumnMajor_RowMajor = $00000000;
  586.   RowOrColumnMajor_ColumnMajor = $00000001;
  587.   RowOrColumnMajor_Indeterminate = $00000002;
  588.  
  589. // —ñ‹“Œ^ ToggleState ‚̒萔
  590. type
  591.   ToggleState = TOleEnum;
  592. const
  593.   ToggleState_Off = $00000000;
  594.   ToggleState_On = $00000001;
  595.   ToggleState_Indeterminate = $00000002;
  596.  
  597. // —ñ‹“Œ^ WindowVisualState ‚̒萔
  598. type
  599.   WindowVisualState = TOleEnum;
  600. const
  601.   WindowVisualState_Normal = $00000000;
  602.   WindowVisualState_Maximized = $00000001;
  603.   WindowVisualState_Minimized = $00000002;
  604.  
  605. // —ñ‹“Œ^ WindowInteractionState ‚̒萔
  606. type
  607.   WindowInteractionState = TOleEnum;
  608. const
  609.   WindowInteractionState_Running = $00000000;
  610.   WindowInteractionState_Closing = $00000001;
  611.   WindowInteractionState_ReadyForUserInteraction = $00000002;
  612.   WindowInteractionState_BlockedByModalWindow = $00000003;
  613.   WindowInteractionState_NotResponding = $00000004;
  614.  
  615. // —ñ‹“Œ^ TextPatternRangeEndpoint ‚̒萔
  616. type
  617.   TextPatternRangeEndpoint = TOleEnum;
  618. const
  619.   TextPatternRangeEndpoint_Start = $00000000;
  620.   TextPatternRangeEndpoint_End = $00000001;
  621.  
  622. // —ñ‹“Œ^ TextUnit ‚̒萔
  623. type
  624.   TextUnit = TOleEnum;
  625. const
  626.   TextUnit_Character = $00000000;
  627.   TextUnit_Format = $00000001;
  628.   TextUnit_Word = $00000002;
  629.   TextUnit_Line = $00000003;
  630.   TextUnit_Paragraph = $00000004;
  631.   TextUnit_Page = $00000005;
  632.   TextUnit_Document = $00000006;
  633.  
  634. // —ñ‹“Œ^ SupportedTextSelection ‚̒萔
  635. type
  636.   SupportedTextSelection = TOleEnum;
  637. const
  638.   SupportedTextSelection_None = $00000000;
  639.   SupportedTextSelection_Single = $00000001;
  640.   SupportedTextSelection_Multiple = $00000002;
  641.  
  642. // —ñ‹“Œ^ ProviderOptions ‚̒萔
  643. type
  644.   ProviderOptions = TOleEnum;
  645. const
  646.   ProviderOptions_ClientSideProvider = $00000001;
  647.   ProviderOptions_ServerSideProvider = $00000002;
  648.   ProviderOptions_NonClientAreaProvider = $00000004;
  649.   ProviderOptions_OverrideProvider = $00000008;
  650.   ProviderOptions_ProviderOwnsSetFocus = $00000010;
  651.   ProviderOptions_UseComThreading = $00000020;
  652.  
  653. type
  654. // *********************************************************************//
  655. // ƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚Ő錾‚³‚ê‚é‘O•ûŽQÆ
  656. // *********************************************************************//
  657.   IUIAutomationElement = interface;
  658.   IUIAutomationCondition = interface;
  659.   IUIAutomationElementArray = interface;
  660.   IUIAutomationCacheRequest = interface;
  661.   IUIAutomationBoolCondition = interface;
  662.   IUIAutomationPropertyCondition = interface;
  663.   IUIAutomationAndCondition = interface;
  664.   IUIAutomationOrCondition = interface;
  665.   IUIAutomationNotCondition = interface;
  666.   IUIAutomationTreeWalker = interface;
  667.   IUIAutomationEventHandler = interface;
  668.   IUIAutomationPropertyChangedEventHandler = interface;
  669.   IUIAutomationStructureChangedEventHandler = interface;
  670.   IUIAutomationFocusChangedEventHandler = interface;
  671.   IUIAutomationInvokePattern = interface;
  672.   IUIAutomationDockPattern = interface;
  673.   IUIAutomationExpandCollapsePattern = interface;
  674.   IUIAutomationGridPattern = interface;
  675.   IUIAutomationGridItemPattern = interface;
  676.   IUIAutomationMultipleViewPattern = interface;
  677.   IUIAutomationRangeValuePattern = interface;
  678.   IUIAutomationScrollPattern = interface;
  679.   IUIAutomationScrollItemPattern = interface;
  680.   IUIAutomationSelectionPattern = interface;
  681.   IUIAutomationSelectionItemPattern = interface;
  682.   IUIAutomationSynchronizedInputPattern = interface;
  683.   IUIAutomationTablePattern = interface;
  684.   IUIAutomationTableItemPattern = interface;
  685.   IUIAutomationTogglePattern = interface;
  686.   IUIAutomationTransformPattern = interface;
  687.   IUIAutomationValuePattern = interface;
  688.   IUIAutomationWindowPattern = interface;
  689.   IUIAutomationTextRange = interface;
  690.   IUIAutomationTextRangeArray = interface;
  691.   IUIAutomationTextPattern = interface;
  692.   IUIAutomationLegacyIAccessiblePattern = interface;
  693.   IAccessible = interface;
  694.   IAccessibleDisp = dispinterface;
  695.   IUIAutomationItemContainerPattern = interface;
  696.   IUIAutomationVirtualizedItemPattern = interface;
  697.   IUIAutomationProxyFactory = interface;
  698.   IRawElementProviderSimple = interface;
  699.   IUIAutomationProxyFactoryEntry = interface;
  700.   IUIAutomationProxyFactoryMapping = interface;
  701.   IUIAutomation = interface;
  702. // *********************************************************************//
  703. // ƒ^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚Ő錾‚³‚ê‚é CoClass
  704. // (’ˆÓ: ‚±‚±‚ÅŠe CoClass ‚ƃfƒtƒHƒ‹ƒg‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðƒ}ƒbƒsƒ“ƒO‚·‚é)
  705. // *********************************************************************//
  706.   CUIAutomation = IUIAutomation;
  707.  
  708.  
  709. // *********************************************************************//
  710. // \‘¢‘́A‹¤—p‘Ì‚¨‚æ‚уGƒCƒŠƒAƒX‚̐錾
  711. // *********************************************************************//
  712.   PUserType1 = ^TGUID; {*}
  713.   PPUserType1 = ^IUIAutomationCondition; {*}
  714.   PSYSINT1 = ^SYSINT; {*}
  715.   PUserType2 = ^tagRECT; {*}
  716.  
  717.   tagRECT = record
  718.     left: Integer;
  719.     top: Integer;
  720.     right: Integer;
  721.     bottom: Integer;
  722.   end;
  723.  
  724.   tagPOINT = record
  725.     x: Integer;
  726.     y: Integer;
  727.   end;
  728.  
  729.  
  730. // *********************************************************************//
  731. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationElement
  732. // ƒtƒ‰ƒO: (0)
  733. // GUID: {D22108AA-8AC5-49A5-837B-37BBB3D7591E}
  734. // *********************************************************************//
  735.   IUIAutomationElement = interface(IUnknown)
  736.     ['{D22108AA-8AC5-49A5-837B-37BBB3D7591E}']
  737.     function SetFocus: HResult; stdcall;
  738.     function GetRuntimeId(out runtimeId: PSafeArray): HResult; stdcall;
  739.     function FindFirst(scope: TreeScope; const condition: IUIAutomationCondition;
  740.                        out found: IUIAutomationElement): HResult; stdcall;
  741.     function FindAll(scope: TreeScope; const condition: IUIAutomationCondition;
  742.                      out found: IUIAutomationElementArray): HResult; stdcall;
  743.     function FindFirstBuildCache(scope: TreeScope; const condition: IUIAutomationCondition;
  744.                                  const cacheRequest: IUIAutomationCacheRequest;
  745.                                  out found: IUIAutomationElement): HResult; stdcall;
  746.     function FindAllBuildCache(scope: TreeScope; const condition: IUIAutomationCondition;
  747.                                const cacheRequest: IUIAutomationCacheRequest;
  748.                                out found: IUIAutomationElementArray): HResult; stdcall;
  749.     function BuildUpdatedCache(const cacheRequest: IUIAutomationCacheRequest;
  750.                                out updatedElement: IUIAutomationElement): HResult; stdcall;
  751.     function GetCurrentPropertyValue(propertyId: SYSINT; out retVal: OleVariant): HResult; stdcall;
  752.     function GetCurrentPropertyValueEx(propertyId: SYSINT; ignoreDefaultValue: Integer;
  753.                                        out retVal: OleVariant): HResult; stdcall;
  754.     function GetCachedPropertyValue(propertyId: SYSINT; out retVal: OleVariant): HResult; stdcall;
  755.     function GetCachedPropertyValueEx(propertyId: SYSINT; ignoreDefaultValue: Integer;
  756.                                       out retVal: OleVariant): HResult; stdcall;
  757.     function GetCurrentPatternAs(patternId: SYSINT; riid: TGUID; out patternObject: Pointer): HResult; stdcall;
  758.     function GetCachedPatternAs(patternId: SYSINT; riid: TGUID; out patternObject: Pointer): HResult; stdcall;
  759.     function GetCurrentPattern(patternId: SYSINT; out patternObject: IUnknown): HResult; stdcall;
  760.     function GetCachedPattern(patternId: SYSINT; out patternObject: IUnknown): HResult; stdcall;
  761.     function GetCachedParent(out parent: IUIAutomationElement): HResult; stdcall;
  762.     function GetCachedChildren(out children: IUIAutomationElementArray): HResult; stdcall;
  763.     function Get_CurrentProcessId(out retVal: SYSINT): HResult; stdcall;
  764.     function Get_CurrentControlType(out retVal: SYSINT): HResult; stdcall;
  765.     function Get_CurrentLocalizedControlType(out retVal: WideString): HResult; stdcall;
  766.     function Get_CurrentName(out retVal: WideString): HResult; stdcall;
  767.     function Get_CurrentAcceleratorKey(out retVal: WideString): HResult; stdcall;
  768.     function Get_CurrentAccessKey(out retVal: WideString): HResult; stdcall;
  769.     function Get_CurrentHasKeyboardFocus(out retVal: Integer): HResult; stdcall;
  770.     function Get_CurrentIsKeyboardFocusable(out retVal: Integer): HResult; stdcall;
  771.     function Get_CurrentIsEnabled(out retVal: Integer): HResult; stdcall;
  772.     function Get_CurrentAutomationId(out retVal: WideString): HResult; stdcall;
  773.     function Get_CurrentClassName(out retVal: WideString): HResult; stdcall;
  774.     function Get_CurrentHelpText(out retVal: WideString): HResult; stdcall;
  775.     function Get_CurrentCulture(out retVal: SYSINT): HResult; stdcall;
  776.     function Get_CurrentIsControlElement(out retVal: Integer): HResult; stdcall;
  777.     function Get_CurrentIsContentElement(out retVal: Integer): HResult; stdcall;
  778.     function Get_CurrentIsPassword(out retVal: Integer): HResult; stdcall;
  779.     function Get_CurrentNativeWindowHandle(out retVal: Pointer): HResult; stdcall;
  780.     function Get_CurrentItemType(out retVal: WideString): HResult; stdcall;
  781.     function Get_CurrentIsOffscreen(out retVal: Integer): HResult; stdcall;
  782.     function Get_CurrentOrientation(out retVal: OrientationType): HResult; stdcall;
  783.     function Get_CurrentFrameworkId(out retVal: WideString): HResult; stdcall;
  784.     function Get_CurrentIsRequiredForForm(out retVal: Integer): HResult; stdcall;
  785.     function Get_CurrentItemStatus(out retVal: WideString): HResult; stdcall;
  786.     function Get_CurrentBoundingRectangle(out retVal: tagRECT): HResult; stdcall;
  787.     function Get_CurrentLabeledBy(out retVal: IUIAutomationElement): HResult; stdcall;
  788.     function Get_CurrentAriaRole(out retVal: WideString): HResult; stdcall;
  789.     function Get_CurrentAriaProperties(out retVal: WideString): HResult; stdcall;
  790.     function Get_CurrentIsDataValidForForm(out retVal: Integer): HResult; stdcall;
  791.     function Get_CurrentControllerFor(out retVal: IUIAutomationElementArray): HResult; stdcall;
  792.     function Get_CurrentDescribedBy(out retVal: IUIAutomationElementArray): HResult; stdcall;
  793.     function Get_CurrentFlowsTo(out retVal: IUIAutomationElementArray): HResult; stdcall;
  794.     function Get_CurrentProviderDescription(out retVal: WideString): HResult; stdcall;
  795.     function Get_CachedProcessId(out retVal: SYSINT): HResult; stdcall;
  796.     function Get_CachedControlType(out retVal: SYSINT): HResult; stdcall;
  797.     function Get_CachedLocalizedControlType(out retVal: WideString): HResult; stdcall;
  798.     function Get_CachedName(out retVal: WideString): HResult; stdcall;
  799.     function Get_CachedAcceleratorKey(out retVal: WideString): HResult; stdcall;
  800.     function Get_CachedAccessKey(out retVal: WideString): HResult; stdcall;
  801.     function Get_CachedHasKeyboardFocus(out retVal: Integer): HResult; stdcall;
  802.     function Get_CachedIsKeyboardFocusable(out retVal: Integer): HResult; stdcall;
  803.     function Get_CachedIsEnabled(out retVal: Integer): HResult; stdcall;
  804.     function Get_CachedAutomationId(out retVal: WideString): HResult; stdcall;
  805.     function Get_CachedClassName(out retVal: WideString): HResult; stdcall;
  806.     function Get_CachedHelpText(out retVal: WideString): HResult; stdcall;
  807.     function Get_CachedCulture(out retVal: SYSINT): HResult; stdcall;
  808.     function Get_CachedIsControlElement(out retVal: Integer): HResult; stdcall;
  809.     function Get_CachedIsContentElement(out retVal: Integer): HResult; stdcall;
  810.     function Get_CachedIsPassword(out retVal: Integer): HResult; stdcall;
  811.     function Get_CachedNativeWindowHandle(out retVal: Pointer): HResult; stdcall;
  812.     function Get_CachedItemType(out retVal: WideString): HResult; stdcall;
  813.     function Get_CachedIsOffscreen(out retVal: Integer): HResult; stdcall;
  814.     function Get_CachedOrientation(out retVal: OrientationType): HResult; stdcall;
  815.     function Get_CachedFrameworkId(out retVal: WideString): HResult; stdcall;
  816.     function Get_CachedIsRequiredForForm(out retVal: Integer): HResult; stdcall;
  817.     function Get_CachedItemStatus(out retVal: WideString): HResult; stdcall;
  818.     function Get_CachedBoundingRectangle(out retVal: tagRECT): HResult; stdcall;
  819.     function Get_CachedLabeledBy(out retVal: IUIAutomationElement): HResult; stdcall;
  820.     function Get_CachedAriaRole(out retVal: WideString): HResult; stdcall;
  821.     function Get_CachedAriaProperties(out retVal: WideString): HResult; stdcall;
  822.     function Get_CachedIsDataValidForForm(out retVal: Integer): HResult; stdcall;
  823.     function Get_CachedControllerFor(out retVal: IUIAutomationElementArray): HResult; stdcall;
  824.     function Get_CachedDescribedBy(out retVal: IUIAutomationElementArray): HResult; stdcall;
  825.     function Get_CachedFlowsTo(out retVal: IUIAutomationElementArray): HResult; stdcall;
  826.     function Get_CachedProviderDescription(out retVal: WideString): HResult; stdcall;
  827.     function GetClickablePoint(out clickable: tagPOINT; out gotClickable: Integer): HResult; stdcall;
  828.   end;
  829.  
  830. // *********************************************************************//
  831. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationCondition
  832. // ƒtƒ‰ƒO: (0)
  833. // GUID: {352FFBA8-0973-437C-A61F-F64CAFD81DF9}
  834. // *********************************************************************//
  835.   IUIAutomationCondition = interface(IUnknown)
  836.     ['{352FFBA8-0973-437C-A61F-F64CAFD81DF9}']
  837.   end;
  838.  
  839. // *********************************************************************//
  840. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationElementArray
  841. // ƒtƒ‰ƒO: (0)
  842. // GUID: {14314595-B4BC-4055-95F2-58F2E42C9855}
  843. // *********************************************************************//
  844.   IUIAutomationElementArray = interface(IUnknown)
  845.     ['{14314595-B4BC-4055-95F2-58F2E42C9855}']
  846.     function Get_Length(out Length: SYSINT): HResult; stdcall;
  847.     function GetElement(index: SYSINT; out element: IUIAutomationElement): HResult; stdcall;
  848.   end;
  849.  
  850. // *********************************************************************//
  851. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationCacheRequest
  852. // ƒtƒ‰ƒO: (0)
  853. // GUID: {B32A92B5-BC25-4078-9C08-D7EE95C48E03}
  854. // *********************************************************************//
  855.   IUIAutomationCacheRequest = interface(IUnknown)
  856.     ['{B32A92B5-BC25-4078-9C08-D7EE95C48E03}']
  857.     function AddProperty(propertyId: SYSINT): HResult; stdcall;
  858.     function AddPattern(patternId: SYSINT): HResult; stdcall;
  859.     function Clone(out clonedRequest: IUIAutomationCacheRequest): HResult; stdcall;
  860.     function Get_TreeScope(out scope: TreeScope): HResult; stdcall;
  861.     function Set_TreeScope(scope: TreeScope): HResult; stdcall;
  862.     function Get_TreeFilter(out filter: IUIAutomationCondition): HResult; stdcall;
  863.     function Set_TreeFilter(const filter: IUIAutomationCondition): HResult; stdcall;
  864.     function Get_AutomationElementMode(out mode: AutomationElementMode): HResult; stdcall;
  865.     function Set_AutomationElementMode(mode: AutomationElementMode): HResult; stdcall;
  866.   end;
  867.  
  868. // *********************************************************************//
  869. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationBoolCondition
  870. // ƒtƒ‰ƒO: (0)
  871. // GUID: {1B4E1F2E-75EB-4D0B-8952-5A69988E2307}
  872. // *********************************************************************//
  873.   IUIAutomationBoolCondition = interface(IUIAutomationCondition)
  874.     ['{1B4E1F2E-75EB-4D0B-8952-5A69988E2307}']
  875.     function Get_BooleanValue(out boolVal: Integer): HResult; stdcall;
  876.   end;
  877.  
  878. // *********************************************************************//
  879. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationPropertyCondition
  880. // ƒtƒ‰ƒO: (0)
  881. // GUID: {99EBF2CB-5578-4267-9AD4-AFD6EA77E94B}
  882. // *********************************************************************//
  883.   IUIAutomationPropertyCondition = interface(IUIAutomationCondition)
  884.     ['{99EBF2CB-5578-4267-9AD4-AFD6EA77E94B}']
  885.     function Get_propertyId(out propertyId: SYSINT): HResult; stdcall;
  886.     function Get_PropertyValue(out PropertyValue: OleVariant): HResult; stdcall;
  887.     function Get_PropertyConditionFlags(out flags: PropertyConditionFlags): HResult; stdcall;
  888.   end;
  889.  
  890. // *********************************************************************//
  891. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationAndCondition
  892. // ƒtƒ‰ƒO: (0)
  893. // GUID: {A7D0AF36-B912-45FE-9855-091DDC174AEC}
  894. // *********************************************************************//
  895.   IUIAutomationAndCondition = interface(IUIAutomationCondition)
  896.     ['{A7D0AF36-B912-45FE-9855-091DDC174AEC}']
  897.     function Get_ChildCount(out ChildCount: SYSINT): HResult; stdcall;
  898.     function GetChildrenAsNativeArray(out childArray: PPUserType1; out childArrayCount: SYSINT): HResult; stdcall;
  899.     function GetChildren(out childArray: PSafeArray): HResult; stdcall;
  900.   end;
  901.  
  902. // *********************************************************************//
  903. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationOrCondition
  904. // ƒtƒ‰ƒO: (0)
  905. // GUID: {8753F032-3DB1-47B5-A1FC-6E34A266C712}
  906. // *********************************************************************//
  907.   IUIAutomationOrCondition = interface(IUIAutomationCondition)
  908.     ['{8753F032-3DB1-47B5-A1FC-6E34A266C712}']
  909.     function Get_ChildCount(out ChildCount: SYSINT): HResult; stdcall;
  910.     function GetChildrenAsNativeArray(out childArray: PPUserType1; out childArrayCount: SYSINT): HResult; stdcall;
  911.     function GetChildren(out childArray: PSafeArray): HResult; stdcall;
  912.   end;
  913.  
  914. // *********************************************************************//
  915. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationNotCondition
  916. // ƒtƒ‰ƒO: (0)
  917. // GUID: {F528B657-847B-498C-8896-D52B565407A1}
  918. // *********************************************************************//
  919.   IUIAutomationNotCondition = interface(IUIAutomationCondition)
  920.     ['{F528B657-847B-498C-8896-D52B565407A1}']
  921.     function GetChild(out condition: IUIAutomationCondition): HResult; stdcall;
  922.   end;
  923.  
  924. // *********************************************************************//
  925. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTreeWalker
  926. // ƒtƒ‰ƒO: (0)
  927. // GUID: {4042C624-389C-4AFC-A630-9DF854A541FC}
  928. // *********************************************************************//
  929.   IUIAutomationTreeWalker = interface(IUnknown)
  930.     ['{4042C624-389C-4AFC-A630-9DF854A541FC}']
  931.     function GetParentElement(const element: IUIAutomationElement; out parent: IUIAutomationElement): HResult; stdcall;
  932.     function GetFirstChildElement(const element: IUIAutomationElement;
  933.                                   out first: IUIAutomationElement): HResult; stdcall;
  934.     function GetLastChildElement(const element: IUIAutomationElement; out last: IUIAutomationElement): HResult; stdcall;
  935.     function GetNextSiblingElement(const element: IUIAutomationElement;
  936.                                    out next: IUIAutomationElement): HResult; stdcall;
  937.     function GetPreviousSiblingElement(const element: IUIAutomationElement;
  938.                                        out previous: IUIAutomationElement): HResult; stdcall;
  939.     function NormalizeElement(const element: IUIAutomationElement;
  940.                               out normalized: IUIAutomationElement): HResult; stdcall;
  941.     function GetParentElementBuildCache(const element: IUIAutomationElement;
  942.                                         const cacheRequest: IUIAutomationCacheRequest;
  943.                                         out parent: IUIAutomationElement): HResult; stdcall;
  944.     function GetFirstChildElementBuildCache(const element: IUIAutomationElement;
  945.                                             const cacheRequest: IUIAutomationCacheRequest;
  946.                                             out first: IUIAutomationElement): HResult; stdcall;
  947.     function GetLastChildElementBuildCache(const element: IUIAutomationElement;
  948.                                            const cacheRequest: IUIAutomationCacheRequest;
  949.                                            out last: IUIAutomationElement): HResult; stdcall;
  950.     function GetNextSiblingElementBuildCache(const element: IUIAutomationElement;
  951.                                              const cacheRequest: IUIAutomationCacheRequest;
  952.                                              out next: IUIAutomationElement): HResult; stdcall;
  953.     function GetPreviousSiblingElementBuildCache(const element: IUIAutomationElement;
  954.                                                  const cacheRequest: IUIAutomationCacheRequest;
  955.                                                  out previous: IUIAutomationElement): HResult; stdcall;
  956.     function NormalizeElementBuildCache(const element: IUIAutomationElement;
  957.                                         const cacheRequest: IUIAutomationCacheRequest;
  958.                                         out normalized: IUIAutomationElement): HResult; stdcall;
  959.     function Get_condition(out condition: IUIAutomationCondition): HResult; stdcall;
  960.   end;
  961.  
  962. // *********************************************************************//
  963. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationEventHandler
  964. // ƒtƒ‰ƒO: (256) OleAutomation
  965. // GUID: {146C3C17-F12E-4E22-8C27-F894B9B79C69}
  966. // *********************************************************************//
  967.   IUIAutomationEventHandler = interface(IUnknown)
  968.     ['{146C3C17-F12E-4E22-8C27-F894B9B79C69}']
  969.     function HandleAutomationEvent(const sender: IUIAutomationElement; eventId: SYSINT): HResult; stdcall;
  970.   end;
  971.  
  972. // *********************************************************************//
  973. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationPropertyChangedEventHandler
  974. // ƒtƒ‰ƒO: (256) OleAutomation
  975. // GUID: {40CD37D4-C756-4B0C-8C6F-BDDFEEB13B50}
  976. // *********************************************************************//
  977.   IUIAutomationPropertyChangedEventHandler = interface(IUnknown)
  978.     ['{40CD37D4-C756-4B0C-8C6F-BDDFEEB13B50}']
  979.     function HandlePropertyChangedEvent(const sender: IUIAutomationElement; propertyId: SYSINT;
  980.                                         newValue: OleVariant): HResult; stdcall;
  981.   end;
  982.  
  983. // *********************************************************************//
  984. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationStructureChangedEventHandler
  985. // ƒtƒ‰ƒO: (256) OleAutomation
  986. // GUID: {E81D1B4E-11C5-42F8-9754-E7036C79F054}
  987. // *********************************************************************//
  988.   IUIAutomationStructureChangedEventHandler = interface(IUnknown)
  989.     ['{E81D1B4E-11C5-42F8-9754-E7036C79F054}']
  990.     function HandleStructureChangedEvent(const sender: IUIAutomationElement;
  991.                                          changeType: StructureChangeType; runtimeId: PSafeArray): HResult; stdcall;
  992.   end;
  993.  
  994. // *********************************************************************//
  995. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationFocusChangedEventHandler
  996. // ƒtƒ‰ƒO: (256) OleAutomation
  997. // GUID: {C270F6B5-5C69-4290-9745-7A7F97169468}
  998. // *********************************************************************//
  999.   IUIAutomationFocusChangedEventHandler = interface(IUnknown)
  1000.     ['{C270F6B5-5C69-4290-9745-7A7F97169468}']
  1001.     function HandleFocusChangedEvent(const sender: IUIAutomationElement): HResult; stdcall;
  1002.   end;
  1003.  
  1004. // *********************************************************************//
  1005. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationInvokePattern
  1006. // ƒtƒ‰ƒO: (0)
  1007. // GUID: {FB377FBE-8EA6-46D5-9C73-6499642D3059}
  1008. // *********************************************************************//
  1009.   IUIAutomationInvokePattern = interface(IUnknown)
  1010.     ['{FB377FBE-8EA6-46D5-9C73-6499642D3059}']
  1011.     function Invoke: HResult; stdcall;
  1012.   end;
  1013.  
  1014. // *********************************************************************//
  1015. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationDockPattern
  1016. // ƒtƒ‰ƒO: (0)
  1017. // GUID: {FDE5EF97-1464-48F6-90BF-43D0948E86EC}
  1018. // *********************************************************************//
  1019.   IUIAutomationDockPattern = interface(IUnknown)
  1020.     ['{FDE5EF97-1464-48F6-90BF-43D0948E86EC}']
  1021.     function SetDockPosition(dockPos: DockPosition): HResult; stdcall;
  1022.     function Get_CurrentDockPosition(out retVal: DockPosition): HResult; stdcall;
  1023.     function Get_CachedDockPosition(out retVal: DockPosition): HResult; stdcall;
  1024.   end;
  1025.  
  1026. // *********************************************************************//
  1027. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationExpandCollapsePattern
  1028. // ƒtƒ‰ƒO: (0)
  1029. // GUID: {619BE086-1F4E-4EE4-BAFA-210128738730}
  1030. // *********************************************************************//
  1031.   IUIAutomationExpandCollapsePattern = interface(IUnknown)
  1032.     ['{619BE086-1F4E-4EE4-BAFA-210128738730}']
  1033.     function Expand: HResult; stdcall;
  1034.     function Collapse: HResult; stdcall;
  1035.     function Get_CurrentExpandCollapseState(out retVal: ExpandCollapseState): HResult; stdcall;
  1036.     function Get_CachedExpandCollapseState(out retVal: ExpandCollapseState): HResult; stdcall;
  1037.   end;
  1038.  
  1039. // *********************************************************************//
  1040. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationGridPattern
  1041. // ƒtƒ‰ƒO: (0)
  1042. // GUID: {414C3CDC-856B-4F5B-8538-3131C6302550}
  1043. // *********************************************************************//
  1044.   IUIAutomationGridPattern = interface(IUnknown)
  1045.     ['{414C3CDC-856B-4F5B-8538-3131C6302550}']
  1046.     function GetItem(row: SYSINT; column: SYSINT; out element: IUIAutomationElement): HResult; stdcall;
  1047.     function Get_CurrentRowCount(out retVal: SYSINT): HResult; stdcall;
  1048.     function Get_CurrentColumnCount(out retVal: SYSINT): HResult; stdcall;
  1049.     function Get_CachedRowCount(out retVal: SYSINT): HResult; stdcall;
  1050.     function Get_CachedColumnCount(out retVal: SYSINT): HResult; stdcall;
  1051.   end;
  1052.  
  1053. // *********************************************************************//
  1054. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationGridItemPattern
  1055. // ƒtƒ‰ƒO: (0)
  1056. // GUID: {78F8EF57-66C3-4E09-BD7C-E79B2004894D}
  1057. // *********************************************************************//
  1058.   IUIAutomationGridItemPattern = interface(IUnknown)
  1059.     ['{78F8EF57-66C3-4E09-BD7C-E79B2004894D}']
  1060.     function Get_CurrentContainingGrid(out retVal: IUIAutomationElement): HResult; stdcall;
  1061.     function Get_CurrentRow(out retVal: SYSINT): HResult; stdcall;
  1062.     function Get_CurrentColumn(out retVal: SYSINT): HResult; stdcall;
  1063.     function Get_CurrentRowSpan(out retVal: SYSINT): HResult; stdcall;
  1064.     function Get_CurrentColumnSpan(out retVal: SYSINT): HResult; stdcall;
  1065.     function Get_CachedContainingGrid(out retVal: IUIAutomationElement): HResult; stdcall;
  1066.     function Get_CachedRow(out retVal: SYSINT): HResult; stdcall;
  1067.     function Get_CachedColumn(out retVal: SYSINT): HResult; stdcall;
  1068.     function Get_CachedRowSpan(out retVal: SYSINT): HResult; stdcall;
  1069.     function Get_CachedColumnSpan(out retVal: SYSINT): HResult; stdcall;
  1070.   end;
  1071.  
  1072. // *********************************************************************//
  1073. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationMultipleViewPattern
  1074. // ƒtƒ‰ƒO: (0)
  1075. // GUID: {8D253C91-1DC5-4BB5-B18F-ADE16FA495E8}
  1076. // *********************************************************************//
  1077.   IUIAutomationMultipleViewPattern = interface(IUnknown)
  1078.     ['{8D253C91-1DC5-4BB5-B18F-ADE16FA495E8}']
  1079.     function GetViewName(view: SYSINT; out name: WideString): HResult; stdcall;
  1080.     function SetCurrentView(view: SYSINT): HResult; stdcall;
  1081.     function Get_CurrentCurrentView(out retVal: SYSINT): HResult; stdcall;
  1082.     function GetCurrentSupportedViews(out retVal: PSafeArray): HResult; stdcall;
  1083.     function Get_CachedCurrentView(out retVal: SYSINT): HResult; stdcall;
  1084.     function GetCachedSupportedViews(out retVal: PSafeArray): HResult; stdcall;
  1085.   end;
  1086.  
  1087. // *********************************************************************//
  1088. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationRangeValuePattern
  1089. // ƒtƒ‰ƒO: (0)
  1090. // GUID: {59213F4F-7346-49E5-B120-80555987A148}
  1091. // *********************************************************************//
  1092.   IUIAutomationRangeValuePattern = interface(IUnknown)
  1093.     ['{59213F4F-7346-49E5-B120-80555987A148}']
  1094.     function SetValue(val: Double): HResult; stdcall;
  1095.     function Get_CurrentValue(out retVal: Double): HResult; stdcall;
  1096.     function Get_CurrentIsReadOnly(out retVal: Integer): HResult; stdcall;
  1097.     function Get_CurrentMaximum(out retVal: Double): HResult; stdcall;
  1098.     function Get_CurrentMinimum(out retVal: Double): HResult; stdcall;
  1099.     function Get_CurrentLargeChange(out retVal: Double): HResult; stdcall;
  1100.     function Get_CurrentSmallChange(out retVal: Double): HResult; stdcall;
  1101.     function Get_CachedValue(out retVal: Double): HResult; stdcall;
  1102.     function Get_CachedIsReadOnly(out retVal: Integer): HResult; stdcall;
  1103.     function Get_CachedMaximum(out retVal: Double): HResult; stdcall;
  1104.     function Get_CachedMinimum(out retVal: Double): HResult; stdcall;
  1105.     function Get_CachedLargeChange(out retVal: Double): HResult; stdcall;
  1106.     function Get_CachedSmallChange(out retVal: Double): HResult; stdcall;
  1107.   end;
  1108.  
  1109. // *********************************************************************//
  1110. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationScrollPattern
  1111. // ƒtƒ‰ƒO: (0)
  1112. // GUID: {88F4D42A-E881-459D-A77C-73BBBB7E02DC}
  1113. // *********************************************************************//
  1114.   IUIAutomationScrollPattern = interface(IUnknown)
  1115.     ['{88F4D42A-E881-459D-A77C-73BBBB7E02DC}']
  1116.     function Scroll(horizontalAmount: ScrollAmount; verticalAmount: ScrollAmount): HResult; stdcall;
  1117.     function SetScrollPercent(horizontalPercent: Double; verticalPercent: Double): HResult; stdcall;
  1118.     function Get_CurrentHorizontalScrollPercent(out retVal: Double): HResult; stdcall;
  1119.     function Get_CurrentVerticalScrollPercent(out retVal: Double): HResult; stdcall;
  1120.     function Get_CurrentHorizontalViewSize(out retVal: Double): HResult; stdcall;
  1121.     function Get_CurrentVerticalViewSize(out retVal: Double): HResult; stdcall;
  1122.     function Get_CurrentHorizontallyScrollable(out retVal: Integer): HResult; stdcall;
  1123.     function Get_CurrentVerticallyScrollable(out retVal: Integer): HResult; stdcall;
  1124.     function Get_CachedHorizontalScrollPercent(out retVal: Double): HResult; stdcall;
  1125.     function Get_CachedVerticalScrollPercent(out retVal: Double): HResult; stdcall;
  1126.     function Get_CachedHorizontalViewSize(out retVal: Double): HResult; stdcall;
  1127.     function Get_CachedVerticalViewSize(out retVal: Double): HResult; stdcall;
  1128.     function Get_CachedHorizontallyScrollable(out retVal: Integer): HResult; stdcall;
  1129.     function Get_CachedVerticallyScrollable(out retVal: Integer): HResult; stdcall;
  1130.   end;
  1131.  
  1132. // *********************************************************************//
  1133. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationScrollItemPattern
  1134. // ƒtƒ‰ƒO: (0)
  1135. // GUID: {B488300F-D015-4F19-9C29-BB595E3645EF}
  1136. // *********************************************************************//
  1137.   IUIAutomationScrollItemPattern = interface(IUnknown)
  1138.     ['{B488300F-D015-4F19-9C29-BB595E3645EF}']
  1139.     function ScrollIntoView: HResult; stdcall;
  1140.   end;
  1141.  
  1142. // *********************************************************************//
  1143. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationSelectionPattern
  1144. // ƒtƒ‰ƒO: (0)
  1145. // GUID: {5ED5202E-B2AC-47A6-B638-4B0BF140D78E}
  1146. // *********************************************************************//
  1147.   IUIAutomationSelectionPattern = interface(IUnknown)
  1148.     ['{5ED5202E-B2AC-47A6-B638-4B0BF140D78E}']
  1149.     function GetCurrentSelection(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1150.     function Get_CurrentCanSelectMultiple(out retVal: Integer): HResult; stdcall;
  1151.     function Get_CurrentIsSelectionRequired(out retVal: Integer): HResult; stdcall;
  1152.     function GetCachedSelection(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1153.     function Get_CachedCanSelectMultiple(out retVal: Integer): HResult; stdcall;
  1154.     function Get_CachedIsSelectionRequired(out retVal: Integer): HResult; stdcall;
  1155.   end;
  1156.  
  1157. // *********************************************************************//
  1158. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationSelectionItemPattern
  1159. // ƒtƒ‰ƒO: (0)
  1160. // GUID: {A8EFA66A-0FDA-421A-9194-38021F3578EA}
  1161. // *********************************************************************//
  1162.   IUIAutomationSelectionItemPattern = interface(IUnknown)
  1163.     ['{A8EFA66A-0FDA-421A-9194-38021F3578EA}']
  1164.     function Select: HResult; stdcall;
  1165.     function AddToSelection: HResult; stdcall;
  1166.     function RemoveFromSelection: HResult; stdcall;
  1167.     function Get_CurrentIsSelected(out retVal: Integer): HResult; stdcall;
  1168.     function Get_CurrentSelectionContainer(out retVal: IUIAutomationElement): HResult; stdcall;
  1169.     function Get_CachedIsSelected(out retVal: Integer): HResult; stdcall;
  1170.     function Get_CachedSelectionContainer(out retVal: IUIAutomationElement): HResult; stdcall;
  1171.   end;
  1172.  
  1173. // *********************************************************************//
  1174. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationSynchronizedInputPattern
  1175. // ƒtƒ‰ƒO: (0)
  1176. // GUID: {2233BE0B-AFB7-448B-9FDA-3B378AA5EAE1}
  1177. // *********************************************************************//
  1178.   IUIAutomationSynchronizedInputPattern = interface(IUnknown)
  1179.     ['{2233BE0B-AFB7-448B-9FDA-3B378AA5EAE1}']
  1180.     function StartListening(inputType: SynchronizedInputType): HResult; stdcall;
  1181.     function Cancel: HResult; stdcall;
  1182.   end;
  1183.  
  1184. // *********************************************************************//
  1185. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTablePattern
  1186. // ƒtƒ‰ƒO: (0)
  1187. // GUID: {620E691C-EA96-4710-A850-754B24CE2417}
  1188. // *********************************************************************//
  1189.   IUIAutomationTablePattern = interface(IUnknown)
  1190.     ['{620E691C-EA96-4710-A850-754B24CE2417}']
  1191.     function GetCurrentRowHeaders(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1192.     function GetCurrentColumnHeaders(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1193.     function Get_CurrentRowOrColumnMajor(out retVal: RowOrColumnMajor): HResult; stdcall;
  1194.     function GetCachedRowHeaders(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1195.     function GetCachedColumnHeaders(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1196.     function Get_CachedRowOrColumnMajor(out retVal: RowOrColumnMajor): HResult; stdcall;
  1197.   end;
  1198.  
  1199. // *********************************************************************//
  1200. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTableItemPattern
  1201. // ƒtƒ‰ƒO: (0)
  1202. // GUID: {0B964EB3-EF2E-4464-9C79-61D61737A27E}
  1203. // *********************************************************************//
  1204.   IUIAutomationTableItemPattern = interface(IUnknown)
  1205.     ['{0B964EB3-EF2E-4464-9C79-61D61737A27E}']
  1206.     function GetCurrentRowHeaderItems(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1207.     function GetCurrentColumnHeaderItems(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1208.     function GetCachedRowHeaderItems(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1209.     function GetCachedColumnHeaderItems(out retVal: IUIAutomationElementArray): HResult; stdcall;
  1210.   end;
  1211.  
  1212. // *********************************************************************//
  1213. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTogglePattern
  1214. // ƒtƒ‰ƒO: (0)
  1215. // GUID: {94CF8058-9B8D-4AB9-8BFD-4CD0A33C8C70}
  1216. // *********************************************************************//
  1217.   IUIAutomationTogglePattern = interface(IUnknown)
  1218.     ['{94CF8058-9B8D-4AB9-8BFD-4CD0A33C8C70}']
  1219.     function Toggle: HResult; stdcall;
  1220.     function Get_CurrentToggleState(out retVal: ToggleState): HResult; stdcall;
  1221.     function Get_CachedToggleState(out retVal: ToggleState): HResult; stdcall;
  1222.   end;
  1223.  
  1224. // *********************************************************************//
  1225. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTransformPattern
  1226. // ƒtƒ‰ƒO: (0)
  1227. // GUID: {A9B55844-A55D-4EF0-926D-569C16FF89BB}
  1228. // *********************************************************************//
  1229.   IUIAutomationTransformPattern = interface(IUnknown)
  1230.     ['{A9B55844-A55D-4EF0-926D-569C16FF89BB}']
  1231.     function Move(x: Double; y: Double): HResult; stdcall;
  1232.     function Resize(width: Double; height: Double): HResult; stdcall;
  1233.     function Rotate(degrees: Double): HResult; stdcall;
  1234.     function Get_CurrentCanMove(out retVal: Integer): HResult; stdcall;
  1235.     function Get_CurrentCanResize(out retVal: Integer): HResult; stdcall;
  1236.     function Get_CurrentCanRotate(out retVal: Integer): HResult; stdcall;
  1237.     function Get_CachedCanMove(out retVal: Integer): HResult; stdcall;
  1238.     function Get_CachedCanResize(out retVal: Integer): HResult; stdcall;
  1239.     function Get_CachedCanRotate(out retVal: Integer): HResult; stdcall;
  1240.   end;
  1241.  
  1242. // *********************************************************************//
  1243. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationValuePattern
  1244. // ƒtƒ‰ƒO: (0)
  1245. // GUID: {A94CD8B1-0844-4CD6-9D2D-640537AB39E9}
  1246. // *********************************************************************//
  1247.   IUIAutomationValuePattern = interface(IUnknown)
  1248.     ['{A94CD8B1-0844-4CD6-9D2D-640537AB39E9}']
  1249.     function SetValue(const val: WideString): HResult; stdcall;
  1250.     function Get_CurrentValue(out retVal: WideString): HResult; stdcall;
  1251.     function Get_CurrentIsReadOnly(out retVal: Integer): HResult; stdcall;
  1252.     function Get_CachedValue(out retVal: WideString): HResult; stdcall;
  1253.     function Get_CachedIsReadOnly(out retVal: Integer): HResult; stdcall;
  1254.   end;
  1255.  
  1256. // *********************************************************************//
  1257. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationWindowPattern
  1258. // ƒtƒ‰ƒO: (0)
  1259. // GUID: {0FAEF453-9208-43EF-BBB2-3B485177864F}
  1260. // *********************************************************************//
  1261.   IUIAutomationWindowPattern = interface(IUnknown)
  1262.     ['{0FAEF453-9208-43EF-BBB2-3B485177864F}']
  1263.     function Close: HResult; stdcall;
  1264.     function WaitForInputIdle(milliseconds: SYSINT; out success: Integer): HResult; stdcall;
  1265.     function SetWindowVisualState(state: WindowVisualState): HResult; stdcall;
  1266.     function Get_CurrentCanMaximize(out retVal: Integer): HResult; stdcall;
  1267.     function Get_CurrentCanMinimize(out retVal: Integer): HResult; stdcall;
  1268.     function Get_CurrentIsModal(out retVal: Integer): HResult; stdcall;
  1269.     function Get_CurrentIsTopmost(out retVal: Integer): HResult; stdcall;
  1270.     function Get_CurrentWindowVisualState(out retVal: WindowVisualState): HResult; stdcall;
  1271.     function Get_CurrentWindowInteractionState(out retVal: WindowInteractionState): HResult; stdcall;
  1272.     function Get_CachedCanMaximize(out retVal: Integer): HResult; stdcall;
  1273.     function Get_CachedCanMinimize(out retVal: Integer): HResult; stdcall;
  1274.     function Get_CachedIsModal(out retVal: Integer): HResult; stdcall;
  1275.     function Get_CachedIsTopmost(out retVal: Integer): HResult; stdcall;
  1276.     function Get_CachedWindowVisualState(out retVal: WindowVisualState): HResult; stdcall;
  1277.     function Get_CachedWindowInteractionState(out retVal: WindowInteractionState): HResult; stdcall;
  1278.   end;
  1279.  
  1280. // *********************************************************************//
  1281. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTextRange
  1282. // ƒtƒ‰ƒO: (0)
  1283. // GUID: {A543CC6A-F4AE-494B-8239-C814481187A8}
  1284. // *********************************************************************//
  1285.   IUIAutomationTextRange = interface(IUnknown)
  1286.     ['{A543CC6A-F4AE-494B-8239-C814481187A8}']
  1287.     function Clone(out clonedRange: IUIAutomationTextRange): HResult; stdcall;
  1288.     function Compare(const range: IUIAutomationTextRange; out areSame: Integer): HResult; stdcall;
  1289.     function CompareEndpoints(srcEndPoint: TextPatternRangeEndpoint;
  1290.                               const range: IUIAutomationTextRange;
  1291.                               targetEndPoint: TextPatternRangeEndpoint; out compValue: SYSINT): HResult; stdcall;
  1292.     function ExpandToEnclosingUnit(TextUnit: TextUnit): HResult; stdcall;
  1293.     function FindAttribute(attr: SYSINT; val: OleVariant; backward: Integer;
  1294.                            out found: IUIAutomationTextRange): HResult; stdcall;
  1295.     function FindText(const text: WideString; backward: Integer; ignoreCase: Integer;
  1296.                       out found: IUIAutomationTextRange): HResult; stdcall;
  1297.     function GetAttributeValue(attr: SYSINT; out value: OleVariant): HResult; stdcall;
  1298.     function GetBoundingRectangles(out boundingRects: PSafeArray): HResult; stdcall;
  1299.     function GetEnclosingElement(out enclosingElement: IUIAutomationElement): HResult; stdcall;
  1300.     function GetText(maxLength: SYSINT; out text: WideString): HResult; stdcall;
  1301.     function Move(unit_: TextUnit; count: SYSINT; out moved: SYSINT): HResult; stdcall;
  1302.     function MoveEndpointByUnit(endpoint: TextPatternRangeEndpoint; unit_: TextUnit; count: SYSINT;
  1303.                                 out moved: SYSINT): HResult; stdcall;
  1304.     function MoveEndpointByRange(srcEndPoint: TextPatternRangeEndpoint;
  1305.                                  const range: IUIAutomationTextRange;
  1306.                                  targetEndPoint: TextPatternRangeEndpoint): HResult; stdcall;
  1307.     function Select: HResult; stdcall;
  1308.     function AddToSelection: HResult; stdcall;
  1309.     function RemoveFromSelection: HResult; stdcall;
  1310.     function ScrollIntoView(alignToTop: Integer): HResult; stdcall;
  1311.     function GetChildren(out children: IUIAutomationElementArray): HResult; stdcall;
  1312.   end;
  1313.  
  1314. // *********************************************************************//
  1315. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTextRangeArray
  1316. // ƒtƒ‰ƒO: (0)
  1317. // GUID: {CE4AE76A-E717-4C98-81EA-47371D028EB6}
  1318. // *********************************************************************//
  1319.   IUIAutomationTextRangeArray = interface(IUnknown)
  1320.     ['{CE4AE76A-E717-4C98-81EA-47371D028EB6}']
  1321.     function Get_Length(out Length: SYSINT): HResult; stdcall;
  1322.     function GetElement(index: SYSINT; out element: IUIAutomationTextRange): HResult; stdcall;
  1323.   end;
  1324.  
  1325. // *********************************************************************//
  1326. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationTextPattern
  1327. // ƒtƒ‰ƒO: (0)
  1328. // GUID: {32EBA289-3583-42C9-9C59-3B6D9A1E9B6A}
  1329. // *********************************************************************//
  1330.   IUIAutomationTextPattern = interface(IUnknown)
  1331.     ['{32EBA289-3583-42C9-9C59-3B6D9A1E9B6A}']
  1332.     function RangeFromPoint(pt: tagPOINT; out range: IUIAutomationTextRange): HResult; stdcall;
  1333.     function RangeFromChild(const child: IUIAutomationElement; out range: IUIAutomationTextRange): HResult; stdcall;
  1334.     function GetSelection(out ranges: IUIAutomationTextRangeArray): HResult; stdcall;
  1335.     function GetVisibleRanges(out ranges: IUIAutomationTextRangeArray): HResult; stdcall;
  1336.     function Get_DocumentRange(out range: IUIAutomationTextRange): HResult; stdcall;
  1337.     function Get_SupportedTextSelection(out SupportedTextSelection: SupportedTextSelection): HResult; stdcall;
  1338.   end;
  1339.  
  1340. // *********************************************************************//
  1341. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationLegacyIAccessiblePattern
  1342. // ƒtƒ‰ƒO: (0)
  1343. // GUID: {828055AD-355B-4435-86D5-3B51C14A9B1B}
  1344. // *********************************************************************//
  1345.   IUIAutomationLegacyIAccessiblePattern = interface(IUnknown)
  1346.     ['{828055AD-355B-4435-86D5-3B51C14A9B1B}']
  1347.     function Select(flagsSelect: Integer): HResult; stdcall;
  1348.     function DoDefaultAction: HResult; stdcall;
  1349.     function SetValue(szValue: PWideChar): HResult; stdcall;
  1350.     function Get_CurrentChildId(out pRetVal: SYSINT): HResult; stdcall;
  1351.     function Get_CurrentName(out pszName: WideString): HResult; stdcall;
  1352.     function Get_CurrentValue(out pszValue: WideString): HResult; stdcall;
  1353.     function Get_CurrentDescription(out pszDescription: WideString): HResult; stdcall;
  1354.     function Get_CurrentRole(out pdwRole: LongWord): HResult; stdcall;
  1355.     function Get_CurrentState(out pdwState: LongWord): HResult; stdcall;
  1356.     function Get_CurrentHelp(out pszHelp: WideString): HResult; stdcall;
  1357.     function Get_CurrentKeyboardShortcut(out pszKeyboardShortcut: WideString): HResult; stdcall;
  1358.     function GetCurrentSelection(out pvarSelectedChildren: IUIAutomationElementArray): HResult; stdcall;
  1359.     function Get_CurrentDefaultAction(out pszDefaultAction: WideString): HResult; stdcall;
  1360.     function Get_CachedChildId(out pRetVal: SYSINT): HResult; stdcall;
  1361.     function Get_CachedName(out pszName: WideString): HResult; stdcall;
  1362.     function Get_CachedValue(out pszValue: WideString): HResult; stdcall;
  1363.     function Get_CachedDescription(out pszDescription: WideString): HResult; stdcall;
  1364.     function Get_CachedRole(out pdwRole: LongWord): HResult; stdcall;
  1365.     function Get_CachedState(out pdwState: LongWord): HResult; stdcall;
  1366.     function Get_CachedHelp(out pszHelp: WideString): HResult; stdcall;
  1367.     function Get_CachedKeyboardShortcut(out pszKeyboardShortcut: WideString): HResult; stdcall;
  1368.     function GetCachedSelection(out pvarSelectedChildren: IUIAutomationElementArray): HResult; stdcall;
  1369.     function Get_CachedDefaultAction(out pszDefaultAction: WideString): HResult; stdcall;
  1370.     function GetIAccessible(out ppAccessible: IAccessible): HResult; stdcall;
  1371.   end;
  1372.  
  1373. // *********************************************************************//
  1374. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IAccessible
  1375. // ƒtƒ‰ƒO: (4432) Hidden Dual OleAutomation Dispatchable
  1376. // GUID: {618736E0-3C3D-11CF-810C-00AA00389B71}
  1377. // *********************************************************************//
  1378.   IAccessible = interface(IDispatch)
  1379.     ['{618736E0-3C3D-11CF-810C-00AA00389B71}']
  1380.     function Get_accParent: IDispatch; safecall;
  1381.     function Get_accChildCount: Integer; safecall;
  1382.     function Get_accChild(varChild: OleVariant): IDispatch; safecall;
  1383.     function Get_accName(varChild: OleVariant): WideString; safecall;
  1384.     function Get_accValue(varChild: OleVariant): WideString; safecall;
  1385.     function Get_accDescription(varChild: OleVariant): WideString; safecall;
  1386.     function Get_accRole(varChild: OleVariant): OleVariant; safecall;
  1387.     function Get_accState(varChild: OleVariant): OleVariant; safecall;
  1388.     function Get_accHelp(varChild: OleVariant): WideString; safecall;
  1389.     function Get_accHelpTopic(out pszHelpFile: WideString; varChild: OleVariant): Integer; safecall;
  1390.     function Get_accKeyboardShortcut(varChild: OleVariant): WideString; safecall;
  1391.     function Get_accFocus: OleVariant; safecall;
  1392.     function Get_accSelection: OleVariant; safecall;
  1393.     function Get_accDefaultAction(varChild: OleVariant): WideString; safecall;
  1394.     procedure accSelect(flagsSelect: Integer; varChild: OleVariant); safecall;
  1395.     procedure accLocation(out pxLeft: Integer; out pyTop: Integer; out pcxWidth: Integer;
  1396.                           out pcyHeight: Integer; varChild: OleVariant); safecall;
  1397.     function accNavigate(navDir: Integer; varStart: OleVariant): OleVariant; safecall;
  1398.     function accHitTest(xLeft: Integer; yTop: Integer): OleVariant; safecall;
  1399.     procedure accDoDefaultAction(varChild: OleVariant); safecall;
  1400.     procedure Set_accName(varChild: OleVariant; const pszName: WideString); safecall;
  1401.     procedure Set_accValue(varChild: OleVariant; const pszValue: WideString); safecall;
  1402.     property accParent: IDispatch read Get_accParent;
  1403.     property accChildCount: Integer read Get_accChildCount;
  1404.     property accChild[varChild: OleVariant]: IDispatch read Get_accChild;
  1405.     property accName[varChild: OleVariant]: WideString read Get_accName write Set_accName;
  1406.     property accValue[varChild: OleVariant]: WideString read Get_accValue write Set_accValue;
  1407.     property accDescription[varChild: OleVariant]: WideString read Get_accDescription;
  1408.     property accRole[varChild: OleVariant]: OleVariant read Get_accRole;
  1409.     property accState[varChild: OleVariant]: OleVariant read Get_accState;
  1410.     property accHelp[varChild: OleVariant]: WideString read Get_accHelp;
  1411.     property accHelpTopic[out pszHelpFile: WideString; varChild: OleVariant]: Integer read Get_accHelpTopic;
  1412.     property accKeyboardShortcut[varChild: OleVariant]: WideString read Get_accKeyboardShortcut;
  1413.     property accFocus: OleVariant read Get_accFocus;
  1414.     property accSelection: OleVariant read Get_accSelection;
  1415.     property accDefaultAction[varChild: OleVariant]: WideString read Get_accDefaultAction;
  1416.   end;
  1417.  
  1418. // *********************************************************************//
  1419. // DispIntf:  IAccessibleDisp
  1420. // ƒtƒ‰ƒO:     (4432) Hidden Dual OleAutomation Dispatchable
  1421. // GUID:      {618736E0-3C3D-11CF-810C-00AA00389B71}
  1422. // *********************************************************************//
  1423.   IAccessibleDisp = dispinterface
  1424.     ['{618736E0-3C3D-11CF-810C-00AA00389B71}']
  1425.     property accParent: IDispatch readonly dispid -5000;
  1426.     property accChildCount: Integer readonly dispid -5001;
  1427.     property accChild[varChild: OleVariant]: IDispatch readonly dispid -5002;
  1428.     property accName[varChild: OleVariant]: WideString dispid -5003;
  1429.     property accValue[varChild: OleVariant]: WideString dispid -5004;
  1430.     property accDescription[varChild: OleVariant]: WideString readonly dispid -5005;
  1431.     property accRole[varChild: OleVariant]: OleVariant readonly dispid -5006;
  1432.     property accState[varChild: OleVariant]: OleVariant readonly dispid -5007;
  1433.     property accHelp[varChild: OleVariant]: WideString readonly dispid -5008;
  1434.     property accHelpTopic[out pszHelpFile: WideString; varChild: OleVariant]: Integer readonly dispid -5009;
  1435.     property accKeyboardShortcut[varChild: OleVariant]: WideString readonly dispid -5010;
  1436.     property accFocus: OleVariant readonly dispid -5011;
  1437.     property accSelection: OleVariant readonly dispid -5012;
  1438.     property accDefaultAction[varChild: OleVariant]: WideString readonly dispid -5013;
  1439.     procedure accSelect(flagsSelect: Integer; varChild: OleVariant); dispid -5014;
  1440.     procedure accLocation(out pxLeft: Integer; out pyTop: Integer; out pcxWidth: Integer;
  1441.                           out pcyHeight: Integer; varChild: OleVariant); dispid -5015;
  1442.     function accNavigate(navDir: Integer; varStart: OleVariant): OleVariant; dispid -5016;
  1443.     function accHitTest(xLeft: Integer; yTop: Integer): OleVariant; dispid -5017;
  1444.     procedure accDoDefaultAction(varChild: OleVariant); dispid -5018;
  1445.   end;
  1446.  
  1447. // *********************************************************************//
  1448. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationItemContainerPattern
  1449. // ƒtƒ‰ƒO: (0)
  1450. // GUID: {C690FDB2-27A8-423C-812D-429773C9084E}
  1451. // *********************************************************************//
  1452.   IUIAutomationItemContainerPattern = interface(IUnknown)
  1453.     ['{C690FDB2-27A8-423C-812D-429773C9084E}']
  1454.     function FindItemByProperty(const pStartAfter: IUIAutomationElement; propertyId: SYSINT;
  1455.                                 value: OleVariant; out pFound: IUIAutomationElement): HResult; stdcall;
  1456.   end;
  1457.  
  1458. // *********************************************************************//
  1459. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationVirtualizedItemPattern
  1460. // ƒtƒ‰ƒO: (0)
  1461. // GUID: {6BA3D7A6-04CF-4F11-8793-A8D1CDE9969F}
  1462. // *********************************************************************//
  1463.   IUIAutomationVirtualizedItemPattern = interface(IUnknown)
  1464.     ['{6BA3D7A6-04CF-4F11-8793-A8D1CDE9969F}']
  1465.     function Realize: HResult; stdcall;
  1466.   end;
  1467.  
  1468. // *********************************************************************//
  1469. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationProxyFactory
  1470. // ƒtƒ‰ƒO: (0)
  1471. // GUID: {85B94ECD-849D-42B6-B94D-D6DB23FDF5A4}
  1472. // *********************************************************************//
  1473.   IUIAutomationProxyFactory = interface(IUnknown)
  1474.     ['{85B94ECD-849D-42B6-B94D-D6DB23FDF5A4}']
  1475.     function CreateProvider(hwnd: HWND; idObject: Integer; idChild: Integer;
  1476.                             out provider: IRawElementProviderSimple): HResult; stdcall;
  1477.     function Get_ProxyFactoryId(out factoryId: WideString): HResult; stdcall;
  1478.   end;
  1479.  
  1480. // *********************************************************************//
  1481. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IRawElementProviderSimple
  1482. // ƒtƒ‰ƒO: (0)
  1483. // GUID: {D6DD68D1-86FD-4332-8666-9ABEDEA2D24C}
  1484. // *********************************************************************//
  1485.   IRawElementProviderSimple = interface(IUnknown)
  1486.     ['{D6DD68D1-86FD-4332-8666-9ABEDEA2D24C}']
  1487.     function Get_ProviderOptions(out pRetVal: ProviderOptions): HResult; stdcall;
  1488.     function GetPatternProvider(patternId: SYSINT; out pRetVal: IUnknown): HResult; stdcall;
  1489.     function GetPropertyValue(propertyId: SYSINT; out pRetVal: OleVariant): HResult; stdcall;
  1490.     function Get_HostRawElementProvider(out pRetVal: IRawElementProviderSimple): HResult; stdcall;
  1491.   end;
  1492.  
  1493. // *********************************************************************//
  1494. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationProxyFactoryEntry
  1495. // ƒtƒ‰ƒO: (0)
  1496. // GUID: {D50E472E-B64B-490C-BCA1-D30696F9F289}
  1497. // *********************************************************************//
  1498.   IUIAutomationProxyFactoryEntry = interface(IUnknown)
  1499.     ['{D50E472E-B64B-490C-BCA1-D30696F9F289}']
  1500.     function Get_ProxyFactory(out factory: IUIAutomationProxyFactory): HResult; stdcall;
  1501.     function Get__className(out ClassName: WideString): HResult; stdcall;
  1502.     function Get_ImageName(out ImageName: WideString): HResult; stdcall;
  1503.     function Get_AllowSubstringMatch(out AllowSubstringMatch: Integer): HResult; stdcall;
  1504.     function Get_CanCheckBaseClass(out CanCheckBaseClass: Integer): HResult; stdcall;
  1505.     function Get_NeedsAdviseEvents(out adviseEvents: Integer): HResult; stdcall;
  1506.     function Set__className(ClassName: PWideChar): HResult; stdcall;
  1507.     function Set_ImageName(ImageName: PWideChar): HResult; stdcall;
  1508.     function Set_AllowSubstringMatch(AllowSubstringMatch: Integer): HResult; stdcall;
  1509.     function Set_CanCheckBaseClass(CanCheckBaseClass: Integer): HResult; stdcall;
  1510.     function Set_NeedsAdviseEvents(adviseEvents: Integer): HResult; stdcall;
  1511.     function SetWinEventsForAutomationEvent(eventId: SYSINT; propertyId: SYSINT;
  1512.                                             winEvents: PSafeArray): HResult; stdcall;
  1513.     function GetWinEventsForAutomationEvent(eventId: SYSINT; propertyId: SYSINT;
  1514.                                             out winEvents: PSafeArray): HResult; stdcall;
  1515.   end;
  1516.  
  1517. // *********************************************************************//
  1518. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomationProxyFactoryMapping
  1519. // ƒtƒ‰ƒO: (0)
  1520. // GUID: {09E31E18-872D-4873-93D1-1E541EC133FD}
  1521. // *********************************************************************//
  1522.   IUIAutomationProxyFactoryMapping = interface(IUnknown)
  1523.     ['{09E31E18-872D-4873-93D1-1E541EC133FD}']
  1524.     function Get_count(out count: SYSUINT): HResult; stdcall;
  1525.     function GetTable(out table: PSafeArray): HResult; stdcall;
  1526.     function GetEntry(index: SYSUINT; out entry: IUIAutomationProxyFactoryEntry): HResult; stdcall;
  1527.     function SetTable(factoryList: PSafeArray): HResult; stdcall;
  1528.     function InsertEntries(before: SYSUINT; factoryList: PSafeArray): HResult; stdcall;
  1529.     function InsertEntry(before: SYSUINT; const factory: IUIAutomationProxyFactoryEntry): HResult; stdcall;
  1530.     function RemoveEntry(index: SYSUINT): HResult; stdcall;
  1531.     function ClearTable: HResult; stdcall;
  1532.     function RestoreDefaultTable: HResult; stdcall;
  1533.   end;
  1534.  
  1535. // *********************************************************************//
  1536. // ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomation
  1537. // ƒtƒ‰ƒO: (0)
  1538. // GUID: {30CBE57D-D9D0-452A-AB13-7AC5AC4825EE}
  1539. // *********************************************************************//
  1540.   IUIAutomation = interface(IUnknown)
  1541.     ['{30CBE57D-D9D0-452A-AB13-7AC5AC4825EE}']
  1542.     function CompareElements(const el1: IUIAutomationElement; const el2: IUIAutomationElement;
  1543.                              out areSame: Integer): HResult; stdcall;
  1544.     function CompareRuntimeIds(runtimeId1: PSafeArray; runtimeId2: PSafeArray; out areSame: Integer): HResult; stdcall;
  1545.     function GetRootElement(out root: IUIAutomationElement): HResult; stdcall;
  1546.     function ElementFromHandle(hwnd: HWND; out element: IUIAutomationElement): HResult; stdcall;
  1547.     function ElementFromPoint(pt: tagPOINT; out element: IUIAutomationElement): HResult; stdcall;
  1548.     function GetFocusedElement(out element: IUIAutomationElement): HResult; stdcall;
  1549.     function GetRootElementBuildCache(const cacheRequest: IUIAutomationCacheRequest;
  1550.                                       out root: IUIAutomationElement): HResult; stdcall;
  1551.     function ElementFromHandleBuildCache(hwnd: HWND;
  1552.                                          const cacheRequest: IUIAutomationCacheRequest;
  1553.                                          out element: IUIAutomationElement): HResult; stdcall;
  1554.     function ElementFromPointBuildCache(pt: tagPOINT;
  1555.                                         const cacheRequest: IUIAutomationCacheRequest;
  1556.                                         out element: IUIAutomationElement): HResult; stdcall;
  1557.     function GetFocusedElementBuildCache(const cacheRequest: IUIAutomationCacheRequest;
  1558.                                          out element: IUIAutomationElement): HResult; stdcall;
  1559.     function CreateTreeWalker(const pCondition: IUIAutomationCondition;
  1560.                               out walker: IUIAutomationTreeWalker): HResult; stdcall;
  1561.     function Get_ControlViewWalker(out walker: IUIAutomationTreeWalker): HResult; stdcall;
  1562.     function Get_ContentViewWalker(out walker: IUIAutomationTreeWalker): HResult; stdcall;
  1563.     function Get_RawViewWalker(out walker: IUIAutomationTreeWalker): HResult; stdcall;
  1564.     function Get_RawViewCondition(out condition: IUIAutomationCondition): HResult; stdcall;
  1565.     function Get_ControlViewCondition(out condition: IUIAutomationCondition): HResult; stdcall;
  1566.     function Get_ContentViewCondition(out condition: IUIAutomationCondition): HResult; stdcall;
  1567.     function CreateCacheRequest(out cacheRequest: IUIAutomationCacheRequest): HResult; stdcall;
  1568.     function CreateTrueCondition(out newCondition: IUIAutomationCondition): HResult; stdcall;
  1569.     function CreateFalseCondition(out newCondition: IUIAutomationCondition): HResult; stdcall;
  1570.     function CreatePropertyCondition(propertyId: SYSINT; value: OleVariant;
  1571.                                      out newCondition: IUIAutomationCondition): HResult; stdcall;
  1572.     function CreatePropertyConditionEx(propertyId: SYSINT; value: OleVariant;
  1573.                                        flags: PropertyConditionFlags;
  1574.                                        out newCondition: IUIAutomationCondition): HResult; stdcall;
  1575.     function CreateAndCondition(const condition1: IUIAutomationCondition;
  1576.                                 const condition2: IUIAutomationCondition;
  1577.                                 out newCondition: IUIAutomationCondition): HResult; stdcall;
  1578.     function CreateAndConditionFromArray(conditions: PSafeArray;
  1579.                                          out newCondition: IUIAutomationCondition): HResult; stdcall;
  1580.     function CreateAndConditionFromNativeArray(var conditions: IUIAutomationCondition;
  1581.                                                conditionCount: SYSINT;
  1582.                                                out newCondition: IUIAutomationCondition): HResult; stdcall;
  1583.     function CreateOrCondition(const condition1: IUIAutomationCondition;
  1584.                                const condition2: IUIAutomationCondition;
  1585.                                out newCondition: IUIAutomationCondition): HResult; stdcall;
  1586.     function CreateOrConditionFromArray(conditions: PSafeArray;
  1587.                                         out newCondition: IUIAutomationCondition): HResult; stdcall;
  1588.     function CreateOrConditionFromNativeArray(var conditions: IUIAutomationCondition;
  1589.                                               conditionCount: SYSINT;
  1590.                                               out newCondition: IUIAutomationCondition): HResult; stdcall;
  1591.     function CreateNotCondition(const condition: IUIAutomationCondition;
  1592.                                 out newCondition: IUIAutomationCondition): HResult; stdcall;
  1593.     function AddAutomationEventHandler(eventId: SYSINT; const element: IUIAutomationElement;
  1594.                                        scope: TreeScope;
  1595.                                        const cacheRequest: IUIAutomationCacheRequest;
  1596.                                        const handler: IUIAutomationEventHandler): HResult; stdcall;
  1597.     function RemoveAutomationEventHandler(eventId: SYSINT; const element: IUIAutomationElement;
  1598.                                           const handler: IUIAutomationEventHandler): HResult; stdcall;
  1599.     function AddPropertyChangedEventHandlerNativeArray(const element: IUIAutomationElement;
  1600.                                                        scope: TreeScope;
  1601.                                                        const cacheRequest: IUIAutomationCacheRequest;
  1602.                                                        const handler: IUIAutomationPropertyChangedEventHandler;
  1603.                                                        var propertyArray: SYSINT;
  1604.                                                        propertyCount: SYSINT): HResult; stdcall;
  1605.     function AddPropertyChangedEventHandler(const element: IUIAutomationElement; scope: TreeScope;
  1606.                                             const cacheRequest: IUIAutomationCacheRequest;
  1607.                                             const handler: IUIAutomationPropertyChangedEventHandler;
  1608.                                             propertyArray: PSafeArray): HResult; stdcall;
  1609.     function RemovePropertyChangedEventHandler(const element: IUIAutomationElement;
  1610.                                                const handler: IUIAutomationPropertyChangedEventHandler): HResult; stdcall;
  1611.     function AddStructureChangedEventHandler(const element: IUIAutomationElement; scope: TreeScope;
  1612.                                              const cacheRequest: IUIAutomationCacheRequest;
  1613.                                              const handler: IUIAutomationStructureChangedEventHandler): HResult; stdcall;
  1614.     function RemoveStructureChangedEventHandler(const element: IUIAutomationElement;
  1615.                                                 const handler: IUIAutomationStructureChangedEventHandler): HResult; stdcall;
  1616.     function AddFocusChangedEventHandler(const cacheRequest: IUIAutomationCacheRequest;
  1617.                                          const handler: IUIAutomationFocusChangedEventHandler): HResult; stdcall;
  1618.     function RemoveFocusChangedEventHandler(const handler: IUIAutomationFocusChangedEventHandler): HResult; stdcall;
  1619.     function RemoveAllEventHandlers: HResult; stdcall;
  1620.     function IntNativeArrayToSafeArray(var array_: SYSINT; arrayCount: SYSINT;
  1621.                                        out safeArray: PSafeArray): HResult; stdcall;
  1622.     function IntSafeArrayToNativeArray(intArray: PSafeArray; out array_: PSYSINT1;
  1623.                                        out arrayCount: SYSINT): HResult; stdcall;
  1624.     function RectToVariant(rc: tagRECT; out var_: OleVariant): HResult; stdcall;
  1625.     function VariantToRect(var_: OleVariant; out rc: tagRECT): HResult; stdcall;
  1626.     function SafeArrayToRectNativeArray(rects: PSafeArray; out rectArray: PUserType2;
  1627.                                         out rectArrayCount: SYSINT): HResult; stdcall;
  1628.     function CreateProxyFactoryEntry(const factory: IUIAutomationProxyFactory;
  1629.                                      out factoryEntry: IUIAutomationProxyFactoryEntry): HResult; stdcall;
  1630.     function Get_ProxyFactoryMapping(out factoryMapping: IUIAutomationProxyFactoryMapping): HResult; stdcall;
  1631.     function GetPropertyProgrammaticName(property_: SYSINT; out name: WideString): HResult; stdcall;
  1632.     function GetPatternProgrammaticName(pattern: SYSINT; out name: WideString): HResult; stdcall;
  1633.     function PollForPotentialSupportedPatterns(const pElement: IUIAutomationElement;
  1634.                                                out patternIds: PSafeArray;
  1635.                                                out patternNames: PSafeArray): HResult; stdcall;
  1636.     function PollForPotentialSupportedProperties(const pElement: IUIAutomationElement;
  1637.                                                  out propertyIds: PSafeArray;
  1638.                                                  out propertyNames: PSafeArray): HResult; stdcall;
  1639.     function CheckNotSupported(value: OleVariant; out isNotSupported: Integer): HResult; stdcall;
  1640.     function Get_ReservedNotSupportedValue(out notSupportedValue: IUnknown): HResult; stdcall;
  1641.     function Get_ReservedMixedAttributeValue(out mixedAttributeValue: IUnknown): HResult; stdcall;
  1642.     function ElementFromIAccessible(const accessible: IAccessible; childId: SYSINT;
  1643.                                     out element: IUIAutomationElement): HResult; stdcall;
  1644.     function ElementFromIAccessibleBuildCache(const accessible: IAccessible; childId: SYSINT;
  1645.                                               const cacheRequest: IUIAutomationCacheRequest;
  1646.                                               out element: IUIAutomationElement): HResult; stdcall;
  1647.   end;
  1648.  
  1649. // *********************************************************************//
  1650. // ƒNƒ‰ƒX CUIAutomation ‚́ACreate ‚¨‚æ‚Ñ CreateRemote ƒƒ\ƒbƒh‚ðŽg—p‚µ‚Ä
  1651. // CoClass CUIAutomation ‚ªŒöŠJ‚·‚éƒfƒtƒHƒ‹ƒg‚̃Cƒ“ƒ^[ƒtƒFƒCƒX IUIAutomation ‚Ì
  1652. // ƒCƒ“ƒXƒ^ƒ“ƒX‚ðì¬‚·‚éB‚±‚̃^ƒCƒv ƒ‰ƒCƒuƒ‰ƒŠ‚̃T[ƒo[‚É‚æ‚Á‚Ä
  1653. // ŒöŠJ‚³‚ꂽ CoClass ƒIƒuƒWƒFƒNƒg‚ɑ΂µAƒI[ƒgƒ[ƒVƒ‡ƒ“‚ðs‚¢‚½‚¢
  1654. // ƒNƒ‰ƒCƒAƒ“ƒg‚ª—p‚¢‚邽‚߂ɁA‚±‚ê‚ç‚̊֐”‚ª‘¶Ý‚·‚éB
  1655. // *********************************************************************//
  1656.   CoCUIAutomation = class
  1657.     class function Create: IUIAutomation;
  1658.     class function CreateRemote(const MachineName: string): IUIAutomation;
  1659.   end;
  1660.  
  1661.  
  1662. // *********************************************************************//
  1663. // OLE ƒT[ƒo[ ƒvƒƒLƒV ƒNƒ‰ƒXéŒ¾
  1664. // ƒT[ƒo[ ƒIƒuƒWƒFƒNƒg: TCUIAutomation
  1665. // ƒwƒ‹ƒv•¶Žš—ñ: The Central Class for UIAutomation
  1666. // ƒfƒtƒHƒ‹ƒg ƒCƒ“ƒ^[ƒtƒFƒCƒX: IUIAutomation
  1667. // ƒfƒtƒHƒ‹ƒg ƒCƒ“ƒ^[ƒtƒFƒCƒX ƒfƒBƒXƒpƒbƒ`?: No
  1668. // ƒCƒxƒ“ƒg ƒCƒ“ƒ^[ƒtƒFƒCƒX:
  1669. // ƒ^ƒCƒv ƒtƒ‰ƒO        : (2) CanCreate
  1670. // *********************************************************************//
  1671. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1672.   TCUIAutomationProperties= class;
  1673. {$ENDIF}
  1674.   TCUIAutomation = class(TOleServer)
  1675.   private
  1676.     FIntf: IUIAutomation;
  1677. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1678.     FProps: TCUIAutomationProperties;
  1679.     function GetServerProperties: TCUIAutomationProperties;
  1680. {$ENDIF}
  1681.     function GetDefaultInterface: IUIAutomation;
  1682.   protected
  1683.     procedure InitServerData; override;
  1684.     function Get_ContentViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1685.     function Get_RawViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1686.     function Get_RawViewCondition(out condition: IUIAutomationCondition): HResult;
  1687.     function Get_ControlViewCondition(out condition: IUIAutomationCondition): HResult;
  1688.     function Get_ContentViewCondition(out condition: IUIAutomationCondition): HResult;
  1689.     function Get_ProxyFactoryMapping(out factoryMapping: IUIAutomationProxyFactoryMapping): HResult;
  1690.     function Get_ReservedNotSupportedValue(out notSupportedValue: IUnknown): HResult;
  1691.     function Get_ReservedMixedAttributeValue(out mixedAttributeValue: IUnknown): HResult;
  1692.   public
  1693.     constructor Create(AOwner: TComponent); override;
  1694.     destructor  Destroy; override;
  1695.     procedure Connect; override;
  1696.     procedure ConnectTo(svrIntf: IUIAutomation);
  1697.     procedure Disconnect; override;
  1698.     function Get_ControlViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1699.     function CompareElements(const el1: IUIAutomationElement; const el2: IUIAutomationElement;
  1700.                              out areSame: Integer): HResult;
  1701.     function CompareRuntimeIds(runtimeId1: PSafeArray; runtimeId2: PSafeArray; out areSame: Integer): HResult;
  1702.     function GetRootElement(out root: IUIAutomationElement): HResult;
  1703.     function ElementFromHandle(hwnd: HWND; out element: IUIAutomationElement): HResult;
  1704.     function ElementFromPoint(pt: tagPOINT; out element: IUIAutomationElement): HResult;
  1705.     function GetFocusedElement(out element: IUIAutomationElement): HResult;
  1706.     function GetRootElementBuildCache(const cacheRequest: IUIAutomationCacheRequest;
  1707.                                       out root: IUIAutomationElement): HResult;
  1708.     function ElementFromHandleBuildCache(hwnd: HWND;
  1709.                                          const cacheRequest: IUIAutomationCacheRequest;
  1710.                                          out element: IUIAutomationElement): HResult;
  1711.     function ElementFromPointBuildCache(pt: tagPOINT;
  1712.                                         const cacheRequest: IUIAutomationCacheRequest;
  1713.                                         out element: IUIAutomationElement): HResult;
  1714.     function GetFocusedElementBuildCache(const cacheRequest: IUIAutomationCacheRequest;
  1715.                                          out element: IUIAutomationElement): HResult;
  1716.     function CreateTreeWalker(const pCondition: IUIAutomationCondition;
  1717.                               out walker: IUIAutomationTreeWalker): HResult;
  1718.     function CreateCacheRequest(out cacheRequest: IUIAutomationCacheRequest): HResult;
  1719.     function CreateTrueCondition(out newCondition: IUIAutomationCondition): HResult;
  1720.     function CreateFalseCondition(out newCondition: IUIAutomationCondition): HResult;
  1721.     function CreatePropertyCondition(propertyId: SYSINT; value: OleVariant;
  1722.                                      out newCondition: IUIAutomationCondition): HResult;
  1723.     function CreatePropertyConditionEx(propertyId: SYSINT; value: OleVariant;
  1724.                                        flags: PropertyConditionFlags;
  1725.                                        out newCondition: IUIAutomationCondition): HResult;
  1726.     function CreateAndCondition(const condition1: IUIAutomationCondition;
  1727.                                 const condition2: IUIAutomationCondition;
  1728.                                 out newCondition: IUIAutomationCondition): HResult;
  1729.     function CreateAndConditionFromArray(conditions: PSafeArray;
  1730.                                          out newCondition: IUIAutomationCondition): HResult;
  1731.     function CreateAndConditionFromNativeArray(var conditions: IUIAutomationCondition;
  1732.                                                conditionCount: SYSINT;
  1733.                                                out newCondition: IUIAutomationCondition): HResult;
  1734.     function CreateOrCondition(const condition1: IUIAutomationCondition;
  1735.                                const condition2: IUIAutomationCondition;
  1736.                                out newCondition: IUIAutomationCondition): HResult;
  1737.     function CreateOrConditionFromArray(conditions: PSafeArray;
  1738.                                         out newCondition: IUIAutomationCondition): HResult;
  1739.     function CreateOrConditionFromNativeArray(var conditions: IUIAutomationCondition;
  1740.                                               conditionCount: SYSINT;
  1741.                                               out newCondition: IUIAutomationCondition): HResult;
  1742.     function CreateNotCondition(const condition: IUIAutomationCondition;
  1743.                                 out newCondition: IUIAutomationCondition): HResult;
  1744.     function AddAutomationEventHandler(eventId: SYSINT; const element: IUIAutomationElement;
  1745.                                        scope: TreeScope;
  1746.                                        const cacheRequest: IUIAutomationCacheRequest;
  1747.                                        const handler: IUIAutomationEventHandler): HResult;
  1748.     function RemoveAutomationEventHandler(eventId: SYSINT; const element: IUIAutomationElement;
  1749.                                           const handler: IUIAutomationEventHandler): HResult;
  1750.     function AddPropertyChangedEventHandlerNativeArray(const element: IUIAutomationElement;
  1751.                                                        scope: TreeScope;
  1752.                                                        const cacheRequest: IUIAutomationCacheRequest;
  1753.                                                        const handler: IUIAutomationPropertyChangedEventHandler;
  1754.                                                        var propertyArray: SYSINT;
  1755.                                                        propertyCount: SYSINT): HResult;
  1756.     function AddPropertyChangedEventHandler(const element: IUIAutomationElement; scope: TreeScope;
  1757.                                             const cacheRequest: IUIAutomationCacheRequest;
  1758.                                             const handler: IUIAutomationPropertyChangedEventHandler;
  1759.                                             propertyArray: PSafeArray): HResult;
  1760.     function RemovePropertyChangedEventHandler(const element: IUIAutomationElement;
  1761.                                                const handler: IUIAutomationPropertyChangedEventHandler): HResult;
  1762.     function AddStructureChangedEventHandler(const element: IUIAutomationElement; scope: TreeScope;
  1763.                                              const cacheRequest: IUIAutomationCacheRequest;
  1764.                                              const handler: IUIAutomationStructureChangedEventHandler): HResult;
  1765.     function RemoveStructureChangedEventHandler(const element: IUIAutomationElement;
  1766.                                                 const handler: IUIAutomationStructureChangedEventHandler): HResult;
  1767.     function AddFocusChangedEventHandler(const cacheRequest: IUIAutomationCacheRequest;
  1768.                                          const handler: IUIAutomationFocusChangedEventHandler): HResult;
  1769.     function RemoveFocusChangedEventHandler(const handler: IUIAutomationFocusChangedEventHandler): HResult;
  1770.     function RemoveAllEventHandlers: HResult;
  1771.     function IntNativeArrayToSafeArray(var array_: SYSINT; arrayCount: SYSINT;
  1772.                                        out safeArray: PSafeArray): HResult;
  1773.     function IntSafeArrayToNativeArray(intArray: PSafeArray; out array_: PSYSINT1;
  1774.                                        out arrayCount: SYSINT): HResult;
  1775.     function RectToVariant(rc: tagRECT; out var_: OleVariant): HResult;
  1776.     function VariantToRect(var_: OleVariant; out rc: tagRECT): HResult;
  1777.     function SafeArrayToRectNativeArray(rects: PSafeArray; out rectArray: PUserType2;
  1778.                                         out rectArrayCount: SYSINT): HResult;
  1779.     function CreateProxyFactoryEntry(const factory: IUIAutomationProxyFactory;
  1780.                                      out factoryEntry: IUIAutomationProxyFactoryEntry): HResult;
  1781.     function GetPropertyProgrammaticName(property_: SYSINT; out name: WideString): HResult;
  1782.     function GetPatternProgrammaticName(pattern: SYSINT; out name: WideString): HResult;
  1783.     function PollForPotentialSupportedPatterns(const pElement: IUIAutomationElement;
  1784.                                                out patternIds: PSafeArray;
  1785.                                                out patternNames: PSafeArray): HResult;
  1786.     function PollForPotentialSupportedProperties(const pElement: IUIAutomationElement;
  1787.                                                  out propertyIds: PSafeArray;
  1788.                                                  out propertyNames: PSafeArray): HResult;
  1789.     function CheckNotSupported(value: OleVariant; out isNotSupported: Integer): HResult;
  1790.     function ElementFromIAccessible(const accessible: IAccessible; childId: SYSINT;
  1791.                                     out element: IUIAutomationElement): HResult;
  1792.     function ElementFromIAccessibleBuildCache(const accessible: IAccessible; childId: SYSINT;
  1793.                                               const cacheRequest: IUIAutomationCacheRequest;
  1794.                                               out element: IUIAutomationElement): HResult;
  1795.     property DefaultInterface: IUIAutomation read GetDefaultInterface;
  1796.   published
  1797. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1798.     property Server: TCUIAutomationProperties read GetServerProperties;
  1799. {$ENDIF}
  1800.   end;
  1801.  
  1802. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1803. // *********************************************************************//
  1804. // OLE ƒT[ƒo[ ƒvƒƒpƒeƒB ƒvƒƒLƒV ƒNƒ‰ƒX
  1805. // ƒT[ƒo[ ƒIƒuƒWƒFƒNƒg: TCUIAutomation
  1806. // (‚±‚̃IƒuƒWƒFƒNƒg‚́A‚±‚̃T[ƒo[‚̃vƒƒpƒeƒB‚ð•ÒW‚Å‚«‚é‚悤‚É‚·‚邽‚ß
  1807. // IDE ‚̃vƒƒpƒeƒB ƒCƒ“ƒXƒyƒNƒ^‚ÅŽg—p‚³‚ê‚Ü‚·)
  1808. // *********************************************************************//
  1809.  TCUIAutomationProperties = class(TPersistent)
  1810.   private
  1811.     FServer:    TCUIAutomation;
  1812.     function    GetDefaultInterface: IUIAutomation;
  1813.     constructor Create(AServer: TCUIAutomation);
  1814.   protected
  1815.     function Get_ControlViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1816.     function Get_ContentViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1817.     function Get_RawViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1818.     function Get_RawViewCondition(out condition: IUIAutomationCondition): HResult;
  1819.     function Get_ControlViewCondition(out condition: IUIAutomationCondition): HResult;
  1820.     function Get_ContentViewCondition(out condition: IUIAutomationCondition): HResult;
  1821.     function Get_ProxyFactoryMapping(out factoryMapping: IUIAutomationProxyFactoryMapping): HResult;
  1822.     function Get_ReservedNotSupportedValue(out notSupportedValue: IUnknown): HResult;
  1823.     function Get_ReservedMixedAttributeValue(out mixedAttributeValue: IUnknown): HResult;
  1824.   public
  1825.     property DefaultInterface: IUIAutomation read GetDefaultInterface;
  1826.   published
  1827.   end;
  1828. {$ENDIF}
  1829.  
  1830.  
  1831. procedure Register;
  1832.  
  1833. resourcestring
  1834.   dtlServerPage = 'Servers';
  1835.  
  1836.   dtlOcxPage = 'ActiveX';
  1837.  
  1838. implementation
  1839.  
  1840. uses ComObj;
  1841.  
  1842. class function CoCUIAutomation.Create: IUIAutomation;
  1843. begin
  1844.   Result := CreateComObject(CLASS_CUIAutomation) as IUIAutomation;
  1845. end;
  1846.  
  1847. class function CoCUIAutomation.CreateRemote(const MachineName: string): IUIAutomation;
  1848. begin
  1849.   Result := CreateRemoteComObject(MachineName, CLASS_CUIAutomation) as IUIAutomation;
  1850. end;
  1851.  
  1852. procedure TCUIAutomation.InitServerData;
  1853. const
  1854.   CServerData: TServerData = (
  1855.     ClassID:   '{FF48DBA4-60EF-4201-AA87-54103EEF594E}';
  1856.     IntfIID:   '{30CBE57D-D9D0-452A-AB13-7AC5AC4825EE}';
  1857.     EventIID:  '';
  1858.     LicenseKey: nil;
  1859.     Version: 500);
  1860. begin
  1861.   ServerData := @CServerData;
  1862. end;
  1863.  
  1864. procedure TCUIAutomation.Connect;
  1865. var
  1866.   punk: IUnknown;
  1867. begin
  1868.   if FIntf = nil then
  1869.   begin
  1870.     punk := GetServer;
  1871.     Fintf:= punk as IUIAutomation;
  1872.   end;
  1873. end;
  1874.  
  1875. procedure TCUIAutomation.ConnectTo(svrIntf: IUIAutomation);
  1876. begin
  1877.   Disconnect;
  1878.   FIntf := svrIntf;
  1879. end;
  1880.  
  1881. procedure TCUIAutomation.DisConnect;
  1882. begin
  1883.   if Fintf <> nil then
  1884.   begin
  1885.     FIntf := nil;
  1886.   end;
  1887. end;
  1888.  
  1889. function TCUIAutomation.GetDefaultInterface: IUIAutomation;
  1890. begin
  1891.   if FIntf = nil then
  1892.     Connect;
  1893.   Assert(FIntf <> nil, 'DefaultInterface ‚ª NULL ‚Å‚·BƒRƒ“ƒ|[ƒlƒ“ƒg‚̓T[ƒo[‚ɐڑ±‚µ‚Ä‚¢‚Ü‚¹‚ñB‚±‚̃IƒyƒŒ[ƒVƒ‡ƒ“‚Ì‘O‚É "Connect" ‚Ü‚½‚Í "ConnectTo" ‚ðŒÄ‚яo‚·•K—v‚ª‚ ‚è‚Ü‚·B');
  1894.   Result := FIntf;
  1895. end;
  1896.  
  1897. constructor TCUIAutomation.Create(AOwner: TComponent);
  1898. begin
  1899.   inherited Create(AOwner);
  1900. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1901.   FProps := TCUIAutomationProperties.Create(Self);
  1902. {$ENDIF}
  1903. end;
  1904.  
  1905. destructor TCUIAutomation.Destroy;
  1906. begin
  1907. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1908.   FProps.Free;
  1909. {$ENDIF}
  1910.   inherited Destroy;
  1911. end;
  1912.  
  1913. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  1914. function TCUIAutomation.GetServerProperties: TCUIAutomationProperties;
  1915. begin
  1916.   Result := FProps;
  1917. end;
  1918. {$ENDIF}
  1919.  
  1920. function TCUIAutomation.Get_ControlViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1921. begin
  1922.     Result := DefaultInterface.Get_ControlViewWalker(walker);
  1923. end;
  1924.  
  1925. function TCUIAutomation.Get_ContentViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1926. begin
  1927.     Result := DefaultInterface.Get_ContentViewWalker(walker);
  1928. end;
  1929.  
  1930. function TCUIAutomation.Get_RawViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  1931. begin
  1932.     Result := DefaultInterface.Get_RawViewWalker(walker);
  1933. end;
  1934.  
  1935. function TCUIAutomation.Get_RawViewCondition(out condition: IUIAutomationCondition): HResult;
  1936. begin
  1937.     Result := DefaultInterface.Get_RawViewCondition(condition);
  1938. end;
  1939.  
  1940. function TCUIAutomation.Get_ControlViewCondition(out condition: IUIAutomationCondition): HResult;
  1941. begin
  1942.     Result := DefaultInterface.Get_ControlViewCondition(condition);
  1943. end;
  1944.  
  1945. function TCUIAutomation.Get_ContentViewCondition(out condition: IUIAutomationCondition): HResult;
  1946. begin
  1947.     Result := DefaultInterface.Get_ContentViewCondition(condition);
  1948. end;
  1949.  
  1950. function TCUIAutomation.Get_ProxyFactoryMapping(out factoryMapping: IUIAutomationProxyFactoryMapping): HResult;
  1951. begin
  1952.     Result := DefaultInterface.Get_ProxyFactoryMapping(factoryMapping);
  1953. end;
  1954.  
  1955. function TCUIAutomation.Get_ReservedNotSupportedValue(out notSupportedValue: IUnknown): HResult;
  1956. begin
  1957.     Result := DefaultInterface.Get_ReservedNotSupportedValue(notSupportedValue);
  1958. end;
  1959.  
  1960. function TCUIAutomation.Get_ReservedMixedAttributeValue(out mixedAttributeValue: IUnknown): HResult;
  1961. begin
  1962.     Result := DefaultInterface.Get_ReservedMixedAttributeValue(mixedAttributeValue);
  1963. end;
  1964.  
  1965. function TCUIAutomation.CompareElements(const el1: IUIAutomationElement;
  1966.                                         const el2: IUIAutomationElement; out areSame: Integer): HResult;
  1967. begin
  1968.   Result := DefaultInterface.CompareElements(el1, el2, areSame);
  1969. end;
  1970.  
  1971. function TCUIAutomation.CompareRuntimeIds(runtimeId1: PSafeArray; runtimeId2: PSafeArray;
  1972.                                           out areSame: Integer): HResult;
  1973. begin
  1974.   Result := DefaultInterface.CompareRuntimeIds(runtimeId1, runtimeId2, areSame);
  1975. end;
  1976.  
  1977. function TCUIAutomation.GetRootElement(out root: IUIAutomationElement): HResult;
  1978. begin
  1979.   Result := DefaultInterface.GetRootElement(root);
  1980. end;
  1981.  
  1982. function TCUIAutomation.ElementFromHandle(hwnd: HWND; out element: IUIAutomationElement): HResult;
  1983. begin
  1984.   Result := DefaultInterface.ElementFromHandle(hwnd, element);
  1985. end;
  1986.  
  1987. function TCUIAutomation.ElementFromPoint(pt: tagPOINT; out element: IUIAutomationElement): HResult;
  1988. begin
  1989.   Result := DefaultInterface.ElementFromPoint(pt, element);
  1990. end;
  1991.  
  1992. function TCUIAutomation.GetFocusedElement(out element: IUIAutomationElement): HResult;
  1993. begin
  1994.   Result := DefaultInterface.GetFocusedElement(element);
  1995. end;
  1996.  
  1997. function TCUIAutomation.GetRootElementBuildCache(const cacheRequest: IUIAutomationCacheRequest;
  1998.                                                  out root: IUIAutomationElement): HResult;
  1999. begin
  2000.   Result := DefaultInterface.GetRootElementBuildCache(cacheRequest, root);
  2001. end;
  2002.  
  2003. function TCUIAutomation.ElementFromHandleBuildCache(hwnd: HWND;
  2004.                                                     const cacheRequest: IUIAutomationCacheRequest;
  2005.                                                     out element: IUIAutomationElement): HResult;
  2006. begin
  2007.   Result := DefaultInterface.ElementFromHandleBuildCache(hwnd, cacheRequest, element);
  2008. end;
  2009.  
  2010. function TCUIAutomation.ElementFromPointBuildCache(pt: tagPOINT;
  2011.                                                    const cacheRequest: IUIAutomationCacheRequest;
  2012.                                                    out element: IUIAutomationElement): HResult;
  2013. begin
  2014.   Result := DefaultInterface.ElementFromPointBuildCache(pt, cacheRequest, element);
  2015. end;
  2016.  
  2017. function TCUIAutomation.GetFocusedElementBuildCache(const cacheRequest: IUIAutomationCacheRequest;
  2018.                                                     out element: IUIAutomationElement): HResult;
  2019. begin
  2020.   Result := DefaultInterface.GetFocusedElementBuildCache(cacheRequest, element);
  2021. end;
  2022.  
  2023. function TCUIAutomation.CreateTreeWalker(const pCondition: IUIAutomationCondition;
  2024.                                          out walker: IUIAutomationTreeWalker): HResult;
  2025. begin
  2026.   Result := DefaultInterface.CreateTreeWalker(pCondition, walker);
  2027. end;
  2028.  
  2029. function TCUIAutomation.CreateCacheRequest(out cacheRequest: IUIAutomationCacheRequest): HResult;
  2030. begin
  2031.   Result := DefaultInterface.CreateCacheRequest(cacheRequest);
  2032. end;
  2033.  
  2034. function TCUIAutomation.CreateTrueCondition(out newCondition: IUIAutomationCondition): HResult;
  2035. begin
  2036.   Result := DefaultInterface.CreateTrueCondition(newCondition);
  2037. end;
  2038.  
  2039. function TCUIAutomation.CreateFalseCondition(out newCondition: IUIAutomationCondition): HResult;
  2040. begin
  2041.   Result := DefaultInterface.CreateFalseCondition(newCondition);
  2042. end;
  2043.  
  2044. function TCUIAutomation.CreatePropertyCondition(propertyId: SYSINT; value: OleVariant;
  2045.                                                 out newCondition: IUIAutomationCondition): HResult;
  2046. begin
  2047.   Result := DefaultInterface.CreatePropertyCondition(propertyId, value, newCondition);
  2048. end;
  2049.  
  2050. function TCUIAutomation.CreatePropertyConditionEx(propertyId: SYSINT; value: OleVariant;
  2051.                                                   flags: PropertyConditionFlags;
  2052.                                                   out newCondition: IUIAutomationCondition): HResult;
  2053. begin
  2054.   Result := DefaultInterface.CreatePropertyConditionEx(propertyId, value, flags, newCondition);
  2055. end;
  2056.  
  2057. function TCUIAutomation.CreateAndCondition(const condition1: IUIAutomationCondition;
  2058.                                            const condition2: IUIAutomationCondition;
  2059.                                            out newCondition: IUIAutomationCondition): HResult;
  2060. begin
  2061.   Result := DefaultInterface.CreateAndCondition(condition1, condition2, newCondition);
  2062. end;
  2063.  
  2064. function TCUIAutomation.CreateAndConditionFromArray(conditions: PSafeArray;
  2065.                                                     out newCondition: IUIAutomationCondition): HResult;
  2066. begin
  2067.   Result := DefaultInterface.CreateAndConditionFromArray(conditions, newCondition);
  2068. end;
  2069.  
  2070. function TCUIAutomation.CreateAndConditionFromNativeArray(var conditions: IUIAutomationCondition;
  2071.                                                           conditionCount: SYSINT;
  2072.                                                           out newCondition: IUIAutomationCondition): HResult;
  2073. begin
  2074.   Result := DefaultInterface.CreateAndConditionFromNativeArray(conditions, conditionCount,
  2075.                                                                newCondition);
  2076. end;
  2077.  
  2078. function TCUIAutomation.CreateOrCondition(const condition1: IUIAutomationCondition;
  2079.                                           const condition2: IUIAutomationCondition;
  2080.                                           out newCondition: IUIAutomationCondition): HResult;
  2081. begin
  2082.   Result := DefaultInterface.CreateOrCondition(condition1, condition2, newCondition);
  2083. end;
  2084.  
  2085. function TCUIAutomation.CreateOrConditionFromArray(conditions: PSafeArray;
  2086.                                                    out newCondition: IUIAutomationCondition): HResult;
  2087. begin
  2088.   Result := DefaultInterface.CreateOrConditionFromArray(conditions, newCondition);
  2089. end;
  2090.  
  2091. function TCUIAutomation.CreateOrConditionFromNativeArray(var conditions: IUIAutomationCondition;
  2092.                                                          conditionCount: SYSINT;
  2093.                                                          out newCondition: IUIAutomationCondition): HResult;
  2094. begin
  2095.   Result := DefaultInterface.CreateOrConditionFromNativeArray(conditions, conditionCount,
  2096.                                                               newCondition);
  2097. end;
  2098.  
  2099. function TCUIAutomation.CreateNotCondition(const condition: IUIAutomationCondition;
  2100.                                            out newCondition: IUIAutomationCondition): HResult;
  2101. begin
  2102.   Result := DefaultInterface.CreateNotCondition(condition, newCondition);
  2103. end;
  2104.  
  2105. function TCUIAutomation.AddAutomationEventHandler(eventId: SYSINT;
  2106.                                                   const element: IUIAutomationElement;
  2107.                                                   scope: TreeScope;
  2108.                                                   const cacheRequest: IUIAutomationCacheRequest;
  2109.                                                   const handler: IUIAutomationEventHandler): HResult;
  2110. begin
  2111.   Result := DefaultInterface.AddAutomationEventHandler(eventId, element, scope, cacheRequest,
  2112.                                                        handler);
  2113. end;
  2114.  
  2115. function TCUIAutomation.RemoveAutomationEventHandler(eventId: SYSINT;
  2116.                                                      const element: IUIAutomationElement;
  2117.                                                      const handler: IUIAutomationEventHandler): HResult;
  2118. begin
  2119.   Result := DefaultInterface.RemoveAutomationEventHandler(eventId, element, handler);
  2120. end;
  2121.  
  2122. function TCUIAutomation.AddPropertyChangedEventHandlerNativeArray(const element: IUIAutomationElement;
  2123.                                                                   scope: TreeScope;
  2124.                                                                   const cacheRequest: IUIAutomationCacheRequest;
  2125.                                                                   const handler: IUIAutomationPropertyChangedEventHandler;
  2126.                                                                   var propertyArray: SYSINT;
  2127.                                                                   propertyCount: SYSINT): HResult;
  2128. begin
  2129.   Result := DefaultInterface.AddPropertyChangedEventHandlerNativeArray(element, scope,
  2130.                                                                        cacheRequest, handler,
  2131.                                                                        propertyArray, propertyCount);
  2132. end;
  2133.  
  2134. function TCUIAutomation.AddPropertyChangedEventHandler(const element: IUIAutomationElement;
  2135.                                                        scope: TreeScope;
  2136.                                                        const cacheRequest: IUIAutomationCacheRequest;
  2137.                                                        const handler: IUIAutomationPropertyChangedEventHandler;
  2138.                                                        propertyArray: PSafeArray): HResult;
  2139. begin
  2140.   Result := DefaultInterface.AddPropertyChangedEventHandler(element, scope, cacheRequest, handler,
  2141.                                                             propertyArray);
  2142. end;
  2143.  
  2144. function TCUIAutomation.RemovePropertyChangedEventHandler(const element: IUIAutomationElement;
  2145.                                                           const handler: IUIAutomationPropertyChangedEventHandler): HResult;
  2146. begin
  2147.   Result := DefaultInterface.RemovePropertyChangedEventHandler(element, handler);
  2148. end;
  2149.  
  2150. function TCUIAutomation.AddStructureChangedEventHandler(const element: IUIAutomationElement;
  2151.                                                         scope: TreeScope;
  2152.                                                         const cacheRequest: IUIAutomationCacheRequest;
  2153.                                                         const handler: IUIAutomationStructureChangedEventHandler): HResult;
  2154. begin
  2155.   Result := DefaultInterface.AddStructureChangedEventHandler(element, scope, cacheRequest, handler);
  2156. end;
  2157.  
  2158. function TCUIAutomation.RemoveStructureChangedEventHandler(const element: IUIAutomationElement;
  2159.                                                            const handler: IUIAutomationStructureChangedEventHandler): HResult;
  2160. begin
  2161.   Result := DefaultInterface.RemoveStructureChangedEventHandler(element, handler);
  2162. end;
  2163.  
  2164. function TCUIAutomation.AddFocusChangedEventHandler(const cacheRequest: IUIAutomationCacheRequest;
  2165.                                                     const handler: IUIAutomationFocusChangedEventHandler): HResult;
  2166. begin
  2167.   Result := DefaultInterface.AddFocusChangedEventHandler(cacheRequest, handler);
  2168. end;
  2169.  
  2170. function TCUIAutomation.RemoveFocusChangedEventHandler(const handler: IUIAutomationFocusChangedEventHandler): HResult;
  2171. begin
  2172.   Result := DefaultInterface.RemoveFocusChangedEventHandler(handler);
  2173. end;
  2174.  
  2175. function TCUIAutomation.RemoveAllEventHandlers: HResult;
  2176. begin
  2177.   Result := DefaultInterface.RemoveAllEventHandlers;
  2178. end;
  2179.  
  2180. function TCUIAutomation.IntNativeArrayToSafeArray(var array_: SYSINT; arrayCount: SYSINT;
  2181.                                                   out safeArray: PSafeArray): HResult;
  2182. begin
  2183.   Result := DefaultInterface.IntNativeArrayToSafeArray(array_, arrayCount, safeArray);
  2184. end;
  2185.  
  2186. function TCUIAutomation.IntSafeArrayToNativeArray(intArray: PSafeArray; out array_: PSYSINT1;
  2187.                                                   out arrayCount: SYSINT): HResult;
  2188. begin
  2189.   Result := DefaultInterface.IntSafeArrayToNativeArray(intArray, array_, arrayCount);
  2190. end;
  2191.  
  2192. function TCUIAutomation.RectToVariant(rc: tagRECT; out var_: OleVariant): HResult;
  2193. begin
  2194.   Result := DefaultInterface.RectToVariant(rc, var_);
  2195. end;
  2196.  
  2197. function TCUIAutomation.VariantToRect(var_: OleVariant; out rc: tagRECT): HResult;
  2198. begin
  2199.   Result := DefaultInterface.VariantToRect(var_, rc);
  2200. end;
  2201.  
  2202. function TCUIAutomation.SafeArrayToRectNativeArray(rects: PSafeArray; out rectArray: PUserType2;
  2203.                                                    out rectArrayCount: SYSINT): HResult;
  2204. begin
  2205.   Result := DefaultInterface.SafeArrayToRectNativeArray(rects, rectArray, rectArrayCount);
  2206. end;
  2207.  
  2208. function TCUIAutomation.CreateProxyFactoryEntry(const factory: IUIAutomationProxyFactory;
  2209.                                                 out factoryEntry: IUIAutomationProxyFactoryEntry): HResult;
  2210. begin
  2211.   Result := DefaultInterface.CreateProxyFactoryEntry(factory, factoryEntry);
  2212. end;
  2213.  
  2214. function TCUIAutomation.GetPropertyProgrammaticName(property_: SYSINT; out name: WideString): HResult;
  2215. begin
  2216.   Result := DefaultInterface.GetPropertyProgrammaticName(property_, name);
  2217. end;
  2218.  
  2219. function TCUIAutomation.GetPatternProgrammaticName(pattern: SYSINT; out name: WideString): HResult;
  2220. begin
  2221.   Result := DefaultInterface.GetPatternProgrammaticName(pattern, name);
  2222. end;
  2223.  
  2224. function TCUIAutomation.PollForPotentialSupportedPatterns(const pElement: IUIAutomationElement;
  2225.                                                           out patternIds: PSafeArray;
  2226.                                                           out patternNames: PSafeArray): HResult;
  2227. begin
  2228.   Result := DefaultInterface.PollForPotentialSupportedPatterns(pElement, patternIds, patternNames);
  2229. end;
  2230.  
  2231. function TCUIAutomation.PollForPotentialSupportedProperties(const pElement: IUIAutomationElement;
  2232.                                                             out propertyIds: PSafeArray;
  2233.                                                             out propertyNames: PSafeArray): HResult;
  2234. begin
  2235.   Result := DefaultInterface.PollForPotentialSupportedProperties(pElement, propertyIds,
  2236.                                                                  propertyNames);
  2237. end;
  2238.  
  2239. function TCUIAutomation.CheckNotSupported(value: OleVariant; out isNotSupported: Integer): HResult;
  2240. begin
  2241.   Result := DefaultInterface.CheckNotSupported(value, isNotSupported);
  2242. end;
  2243.  
  2244. function TCUIAutomation.ElementFromIAccessible(const accessible: IAccessible; childId: SYSINT;
  2245.                                                out element: IUIAutomationElement): HResult;
  2246. begin
  2247.   Result := DefaultInterface.ElementFromIAccessible(accessible, childId, element);
  2248. end;
  2249.  
  2250. function TCUIAutomation.ElementFromIAccessibleBuildCache(const accessible: IAccessible;
  2251.                                                          childId: SYSINT;
  2252.                                                          const cacheRequest: IUIAutomationCacheRequest;
  2253.                                                          out element: IUIAutomationElement): HResult;
  2254. begin
  2255.   Result := DefaultInterface.ElementFromIAccessibleBuildCache(accessible, childId, cacheRequest,
  2256.                                                               element);
  2257. end;
  2258.  
  2259. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  2260. constructor TCUIAutomationProperties.Create(AServer: TCUIAutomation);
  2261. begin
  2262.   inherited Create;
  2263.   FServer := AServer;
  2264. end;
  2265.  
  2266. function TCUIAutomationProperties.GetDefaultInterface: IUIAutomation;
  2267. begin
  2268.   Result := FServer.DefaultInterface;
  2269. end;
  2270.  
  2271. function TCUIAutomationProperties.Get_ControlViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  2272. begin
  2273.     Result := DefaultInterface.Get_ControlViewWalker(walker);
  2274. end;
  2275.  
  2276. function TCUIAutomationProperties.Get_ContentViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  2277. begin
  2278.     Result := DefaultInterface.Get_ContentViewWalker(walker);
  2279. end;
  2280.  
  2281. function TCUIAutomationProperties.Get_RawViewWalker(out walker: IUIAutomationTreeWalker): HResult;
  2282. begin
  2283.     Result := DefaultInterface.Get_RawViewWalker(walker);
  2284. end;
  2285.  
  2286. function TCUIAutomationProperties.Get_RawViewCondition(out condition: IUIAutomationCondition): HResult;
  2287. begin
  2288.     Result := DefaultInterface.Get_RawViewCondition(condition);
  2289. end;
  2290.  
  2291. function TCUIAutomationProperties.Get_ControlViewCondition(out condition: IUIAutomationCondition): HResult;
  2292. begin
  2293.     Result := DefaultInterface.Get_ControlViewCondition(condition);
  2294. end;
  2295.  
  2296. function TCUIAutomationProperties.Get_ContentViewCondition(out condition: IUIAutomationCondition): HResult;
  2297. begin
  2298.     Result := DefaultInterface.Get_ContentViewCondition(condition);
  2299. end;
  2300.  
  2301. function TCUIAutomationProperties.Get_ProxyFactoryMapping(out factoryMapping: IUIAutomationProxyFactoryMapping): HResult;
  2302. begin
  2303.     Result := DefaultInterface.Get_ProxyFactoryMapping(factoryMapping);
  2304. end;
  2305.  
  2306. function TCUIAutomationProperties.Get_ReservedNotSupportedValue(out notSupportedValue: IUnknown): HResult;
  2307. begin
  2308.     Result := DefaultInterface.Get_ReservedNotSupportedValue(notSupportedValue);
  2309. end;
  2310.  
  2311. function TCUIAutomationProperties.Get_ReservedMixedAttributeValue(out mixedAttributeValue: IUnknown): HResult;
  2312. begin
  2313.     Result := DefaultInterface.Get_ReservedMixedAttributeValue(mixedAttributeValue);
  2314. end;
  2315.  
  2316. {$ENDIF}
  2317.  
  2318. procedure Register;
  2319. begin
  2320.   RegisterComponents(dtlServerPage, [TCUIAutomation]);
  2321. end;
  2322.  
  2323. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement