mirror of https://github.com/dahall/Vanara.git
Lots of changes for rich edit
parent
917f979973
commit
94a761c326
|
@ -6,29 +6,9 @@ using System.Text;
|
||||||
namespace Vanara.PInvoke;
|
namespace Vanara.PInvoke;
|
||||||
|
|
||||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||||
|
|
||||||
public static partial class Oleacc
|
public static partial class Oleacc
|
||||||
{
|
{
|
||||||
// Input to DISPID_ACC_NAVIGATE
|
|
||||||
private const int NAVDIR_DOWN = 0x00000002;
|
|
||||||
private const int NAVDIR_FIRSTCHILD = 0x00000007;
|
|
||||||
private const int NAVDIR_LASTCHILD = 0x00000008;
|
|
||||||
private const int NAVDIR_LEFT = 0x00000003;
|
|
||||||
private const int NAVDIR_MAX = 0x00000009;
|
|
||||||
private const int NAVDIR_MIN = 0x00000000;
|
|
||||||
private const int NAVDIR_NEXT = 0x00000005;
|
|
||||||
private const int NAVDIR_PREVIOUS = 0x00000006;
|
|
||||||
private const int NAVDIR_RIGHT = 0x00000004;
|
|
||||||
private const int NAVDIR_UP = 0x00000001;
|
|
||||||
|
|
||||||
// Input to DISPID_ACC_SELECT
|
|
||||||
private const int SELFLAG_ADDSELECTION = 0x00000008;
|
|
||||||
private const int SELFLAG_EXTENDSELECTION = 0x00000004;
|
|
||||||
private const int SELFLAG_NONE = 0x00000000;
|
|
||||||
private const int SELFLAG_REMOVESELECTION = 0x00000010;
|
|
||||||
private const int SELFLAG_TAKEFOCUS = 0x00000001;
|
|
||||||
private const int SELFLAG_TAKESELECTION = 0x00000002;
|
|
||||||
private const int SELFLAG_VALID = 0x0000001F;
|
|
||||||
|
|
||||||
public enum AccessibilityRole : uint
|
public enum AccessibilityRole : uint
|
||||||
{
|
{
|
||||||
ROLE_SYSTEM_TITLEBAR = 0x00000001,
|
ROLE_SYSTEM_TITLEBAR = 0x00000001,
|
||||||
|
@ -154,8 +134,8 @@ public static partial class Oleacc
|
||||||
ANRUS_PRIORITY_AUDIO_ACTIVE = 0x0000004,
|
ANRUS_PRIORITY_AUDIO_ACTIVE = 0x0000004,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The AT application is relying on audio (such as text-to-speech) to convey essential information to the user but should not
|
/// The AT application is relying on audio (such as text-to-speech) to convey essential information to the user but should not change
|
||||||
/// change relative to other system sounds.
|
/// relative to other system sounds.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ANRUS_PRIORITY_AUDIO_ACTIVE_NODUCK = 0x0000008,
|
ANRUS_PRIORITY_AUDIO_ACTIVE_NODUCK = 0x0000008,
|
||||||
|
|
||||||
|
@ -163,6 +143,140 @@ public static partial class Oleacc
|
||||||
ANRUS_PRIORITY_AUDIO_DYNAMIC_DUCK = 0x0000010,
|
ANRUS_PRIORITY_AUDIO_DYNAMIC_DUCK = 0x0000010,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This topic describes the constant values, defined in oleacc.h, that indicate the spatial (up, down, left, and right) or logical
|
||||||
|
/// (first child, last, next, and previous) direction observed when clients use <c>IAccessible::accNavigate</c> to navigate from one user
|
||||||
|
/// interface element to another within the same container. For more information, see Object Navigation Properties and Methods.
|
||||||
|
/// </summary>
|
||||||
|
// https://learn.microsoft.com/en-us/windows/win32/winauto/navigation-constants
|
||||||
|
[PInvokeData("Oleacc.h")]
|
||||||
|
public enum NAVDIR
|
||||||
|
{
|
||||||
|
/// <summary>Navigate to the sibling object that is located below the starting object.</summary>
|
||||||
|
NAVDIR_DOWN = 0x00000002,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigate to the first child of this object. When this flag is used, the <c>lVal</c> member of the <c>varStart</c> parameter must
|
||||||
|
/// be CHILDID_SELF.
|
||||||
|
/// </summary>
|
||||||
|
NAVDIR_FIRSTCHILD = 0x00000007,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Navigate to the last child of this object. When using this flag, the <c>lVal</c> member of the <c>varStart</c> parameter must be CHILDID_SELF.
|
||||||
|
/// </summary>
|
||||||
|
NAVDIR_LASTCHILD = 0x00000008,
|
||||||
|
|
||||||
|
/// <summary>Navigate to the sibling object located to the left of the starting object.</summary>
|
||||||
|
NAVDIR_LEFT = 0x00000003,
|
||||||
|
|
||||||
|
/// <summary/>
|
||||||
|
NAVDIR_MAX = 0x00000009,
|
||||||
|
|
||||||
|
/// <summary/>
|
||||||
|
NAVDIR_MIN = 0x00000000,
|
||||||
|
|
||||||
|
/// <summary>Navigate to the next logical object; generally, it is a sibling of the starting object.</summary>
|
||||||
|
NAVDIR_NEXT = 0x00000005,
|
||||||
|
|
||||||
|
/// <summary>Navigate to the previous logical object; generally, it is a sibling of the starting object.</summary>
|
||||||
|
NAVDIR_PREVIOUS = 0x00000006,
|
||||||
|
|
||||||
|
/// <summary>Navigate to the sibling object that is located to the right of the starting object.</summary>
|
||||||
|
NAVDIR_RIGHT = 0x00000004,
|
||||||
|
|
||||||
|
/// <summary>Navigate to the sibling object that is located above the starting object.</summary>
|
||||||
|
NAVDIR_UP = 0x00000001,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Inputs to IAccessible::accHitTest. The following are the valid values for the varChild parameter.</summary>
|
||||||
|
[PInvokeData("Oleacc.h")]
|
||||||
|
[Flags]
|
||||||
|
public enum SELFLAG
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>Adds the object to the current selection; possible result is a noncontiguous selection.</para>
|
||||||
|
/// <para>
|
||||||
|
/// Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The
|
||||||
|
/// SELFLAG_ADDSELECTION / SELFLAG_TAKEFOCUS combination is equivalent to adding an item to a selection manually by holding down the
|
||||||
|
/// CTRL key and clicking an unselected object in Windows Explorer.
|
||||||
|
/// </para>
|
||||||
|
/// <para>This flag is not combined with SELFLAG_REMOVESELECTION or SELFLAG_TAKESELECTION.</para>
|
||||||
|
/// </summary>
|
||||||
|
SELFLAG_ADDSELECTION = 0x00000008,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>
|
||||||
|
/// Alters the selection so that all objects between the selection anchor and this object take on the anchor object's selection
|
||||||
|
/// state. If the anchor object is not selected, the objects are removed from the selection. If the anchor object is selected, the
|
||||||
|
/// selection is extended to include this object and all the objects in between. Set the selection state by combining this flag with
|
||||||
|
/// SELFLAG_ADDSELECTION or SELFLAG_REMOVESELECTION.
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The
|
||||||
|
/// SELFLAG_EXTENDSELECTION / SELFLAG_TAKEFOCUS combination is equivalent to adding an item to a selection manually by holding down
|
||||||
|
/// the SHIFT key and clicking an unselected object in Windows Explorer.
|
||||||
|
/// </para>
|
||||||
|
/// <para>This flag is not combined with SELFLAG_TAKESELECTION.</para>
|
||||||
|
/// </summary>
|
||||||
|
SELFLAG_EXTENDSELECTION = 0x00000004,
|
||||||
|
|
||||||
|
/// <summary>Performs no action. Microsoft Active Accessibility does not change the selection or focus.</summary>
|
||||||
|
SELFLAG_NONE = 0x00000000,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>Removes the object from the current selection; possible result is a noncontiguous selection.</para>
|
||||||
|
/// <para>
|
||||||
|
/// Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The
|
||||||
|
/// SELFLAG_REMOVESELECTION / SELFLAG_TAKEFOCUS combination is equivalent to removing an item from a selection manually, by holding
|
||||||
|
/// down the CTRL key while clicking a selected object in Windows Explorer.
|
||||||
|
/// </para>
|
||||||
|
/// <para>This flag is not combined with SELFLAG_ADDSELECTION or SELFLAG_TAKESELECTION.</para>
|
||||||
|
/// </summary>
|
||||||
|
SELFLAG_REMOVESELECTION = 0x00000010,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>
|
||||||
|
/// Sets the focus to the object and makes it the selection anchor. Used by itself, this flag does not alter the selection. The
|
||||||
|
/// effect is similar to moving the focus manually by pressing an ARROW key while holding down the CTRL key in Windows Explorer or in
|
||||||
|
/// any multiple-selection list box.
|
||||||
|
/// </para>
|
||||||
|
/// <para>With objects that have the STATE_SYSTEM_MULTISELECTABLE, SELFLAG_TAKEFOCUS is combined with the following values:</para>
|
||||||
|
/// <list type="bullet">
|
||||||
|
/// <item>SELFLAG_TAKESELECTION</item>
|
||||||
|
/// <item>SELFLAG_EXTENDSELECTION</item>
|
||||||
|
/// <item>SELFLAG_ADDSELECTION</item>
|
||||||
|
/// <item>SELFLAG_REMOVESELECTION</item>
|
||||||
|
/// <item>SELFLAG_ADDSELECTION</item>
|
||||||
|
/// <item>SELFLAG_EXTENDSELECTION</item>
|
||||||
|
/// <item>SELFLAG_REMOVESELECTION</item>
|
||||||
|
/// <item>SELFLAG_EXTENDSELECTION</item>
|
||||||
|
/// </list>
|
||||||
|
/// <para>
|
||||||
|
/// If you call IAccessible::accSelect with the SELFLAG_TAKEFOCUS flag on an object that has an HWND, the flag will take effect only
|
||||||
|
/// if the object's parent already has the focus.
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
SELFLAG_TAKEFOCUS = 0x00000001,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>Selects the object and removes the selection from all other objects in the container.</para>
|
||||||
|
/// <para>
|
||||||
|
/// Unless it is combined with SELFLAG_TAKEFOCUS, this flag does not change the focus or the selection anchor. The
|
||||||
|
/// SELFLAG_TAKESELECTION / SELFLAG_TAKEFOCUS combination is equivalent to single-clicking an item in Windows Explorer.
|
||||||
|
/// </para>
|
||||||
|
/// <para>This flag must not be combined with the following flags:</para>
|
||||||
|
/// <list type="bullet">
|
||||||
|
/// <item>SELFLAG_ADDSELECTION</item>
|
||||||
|
/// <item>SELFLAG_REMOVESELECTION</item>
|
||||||
|
/// <item>SELFLAG_EXTENDSELECTION</item>
|
||||||
|
/// </list>
|
||||||
|
/// </summary>
|
||||||
|
SELFLAG_TAKESELECTION = 0x00000002,
|
||||||
|
|
||||||
|
/// <summary>The selflag valid</summary>
|
||||||
|
SELFLAG_VALID = 0x0000001F,
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Retrieves the child ID or IDispatch of each child within an accessible container object.</summary>
|
/// <summary>Retrieves the child ID or IDispatch of each child within an accessible container object.</summary>
|
||||||
/// <param name="paccContainer">
|
/// <param name="paccContainer">
|
||||||
/// <para>Type: <c>IAccessible*</c></para>
|
/// <para>Type: <c>IAccessible*</c></para>
|
||||||
|
@ -171,8 +285,8 @@ public static partial class Oleacc
|
||||||
/// <param name="iChildStart">
|
/// <param name="iChildStart">
|
||||||
/// <para>Type: <c>LONG</c></para>
|
/// <para>Type: <c>LONG</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Specifies the zero-based index of the first child that is retrieved. This parameter is an index, not a child ID, and it is
|
/// Specifies the zero-based index of the first child that is retrieved. This parameter is an index, not a child ID, and it is usually is
|
||||||
/// usually is set to zero (0).
|
/// set to zero (0).
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="cChildren">
|
/// <param name="cChildren">
|
||||||
|
@ -183,16 +297,16 @@ public static partial class Oleacc
|
||||||
/// <para>Type: <c>VARIANT*</c></para>
|
/// <para>Type: <c>VARIANT*</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Pointer to an array of VARIANT structures that receives information about the container's children. If the <c>vt</c> member of an
|
/// Pointer to an array of VARIANT structures that receives information about the container's children. If the <c>vt</c> member of an
|
||||||
/// array element is VT_I4, then the <c>lVal</c> member for that element is the child ID. If the <c>vt</c> member of an array element
|
/// array element is VT_I4, then the <c>lVal</c> member for that element is the child ID. If the <c>vt</c> member of an array element is
|
||||||
/// is VT_DISPATCH, then the <c>pdispVal</c> member for that element is the address of the child object's IDispatch interface.
|
/// VT_DISPATCH, then the <c>pdispVal</c> member for that element is the address of the child object's IDispatch interface.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="pcObtained">
|
/// <param name="pcObtained">
|
||||||
/// <para>Type: <c>LONG*</c></para>
|
/// <para>Type: <c>LONG*</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Address of a variable that receives the number of elements in the rgvarChildren array that is populated by the
|
/// Address of a variable that receives the number of elements in the rgvarChildren array that is populated by the
|
||||||
/// <c>AccessibleChildren</c> function. This value is the same as that of the cChildren parameter; however, if you request more
|
/// <c>AccessibleChildren</c> function. This value is the same as that of the cChildren parameter; however, if you request more children
|
||||||
/// children than exist, this value will be less than that of cChildren.
|
/// than exist, this value will be less than that of cChildren.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <returns>
|
/// <returns>
|
||||||
|
@ -216,22 +330,21 @@ public static partial class Oleacc
|
||||||
/// </returns>
|
/// </returns>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// To retrieve information about all of the children in a container, the iChildStart parameter must be zero (0), and cChildren must
|
/// To retrieve information about all of the children in a container, the iChildStart parameter must be zero (0), and cChildren must be
|
||||||
/// be the value returned by IAccessible::get_accChildCount.
|
/// the value returned by IAccessible::get_accChildCount.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// When calling this function to obtain information about the children of a user interface element, it is recommended that clients
|
/// When calling this function to obtain information about the children of a user interface element, it is recommended that clients
|
||||||
/// obtain information about all of the children. For example, iChildStart must be zero (0), and cChildren must be the value returned
|
/// obtain information about all of the children. For example, iChildStart must be zero (0), and cChildren must be the value returned by IAccessible::get_accChildCount.
|
||||||
/// by IAccessible::get_accChildCount.
|
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// If a child ID is returned for an element, then the container must provide information about the child element. To obtain
|
/// If a child ID is returned for an element, then the container must provide information about the child element. To obtain information
|
||||||
/// information about the element, clients use the container's IAccessible interface pointer and specify the obtained child ID in
|
/// about the element, clients use the container's IAccessible interface pointer and specify the obtained child ID in calls to the
|
||||||
/// calls to the <c>IAccessible</c> properties.
|
/// <c>IAccessible</c> properties.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Clients must call the IUnknown::Release method for any IDispatch interfaces retrieved by this function, and free the array when
|
/// Clients must call the IUnknown::Release method for any IDispatch interfaces retrieved by this function, and free the array when it is
|
||||||
/// it is no longer required.
|
/// no longer required.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>Examples</para>
|
/// <para>Examples</para>
|
||||||
/// <para>
|
/// <para>
|
||||||
|
@ -246,14 +359,14 @@ public static partial class Oleacc
|
||||||
public static extern HRESULT AccessibleChildren(IAccessible paccContainer, int iChildStart, int cChildren, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.Struct, SizeParamIndex = 2)] object[] rgvarChildren, out int pcObtained);
|
public static extern HRESULT AccessibleChildren(IAccessible paccContainer, int iChildStart, int cChildren, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.Struct, SizeParamIndex = 2)] object[] rgvarChildren, out int pcObtained);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves the address of the IAccessible interface for the object that generated the event that is currently being processed by
|
/// Retrieves the address of the IAccessible interface for the object that generated the event that is currently being processed by the
|
||||||
/// the client's event hook function.
|
/// client's event hook function.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hwnd">
|
/// <param name="hwnd">
|
||||||
/// <para>Type: <c>HWND</c></para>
|
/// <para>Type: <c>HWND</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Specifies the window handle of the window that generated the event. This value must be the window handle that is sent to the
|
/// Specifies the window handle of the window that generated the event. This value must be the window handle that is sent to the event
|
||||||
/// event hook function.
|
/// hook function.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="dwId">
|
/// <param name="dwId">
|
||||||
|
@ -265,9 +378,9 @@ public static partial class Oleacc
|
||||||
/// <param name="dwChildId">
|
/// <param name="dwChildId">
|
||||||
/// <para>Type: <c>DWORD</c></para>
|
/// <para>Type: <c>DWORD</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Specifies whether the event was triggered by an object or one of its child elements. If the object triggered the event, dwChildID
|
/// Specifies whether the event was triggered by an object or one of its child elements. If the object triggered the event, dwChildID is
|
||||||
/// is CHILDID_SELF. If a child element triggered the event, dwChildID is the element's child ID. This value must be the child ID
|
/// CHILDID_SELF. If a child element triggered the event, dwChildID is the element's child ID. This value must be the child ID that is
|
||||||
/// that is sent to the event hook function.
|
/// sent to the event hook function.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="ppacc">
|
/// <param name="ppacc">
|
||||||
|
@ -303,19 +416,19 @@ public static partial class Oleacc
|
||||||
/// function must be used for this function's hwnd, dwObjectID, and dwChildID parameters.
|
/// function must be used for this function's hwnd, dwObjectID, and dwChildID parameters.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function retrieves the lowest-level accessible object in the object hierarchy that is associated with an event. If the
|
/// This function retrieves the lowest-level accessible object in the object hierarchy that is associated with an event. If the element
|
||||||
/// element that generated the event is not an accessible object (that is, does not support IAccessible), then the function retrieves
|
/// that generated the event is not an accessible object (that is, does not support IAccessible), then the function retrieves the
|
||||||
/// the <c>IAccessible</c> interface of the parent object. The parent object must provide information about the child element through
|
/// <c>IAccessible</c> interface of the parent object. The parent object must provide information about the child element through the
|
||||||
/// the <c>IAccessible</c> interface.
|
/// <c>IAccessible</c> interface.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// As with other IAccessible methods and functions, clients might receive errors for <c>IAccessible</c> interface pointers because
|
/// As with other IAccessible methods and functions, clients might receive errors for <c>IAccessible</c> interface pointers because of a
|
||||||
/// of a user action. For more information, see Receiving Errors for IAccessible Interface Pointers.
|
/// user action. For more information, see Receiving Errors for IAccessible Interface Pointers.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function fails if called in response to EVENT_OBJECT_CREATE because the object is not fully initialized. Similarly, clients
|
/// This function fails if called in response to EVENT_OBJECT_CREATE because the object is not fully initialized. Similarly, clients
|
||||||
/// should not call this in response to EVENT_OBJECT_DESTROY because the object is no longer available and cannot respond. Clients
|
/// should not call this in response to EVENT_OBJECT_DESTROY because the object is no longer available and cannot respond. Clients watch
|
||||||
/// watch for EVENT_OBJECT_SHOW and EVENT_OBJECT_HIDE events rather than for <c>EVENT_OBJECT_CREATE</c> and <c>EVENT_OBJECT_DESTROY</c>.
|
/// for EVENT_OBJECT_SHOW and EVENT_OBJECT_HIDE events rather than for <c>EVENT_OBJECT_CREATE</c> and <c>EVENT_OBJECT_DESTROY</c>.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>Examples</para>
|
/// <para>Examples</para>
|
||||||
/// <para>The following example code shows this method being called in a WinEventProc event handler.</para>
|
/// <para>The following example code shows this method being called in a WinEventProc event handler.</para>
|
||||||
|
@ -326,9 +439,7 @@ public static partial class Oleacc
|
||||||
[PInvokeData("oleacc.h", MSDNShortId = "d453c163-3918-4a1c-9636-16816227a295")]
|
[PInvokeData("oleacc.h", MSDNShortId = "d453c163-3918-4a1c-9636-16816227a295")]
|
||||||
public static extern HRESULT AccessibleObjectFromEvent(HWND hwnd, uint dwId, uint dwChildId, out IAccessible ppacc, [MarshalAs(UnmanagedType.Struct)] out object pvarChild);
|
public static extern HRESULT AccessibleObjectFromEvent(HWND hwnd, uint dwId, uint dwChildId, out IAccessible ppacc, [MarshalAs(UnmanagedType.Struct)] out object pvarChild);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>Retrieves the address of the IAccessible interface pointer for the object displayed at a specified point on the screen.</summary>
|
||||||
/// Retrieves the address of the IAccessible interface pointer for the object displayed at a specified point on the screen.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="ptScreen">Specifies, in physical screen coordinates, the point that is examined.</param>
|
/// <param name="ptScreen">Specifies, in physical screen coordinates, the point that is examined.</param>
|
||||||
/// <param name="ppacc">Address of a pointer variable that receives the address of the object's IAccessible interface.</param>
|
/// <param name="ppacc">Address of a pointer variable that receives the address of the object's IAccessible interface.</param>
|
||||||
/// <param name="pvarChild">
|
/// <param name="pvarChild">
|
||||||
|
@ -355,14 +466,14 @@ public static partial class Oleacc
|
||||||
/// </returns>
|
/// </returns>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function retrieves the lowest-level accessible object in the object hierarchy at a given point. If the element at the point
|
/// This function retrieves the lowest-level accessible object in the object hierarchy at a given point. If the element at the point is
|
||||||
/// is not an accessible object (that is, does not support IAccessible), then the function retrieves the <c>IAccessible</c> interface
|
/// not an accessible object (that is, does not support IAccessible), then the function retrieves the <c>IAccessible</c> interface of the
|
||||||
/// of the parent object. The parent object must provide information about the child element through the <c>IAccessible</c>
|
/// parent object. The parent object must provide information about the child element through the <c>IAccessible</c> interface. Call
|
||||||
/// interface. Call IAccessible::accHitTest to identify the child element at the specified screen coordinates.
|
/// IAccessible::accHitTest to identify the child element at the specified screen coordinates.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// As with other IAccessible methods and functions, clients might receive errors for <c>IAccessible</c> interface pointers because
|
/// As with other IAccessible methods and functions, clients might receive errors for <c>IAccessible</c> interface pointers because of a
|
||||||
/// of a user action. For more information, see Receiving Errors for IAccessible Interface Pointers.
|
/// user action. For more information, see Receiving Errors for IAccessible Interface Pointers.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>Client Example</para>
|
/// <para>Client Example</para>
|
||||||
/// <para>
|
/// <para>
|
||||||
|
@ -386,16 +497,16 @@ public static partial class Oleacc
|
||||||
/// <param name="dwId">
|
/// <param name="dwId">
|
||||||
/// <para>Type: <c>DWORD</c></para>
|
/// <para>Type: <c>DWORD</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Specifies the object ID. This value is one of the standard object identifier constants or a custom object ID such as
|
/// Specifies the object ID. This value is one of the standard object identifier constants or a custom object ID such as OBJID_NATIVEOM,
|
||||||
/// OBJID_NATIVEOM, which is the object ID for the Office native object model. For more information about <c>OBJID_NATIVEOM</c>, see
|
/// which is the object ID for the Office native object model. For more information about <c>OBJID_NATIVEOM</c>, see the Remarks section
|
||||||
/// the Remarks section in this topic.
|
/// in this topic.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="riid">
|
/// <param name="riid">
|
||||||
/// <para>Type: <c>REFIID</c></para>
|
/// <para>Type: <c>REFIID</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Specifies the reference identifier of the requested interface. This value is either IID_IAccessible or IID_IDispatch, but it can
|
/// Specifies the reference identifier of the requested interface. This value is either IID_IAccessible or IID_IDispatch, but it can also
|
||||||
/// also be IID_IUnknown, or the IID of any interface that the object is expected to support.
|
/// be IID_IUnknown, or the IID of any interface that the object is expected to support.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="ppvObject">
|
/// <param name="ppvObject">
|
||||||
|
@ -423,21 +534,20 @@ public static partial class Oleacc
|
||||||
/// </returns>
|
/// </returns>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Clients call this function to retrieve the address of an object's IAccessible, IDispatch, IEnumVARIANT, IUnknown, or other
|
/// Clients call this function to retrieve the address of an object's IAccessible, IDispatch, IEnumVARIANT, IUnknown, or other supported
|
||||||
/// supported interface pointer.
|
/// interface pointer.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// As with other IAccessible methods and functions, clients might receive errors for <c>IAccessible</c> interface pointers because
|
/// As with other IAccessible methods and functions, clients might receive errors for <c>IAccessible</c> interface pointers because of a
|
||||||
/// of a user action. For more information, see Receiving Errors for IAccessible Interface Pointers.
|
/// user action. For more information, see Receiving Errors for IAccessible Interface Pointers.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Clients use this function to obtain access to the Microsoft Office 2000 native object model. The native object model provides
|
/// Clients use this function to obtain access to the Microsoft Office 2000 native object model. The native object model provides clients
|
||||||
/// clients with accessibility information about an Office application's document or client area that is not exposed by Microsoft
|
/// with accessibility information about an Office application's document or client area that is not exposed by Microsoft Active Accessibility.
|
||||||
/// Active Accessibility.
|
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// To obtain an IDispatch interface pointer to a class supported by the native object model, specify OBJID_NATIVEOM in dwObjectID.
|
/// To obtain an IDispatch interface pointer to a class supported by the native object model, specify OBJID_NATIVEOM in dwObjectID. When
|
||||||
/// When using this object identifier, the hwnd parameter must match the following window class types.
|
/// using this object identifier, the hwnd parameter must match the following window class types.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <list type="table">
|
/// <list type="table">
|
||||||
/// <listheader>
|
/// <listheader>
|
||||||
|
@ -467,20 +577,20 @@ public static partial class Oleacc
|
||||||
/// </item>
|
/// </item>
|
||||||
/// </list>
|
/// </list>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Note that the above window classes correspond to the innermost document window or pane window. For more information about the
|
/// Note that the above window classes correspond to the innermost document window or pane window. For more information about the Office
|
||||||
/// Office object model, see the Microsoft Office 2000/Visual Basic Programmer's Guide.
|
/// object model, see the Microsoft Office 2000/Visual Basic Programmer's Guide.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-accessibleobjectfromwindow HRESULT
|
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-accessibleobjectfromwindow HRESULT AccessibleObjectFromWindow(
|
||||||
// AccessibleObjectFromWindow( HWND hwnd, DWORD dwId, REFIID riid, void **ppvObject );
|
// HWND hwnd, DWORD dwId, REFIID riid, void **ppvObject );
|
||||||
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
||||||
[PInvokeData("oleacc.h", MSDNShortId = "297ac50f-2a58-477b-ba57-5d1416c191b3")]
|
[PInvokeData("oleacc.h", MSDNShortId = "297ac50f-2a58-477b-ba57-5d1416c191b3")]
|
||||||
public static extern HRESULT AccessibleObjectFromWindow(HWND hwnd, uint dwId, in Guid riid, [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 2)] out object ppvObject);
|
public static extern HRESULT AccessibleObjectFromWindow(HWND hwnd, uint dwId, in Guid riid, [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 2)] out object ppvObject);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Allows an assistive technology (AT) application to notify the system that it is interacting with UI through a Windows Automation
|
/// Allows an assistive technology (AT) application to notify the system that it is interacting with UI through a Windows Automation API
|
||||||
/// API (such as Microsoft UI Automation) as a result of a touch gesture from the user. This allows the assistive technology to
|
/// (such as Microsoft UI Automation) as a result of a touch gesture from the user. This allows the assistive technology to notify the
|
||||||
/// notify the target application and the system that the user is interacting with touch.
|
/// target application and the system that the user is interacting with touch.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hwndApp">A window that belongs to the AT process that is calling <c>AccNotifyTouchInteraction</c>.</param>
|
/// <param name="hwndApp">A window that belongs to the AT process that is calling <c>AccNotifyTouchInteraction</c>.</param>
|
||||||
/// <param name="hwndTarget">The nearest window of the automation element that the AT is targeting.</param>
|
/// <param name="hwndTarget">The nearest window of the automation element that the AT is targeting.</param>
|
||||||
|
@ -492,14 +602,14 @@ public static partial class Oleacc
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function requires the calling process to have UIAccess or higher privileges. If the caller does not have the required
|
/// This function requires the calling process to have UIAccess or higher privileges. If the caller does not have the required
|
||||||
/// privileges, the call to <c>AccNotifyTouchInteraction</c> fails and returns <c>E_ACCESSDENIED</c>. For more information, see
|
/// privileges, the call to <c>AccNotifyTouchInteraction</c> fails and returns <c>E_ACCESSDENIED</c>. For more information, see Security
|
||||||
/// Security Considerations for Assistive Technologies and /MANIFESTUAC (Embeds UAC information in manifest).
|
/// Considerations for Assistive Technologies and /MANIFESTUAC (Embeds UAC information in manifest).
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// When an AT is consuming touch data (such as when using the RegisterPointerInputTarget function), the shell and applications that
|
/// When an AT is consuming touch data (such as when using the RegisterPointerInputTarget function), the shell and applications that the
|
||||||
/// the AT interacts with through the Windows Automation API are not aware that the user is interacting through touch. For the system
|
/// AT interacts with through the Windows Automation API are not aware that the user is interacting through touch. For the system to
|
||||||
/// to expose touch-related functionality to the user, the AT must use <c>AccNotifyTouchInteraction</c> to notify the system that it
|
/// expose touch-related functionality to the user, the AT must use <c>AccNotifyTouchInteraction</c> to notify the system that it is
|
||||||
/// is performing the interaction in response to user touch input.
|
/// performing the interaction in response to user touch input.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>Examples</para>
|
/// <para>Examples</para>
|
||||||
/// <para>This code example shows how to call the <c>AccNotifyTouchInteraction</c> function.</para>
|
/// <para>This code example shows how to call the <c>AccNotifyTouchInteraction</c> function.</para>
|
||||||
|
@ -529,8 +639,8 @@ public static partial class Oleacc
|
||||||
/// <param name="dwUtilityState">
|
/// <param name="dwUtilityState">
|
||||||
/// <para>Type: <c>DWORD</c></para>
|
/// <para>Type: <c>DWORD</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// The new settings for the system values indicated by dwUtilityStateMask. This parameter can be zero to reset the system values, or
|
/// The new settings for the system values indicated by dwUtilityStateMask. This parameter can be zero to reset the system values, or a
|
||||||
/// a combination of the following values.
|
/// combination of the following values.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <list type="table">
|
/// <list type="table">
|
||||||
/// <listheader>
|
/// <listheader>
|
||||||
|
@ -548,8 +658,8 @@ public static partial class Oleacc
|
||||||
/// <item>
|
/// <item>
|
||||||
/// <term>ANRUS_PRIORITY_AUDIO_ACTIVE 0x0000004</term>
|
/// <term>ANRUS_PRIORITY_AUDIO_ACTIVE 0x0000004</term>
|
||||||
/// <term>
|
/// <term>
|
||||||
/// The AT application is relying on audio (such as text-to-speech) to convey essential information to the user and should remain
|
/// The AT application is relying on audio (such as text-to-speech) to convey essential information to the user and should remain audible
|
||||||
/// audible over other system sounds.
|
/// over other system sounds.
|
||||||
/// </term>
|
/// </term>
|
||||||
/// </item>
|
/// </item>
|
||||||
/// <item>
|
/// <item>
|
||||||
|
@ -570,8 +680,8 @@ public static partial class Oleacc
|
||||||
/// <para>Before it exits, an AT application should reset any system values that it previously set.</para>
|
/// <para>Before it exits, an AT application should reset any system values that it previously set.</para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function requires the calling process to have UIAccess or higher privileges. If the caller does not have the required
|
/// This function requires the calling process to have UIAccess or higher privileges. If the caller does not have the required
|
||||||
/// privileges, the call to <c>AccSetRunningUtilityState</c> fails and returns <c>E_ACCESSDENIED</c>. For more information, see
|
/// privileges, the call to <c>AccSetRunningUtilityState</c> fails and returns <c>E_ACCESSDENIED</c>. For more information, see Security
|
||||||
/// Security Considerations for Assistive Technologies and /MANIFESTUAC (Embeds UAC information in manifest).
|
/// Considerations for Assistive Technologies and /MANIFESTUAC (Embeds UAC information in manifest).
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>Examples</para>
|
/// <para>Examples</para>
|
||||||
/// <para>This code example shows how to call the <c>AccSetRunningUtilityState</c> function.</para>
|
/// <para>This code example shows how to call the <c>AccSetRunningUtilityState</c> function.</para>
|
||||||
|
@ -612,11 +722,11 @@ public static partial class Oleacc
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Server applications call this function when they contain a custom UI object that is similar to a system-provided object. Server
|
/// Server applications call this function when they contain a custom UI object that is similar to a system-provided object. Server
|
||||||
/// developers can call <c>CreateStdAccessibleObject</c> to override the IAccessible methods and properties as required to match
|
/// developers can call <c>CreateStdAccessibleObject</c> to override the IAccessible methods and properties as required to match their
|
||||||
/// their custom objects. Alternatively, server developers can use Dynamic Annotation to override specific properties without having
|
/// custom objects. Alternatively, server developers can use Dynamic Annotation to override specific properties without having to use
|
||||||
/// to use difficult subclassing techniques that <c>CreateStdAccessibleObject</c> requires. Server developers should still use
|
/// difficult subclassing techniques that <c>CreateStdAccessibleObject</c> requires. Server developers should still use
|
||||||
/// <c>CreateStdAccessibleObject</c> for structural changes, such as hiding a child element or creating a placeholder child element.
|
/// <c>CreateStdAccessibleObject</c> for structural changes, such as hiding a child element or creating a placeholder child element. This
|
||||||
/// This approach saves server developers the work of fully implementing all of the <c>IAccessible</c> properties and methods.
|
/// approach saves server developers the work of fully implementing all of the <c>IAccessible</c> properties and methods.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function is similar to CreateStdAccessibleProxy, except that <c>CreateStdAccessibleProxy</c> allows you to specify the class
|
/// This function is similar to CreateStdAccessibleProxy, except that <c>CreateStdAccessibleProxy</c> allows you to specify the class
|
||||||
|
@ -639,9 +749,9 @@ public static partial class Oleacc
|
||||||
/// <param name="pClassName">
|
/// <param name="pClassName">
|
||||||
/// <para>Type: <c>LPCTSTR</c></para>
|
/// <para>Type: <c>LPCTSTR</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Pointer to a null-terminated string of the class name of a system-provided user interface element for which an accessible object
|
/// Pointer to a null-terminated string of the class name of a system-provided user interface element for which an accessible object is
|
||||||
/// is created. The window class name is one of the common controls (defined in Comctl32.dll), predefined controls (defined in
|
/// created. The window class name is one of the common controls (defined in Comctl32.dll), predefined controls (defined in User32.dll),
|
||||||
/// User32.dll), or window elements.
|
/// or window elements.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="idObject">
|
/// <param name="idObject">
|
||||||
|
@ -669,11 +779,11 @@ public static partial class Oleacc
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Server applications call this function when they contain a custom control that is similar to a system-provided control. Server
|
/// Server applications call this function when they contain a custom control that is similar to a system-provided control. Server
|
||||||
/// applications can call <c>CreateStdAccessibleProxy</c> to override the IAccessible methods and properties as required to match
|
/// applications can call <c>CreateStdAccessibleProxy</c> to override the IAccessible methods and properties as required to match their
|
||||||
/// their custom controls. Alternatively, server developers can use Dynamic Annotation to override specific properties without having
|
/// custom controls. Alternatively, server developers can use Dynamic Annotation to override specific properties without having to use
|
||||||
/// to use difficult subclassing techniques that were required with <c>CreateStdAccessibleProxy</c>. Server developers should still
|
/// difficult subclassing techniques that were required with <c>CreateStdAccessibleProxy</c>. Server developers should still use
|
||||||
/// use <c>CreateStdAccessibleProxy</c> for structural changes, such as hiding a child element or creating a placeholder child
|
/// <c>CreateStdAccessibleProxy</c> for structural changes, such as hiding a child element or creating a placeholder child element. This
|
||||||
/// element. This approach saves server developers the work of fully implementing all of the <c>IAccessible</c> properties and methods.
|
/// approach saves server developers the work of fully implementing all of the <c>IAccessible</c> properties and methods.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// This function is similar to CreateStdAccessibleObject, except that <c>CreateStdAccessibleObject</c> always uses the class name
|
/// This function is similar to CreateStdAccessibleObject, except that <c>CreateStdAccessibleObject</c> always uses the class name
|
||||||
|
@ -682,8 +792,8 @@ public static partial class Oleacc
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Use <c>CreateStdAccessibleProxy</c> to create an accessible object for a user interface element that is superclassed. When a user
|
/// Use <c>CreateStdAccessibleProxy</c> to create an accessible object for a user interface element that is superclassed. When a user
|
||||||
/// interface element is superclassed, an application creates a custom control with a window class name different from the predefined
|
/// interface element is superclassed, an application creates a custom control with a window class name different from the predefined
|
||||||
/// control on which it is based. Because the class name associated with the hwnd parameter is the superclass window class name,
|
/// control on which it is based. Because the class name associated with the hwnd parameter is the superclass window class name, specify
|
||||||
/// specify the base class name (the system class name on which the superclassed control is based) in pszClassName.
|
/// the base class name (the system class name on which the superclassed control is based) in pszClassName.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-createstdaccessibleproxya HRESULT CreateStdAccessibleProxyA(
|
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-createstdaccessibleproxya HRESULT CreateStdAccessibleProxyA(
|
||||||
|
@ -727,26 +837,25 @@ public static partial class Oleacc
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// In previous versions of the operating system, a process could open another process (to access its memory, for example) using
|
/// In previous versions of the operating system, a process could open another process (to access its memory, for example) using
|
||||||
/// <c>OpenProcess</c>. This function succeeds if the caller has appropriate privileges; usually the caller and target process must
|
/// <c>OpenProcess</c>. This function succeeds if the caller has appropriate privileges; usually the caller and target process must be
|
||||||
/// be the same user.
|
/// the same user.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// On Windows Vista, however, <c>OpenProcess</c> fails in the scenario where the caller has UIAccess, and the target process is
|
/// On Windows Vista, however, <c>OpenProcess</c> fails in the scenario where the caller has UIAccess, and the target process is
|
||||||
/// elevated. In this case, the owner of the target process is in the Administrators group, but the calling process is running with
|
/// elevated. In this case, the owner of the target process is in the Administrators group, but the calling process is running with the
|
||||||
/// the restricted token, so does not have membership in this group, and is denied access to the elevated process. If the caller has
|
/// restricted token, so does not have membership in this group, and is denied access to the elevated process. If the caller has
|
||||||
/// UIAccess, however, they can use a windows hook to inject code into the target process, and from within the target process, send a
|
/// UIAccess, however, they can use a windows hook to inject code into the target process, and from within the target process, send a
|
||||||
/// handle back to the caller.
|
/// handle back to the caller.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// <c>GetProcessHandleFromHwnd</c> is a convenience function that uses this technique to obtain the handle of the process that owns
|
/// <c>GetProcessHandleFromHwnd</c> is a convenience function that uses this technique to obtain the handle of the process that owns the
|
||||||
/// the specified HWND. Note that it only succeeds in cases where the caller and target process are running as the same user. The
|
/// specified HWND. Note that it only succeeds in cases where the caller and target process are running as the same user. The returned
|
||||||
/// returned handle has the following privileges: PROCESS_DUP_HANDLE | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE |
|
/// handle has the following privileges: PROCESS_DUP_HANDLE | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | SYNCHRONIZE. If
|
||||||
/// SYNCHRONIZE. If other privileges are required, it may be necessary to implement the hooking technique explicitly instead of using
|
/// other privileges are required, it may be necessary to implement the hooking technique explicitly instead of using this function.
|
||||||
/// this function.
|
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
// https://docs.microsoft.com/en-us/windows/desktop/WinAuto/getprocesshandlefromhwnd HANDLE WINAPI GetProcessHandleFromHwnd( _In_
|
// https://docs.microsoft.com/en-us/windows/desktop/WinAuto/getprocesshandlefromhwnd HANDLE WINAPI GetProcessHandleFromHwnd( _In_ HWND
|
||||||
// HWND hwnd );
|
// hwnd );
|
||||||
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
||||||
[PInvokeData("", MSDNShortId = "173579d2-c930-402c-81c7-761b063b5b51")]
|
[PInvokeData("", MSDNShortId = "173579d2-c930-402c-81c7-761b063b5b51")]
|
||||||
public static extern HPROCESS GetProcessHandleFromHwnd(HWND hwnd);
|
public static extern HPROCESS GetProcessHandleFromHwnd(HWND hwnd);
|
||||||
|
@ -766,8 +875,8 @@ public static partial class Oleacc
|
||||||
/// <param name="cchRoleMax">
|
/// <param name="cchRoleMax">
|
||||||
/// <para>Type: <c>UINT</c></para>
|
/// <para>Type: <c>UINT</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// The size of the buffer that is pointed to by the lpszRole parameter. For ANSI strings, this value is measured in bytes; for
|
/// The size of the buffer that is pointed to by the lpszRole parameter. For ANSI strings, this value is measured in bytes; for Unicode
|
||||||
/// Unicode strings, it is measured in characters.
|
/// strings, it is measured in characters.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <returns>
|
/// <returns>
|
||||||
|
@ -799,8 +908,8 @@ public static partial class Oleacc
|
||||||
/// <param name="lpszState">
|
/// <param name="lpszState">
|
||||||
/// <para>Type: <c>LPTSTR</c></para>
|
/// <para>Type: <c>LPTSTR</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Address of a buffer that receives the state text string. If this parameter is <c>NULL</c>, the function returns the state
|
/// Address of a buffer that receives the state text string. If this parameter is <c>NULL</c>, the function returns the state string's
|
||||||
/// string's length, not including the null character.
|
/// length, not including the null character.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="cchState">
|
/// <param name="cchState">
|
||||||
|
@ -813,13 +922,13 @@ public static partial class Oleacc
|
||||||
/// <returns>
|
/// <returns>
|
||||||
/// <para>Type: <c>UINT</c></para>
|
/// <para>Type: <c>UINT</c></para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// If successful, and if lpszStateBit is non- <c>NULL</c>, the return value is the number of bytes (ANSI strings) or characters
|
/// If successful, and if lpszStateBit is non- <c>NULL</c>, the return value is the number of bytes (ANSI strings) or characters (Unicode
|
||||||
/// (Unicode strings) that are copied into the buffer, not including the null-terminated character. If lpszStateBit is <c>NULL</c>,
|
/// strings) that are copied into the buffer, not including the null-terminated character. If lpszStateBit is <c>NULL</c>, the return
|
||||||
/// the return value represents the string's length, not including the null character.
|
/// value represents the string's length, not including the null character.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// If the string resource does not exist, or if the lpszStateBit parameter is not a valid pointer, the return value is zero (0). To
|
/// If the string resource does not exist, or if the lpszStateBit parameter is not a valid pointer, the return value is zero (0). To get
|
||||||
/// get extended error information, call GetLastError.
|
/// extended error information, call GetLastError.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </returns>
|
/// </returns>
|
||||||
/// <remarks>This function accepts only one state bit at a time, not a bitmask.</remarks>
|
/// <remarks>This function accepts only one state bit at a time, not a bitmask.</remarks>
|
||||||
|
@ -871,24 +980,24 @@ public static partial class Oleacc
|
||||||
/// </returns>
|
/// </returns>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Servers call this function only when handling the WM_GETOBJECT message. For an overview of how <c>LresultFromObject</c> is
|
/// Servers call this function only when handling the WM_GETOBJECT message. For an overview of how <c>LresultFromObject</c> is related to
|
||||||
/// related to <c>WM_GETOBJECT</c>, see How WM_GETOBJECT Works.
|
/// <c>WM_GETOBJECT</c>, see How WM_GETOBJECT Works.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// <c>LresultFromObject</c> increments the object's reference count. If you are not storing the interface pointer passed to the
|
/// <c>LresultFromObject</c> increments the object's reference count. If you are not storing the interface pointer passed to the function
|
||||||
/// function (that is, you create a new interface pointer for the object each time WM_GETOBJECT is received), call the object's
|
/// (that is, you create a new interface pointer for the object each time WM_GETOBJECT is received), call the object's Release method to
|
||||||
/// Release method to decrement the reference count back to one. Then the client calls <c>Release</c> and the object is destroyed.
|
/// decrement the reference count back to one. Then the client calls <c>Release</c> and the object is destroyed. For more information,
|
||||||
/// For more information, see How to Handle WM_GETOBJECT.
|
/// see How to Handle WM_GETOBJECT.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// Each time a server processes WM_GETOBJECT for a specific object, it calls <c>LresultFromObject</c> to obtain a new reference to
|
/// Each time a server processes WM_GETOBJECT for a specific object, it calls <c>LresultFromObject</c> to obtain a new reference to the
|
||||||
/// the object. Servers do not save the reference returned from <c>LresultFromObject</c> from one instance of processing
|
/// object. Servers do not save the reference returned from <c>LresultFromObject</c> from one instance of processing <c>WM_GETOBJECT</c>
|
||||||
/// <c>WM_GETOBJECT</c> to use as the message's return value when processing subsequent <c>WM_GETOBJECT</c> messages for the same
|
/// to use as the message's return value when processing subsequent <c>WM_GETOBJECT</c> messages for the same object. This causes the
|
||||||
/// object. This causes the client to receive an error.
|
/// client to receive an error.
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-lresultfromobject LRESULT LresultFromObject( REFIID riid,
|
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-lresultfromobject LRESULT LresultFromObject( REFIID riid, WPARAM
|
||||||
// WPARAM wParam, LPUNKNOWN punk );
|
// wParam, LPUNKNOWN punk );
|
||||||
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
||||||
[PInvokeData("oleacc.h", MSDNShortId = "c219a4cd-7a8f-4942-8975-b3d823b6497f")]
|
[PInvokeData("oleacc.h", MSDNShortId = "c219a4cd-7a8f-4942-8975-b3d823b6497f")]
|
||||||
public static extern IntPtr LresultFromObject(in Guid riid, IntPtr wParam, [In, MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 0)] object punk);
|
public static extern IntPtr LresultFromObject(in Guid riid, IntPtr wParam, [In, MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 0)] object punk);
|
||||||
|
@ -946,8 +1055,8 @@ public static partial class Oleacc
|
||||||
/// </item>
|
/// </item>
|
||||||
/// </list>
|
/// </list>
|
||||||
/// </returns>
|
/// </returns>
|
||||||
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-objectfromlresult HRESULT ObjectFromLresult( LRESULT
|
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-objectfromlresult HRESULT ObjectFromLresult( LRESULT lResult,
|
||||||
// lResult, REFIID riid, WPARAM wParam, void **ppvObject );
|
// REFIID riid, WPARAM wParam, void **ppvObject );
|
||||||
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
||||||
[PInvokeData("oleacc.h", MSDNShortId = "97e766fd-e142-40d1-aba7-408b45d33426")]
|
[PInvokeData("oleacc.h", MSDNShortId = "97e766fd-e142-40d1-aba7-408b45d33426")]
|
||||||
public static extern HRESULT ObjectFromLresult(IntPtr lResult, in Guid riid, IntPtr wParam, [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 1)] out object ppvObject);
|
public static extern HRESULT ObjectFromLresult(IntPtr lResult, in Guid riid, IntPtr wParam, [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 1)] out object ppvObject);
|
||||||
|
@ -979,8 +1088,8 @@ public static partial class Oleacc
|
||||||
/// </item>
|
/// </item>
|
||||||
/// </list>
|
/// </list>
|
||||||
/// </returns>
|
/// </returns>
|
||||||
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-windowfromaccessibleobject HRESULT
|
// https://docs.microsoft.com/en-us/windows/desktop/api/oleacc/nf-oleacc-windowfromaccessibleobject HRESULT WindowFromAccessibleObject(
|
||||||
// WindowFromAccessibleObject( IAccessible *, HWND *phwnd );
|
// IAccessible *, HWND *phwnd );
|
||||||
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
[DllImport(Lib.Oleacc, SetLastError = false, ExactSpelling = true)]
|
||||||
[PInvokeData("oleacc.h", MSDNShortId = "b3a3d3dd-ef84-4323-ab6d-6331d8389f11")]
|
[PInvokeData("oleacc.h", MSDNShortId = "b3a3d3dd-ef84-4323-ab6d-6331d8389f11")]
|
||||||
public static extern HRESULT WindowFromAccessibleObject([In] IAccessible arg1, out HWND phwnd);
|
public static extern HRESULT WindowFromAccessibleObject([In] IAccessible arg1, out HWND phwnd);
|
||||||
|
|
|
@ -1,38 +1,6 @@
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
namespace Vanara.PInvoke;
|
namespace Vanara.PInvoke;
|
||||||
|
|
||||||
public static partial class ComCtl32
|
public static partial class ComCtl32
|
||||||
{
|
{
|
||||||
/// <summary>Contains information about a balloon tip associated with a button control.</summary>
|
// Moved all content to WinUser.Edit.cs
|
||||||
[PInvokeData("Commctrl.h", MSDNShortId = "bb775466")]
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
|
||||||
public struct EDITBALLOONTIP
|
|
||||||
{
|
|
||||||
/// <summary>A DWORD that contains the size, in bytes, of the structure.</summary>
|
|
||||||
public int cbStruct;
|
|
||||||
|
|
||||||
/// <summary>A pointer to a Unicode string that contains the title of the balloon tip.</summary>
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)]
|
|
||||||
public string pszTitle;
|
|
||||||
|
|
||||||
/// <summary>A pointer to a Unicode string that contains the balloon tip text.</summary>
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)]
|
|
||||||
public string pszText;
|
|
||||||
|
|
||||||
/// <summary>A value of type INT that specifies the type of icon to associate with the balloon tip.</summary>
|
|
||||||
public ToolTipIcon ttiIcon;
|
|
||||||
|
|
||||||
/// <summary>Initializes a new instance of the <see cref="EDITBALLOONTIP"/> struct.</summary>
|
|
||||||
/// <param name="title">The title.</param>
|
|
||||||
/// <param name="text">The text.</param>
|
|
||||||
/// <param name="icon">The icon.</param>
|
|
||||||
public EDITBALLOONTIP(string title, string text, ToolTipIcon icon = ToolTipIcon.TTI_NONE)
|
|
||||||
{
|
|
||||||
cbStruct = Marshal.SizeOf(typeof(EDITBALLOONTIP));
|
|
||||||
pszText = text;
|
|
||||||
pszTitle = title;
|
|
||||||
ttiIcon = icon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -3,6 +3,7 @@ using System.Runtime.InteropServices;
|
||||||
using System.Runtime.InteropServices.ComTypes;
|
using System.Runtime.InteropServices.ComTypes;
|
||||||
using static Vanara.PInvoke.Imm32;
|
using static Vanara.PInvoke.Imm32;
|
||||||
using static Vanara.PInvoke.Ole32;
|
using static Vanara.PInvoke.Ole32;
|
||||||
|
using static Vanara.PInvoke.UIAutomationCore;
|
||||||
using static Vanara.PInvoke.User32;
|
using static Vanara.PInvoke.User32;
|
||||||
|
|
||||||
namespace Vanara.PInvoke;
|
namespace Vanara.PInvoke;
|
||||||
|
|
|
@ -15,8 +15,9 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\Core\Vanara.Core.csproj" />
|
<ProjectReference Include="..\..\Core\Vanara.Core.csproj" />
|
||||||
<ProjectReference Include="..\Imm32\Vanara.PInvoke.Imm32.csproj" />
|
<ProjectReference Include="..\Imm32\Vanara.PInvoke.Imm32.csproj" />
|
||||||
<ProjectReference Include="..\Shared\Vanara.PInvoke.Shared.csproj" />
|
|
||||||
<ProjectReference Include="..\Ole\Vanara.PInvoke.Ole.csproj" />
|
<ProjectReference Include="..\Ole\Vanara.PInvoke.Ole.csproj" />
|
||||||
|
<ProjectReference Include="..\Shared\Vanara.PInvoke.Shared.csproj" />
|
||||||
|
<ProjectReference Include="..\UIAutomation\Vanara.PInvoke.UIAutomation.csproj" />
|
||||||
<ProjectReference Include="..\User32\Vanara.PInvoke.User32.csproj" />
|
<ProjectReference Include="..\User32\Vanara.PInvoke.User32.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
<ProjectExtensions>
|
||||||
|
<SupportedDlls>uiautomationcore.dll</SupportedDlls>
|
||||||
|
</ProjectExtensions>
|
||||||
|
<PropertyGroup>
|
||||||
|
<Description>PInvoke API (methods, structures and constants) imported from Windows UIAutomationCore.dll.</Description>
|
||||||
|
<AssemblyName>Vanara.PInvoke.UIAutomation</AssemblyName>
|
||||||
|
<AssemblyTitle>$(AssemblyName)</AssemblyTitle>
|
||||||
|
<PackageId>$(AssemblyName)</PackageId>
|
||||||
|
<PackageTags>pinvoke;vanara;net-extensions;interop;UIAutomation;UIAutomationCore</PackageTags>
|
||||||
|
<PackageReleaseNotes />
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Condition=" $(TargetFramework.StartsWith('net4')) ">
|
||||||
|
<Reference Include="Accessibility" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Core\Vanara.Core.csproj" />
|
||||||
|
<ProjectReference Include="..\Accessibility\Vanara.PInvoke.Accessibility.csproj" />
|
||||||
|
<ProjectReference Include="..\Shared\Vanara.PInvoke.Shared.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -536,6 +536,9 @@ public class VisibleWindow : WindowBase
|
||||||
return screenRect;
|
return screenRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>Closes the window and destroys the handle.</summary>
|
||||||
|
public virtual void Close() => Dispose();
|
||||||
|
|
||||||
/// <summary>Sets input focus to the window.</summary>
|
/// <summary>Sets input focus to the window.</summary>
|
||||||
public void Focus() => Win32Error.ThrowLastErrorIf(SetFocus(Handle), h => h.IsNull);
|
public void Focus() => Win32Error.ThrowLastErrorIf(SetFocus(Handle), h => h.IsNull);
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -294,6 +294,11 @@ public class WindowBase : MarshalByRefObject, IDisposable, IWindowInstance, IWin
|
||||||
/// <returns>The return value is the result of the message processing and depends on the message.</returns>
|
/// <returns>The return value is the result of the message processing and depends on the message.</returns>
|
||||||
protected virtual IntPtr WndProc(HWND hwnd, uint msg, IntPtr wParam, IntPtr lParam) => DefWndProc(hwnd, msg, wParam, lParam);
|
protected virtual IntPtr WndProc(HWND hwnd, uint msg, IntPtr wParam, IntPtr lParam) => DefWndProc(hwnd, msg, wParam, lParam);
|
||||||
|
|
||||||
|
/// <summary>Performs an implicit conversion from <see cref="WindowBase"/> to <see cref="HWND"/>.</summary>
|
||||||
|
/// <param name="w">The <see cref="WindowBase"/> instance.</param>
|
||||||
|
/// <returns>The result of the conversion.</returns>
|
||||||
|
public static implicit operator HWND(WindowBase w) => w.Handle;
|
||||||
|
|
||||||
[DebuggerStepThrough]
|
[DebuggerStepThrough]
|
||||||
private void CheckDetached()
|
private void CheckDetached()
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
<PropertyGroup>
|
||||||
|
<AssemblyName>UnitTest.PInvoke.MsftEdit</AssemblyName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<COMReference Include="UIA">
|
||||||
|
<WrapperTool>tlbimp</WrapperTool>
|
||||||
|
<VersionMinor>0</VersionMinor>
|
||||||
|
<VersionMajor>1</VersionMajor>
|
||||||
|
<Guid>930299ce-9965-4dec-b0f4-a54848d4b667</Guid>
|
||||||
|
<Lcid>0</Lcid>
|
||||||
|
<Isolated>false</Isolated>
|
||||||
|
<EmbedInteropTypes>true</EmbedInteropTypes>
|
||||||
|
</COMReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\..\PInvoke\MsftEdit\Vanara.PInvoke.MsftEdit.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,71 @@
|
||||||
|
using NUnit.Framework;
|
||||||
|
using NUnit.Framework.Internal;
|
||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using static Vanara.PInvoke.Kernel32;
|
||||||
|
using static Vanara.PInvoke.User32;
|
||||||
|
using static Vanara.PInvoke.MsftEdit;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using static Vanara.PInvoke.Macros;
|
||||||
|
using System.Text;
|
||||||
|
using Vanara.InteropServices;
|
||||||
|
|
||||||
|
namespace Vanara.PInvoke.Tests;
|
||||||
|
[TestFixture]
|
||||||
|
public class MsftEditTests
|
||||||
|
{
|
||||||
|
[OneTimeSetUp]
|
||||||
|
public void _Setup()
|
||||||
|
{
|
||||||
|
MsftEditThreadInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
[OneTimeTearDown]
|
||||||
|
public void _TearDown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void IRichEditOleTest()
|
||||||
|
{
|
||||||
|
SafeHWND hEdit = null;
|
||||||
|
VisibleWindow.Run(WndProc, System.Reflection.MethodBase.GetCurrentMethod().Name);
|
||||||
|
|
||||||
|
IntPtr WndProc(HWND hwnd, uint msg, IntPtr wParam, IntPtr lParam)
|
||||||
|
{
|
||||||
|
System.Diagnostics.Debug.WriteLine($"TestWndProc={(WindowMessage)msg}");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
switch (msg)
|
||||||
|
{
|
||||||
|
case (uint)WindowMessage.WM_CREATE:
|
||||||
|
GetClientRect(hwnd, out var rc);
|
||||||
|
hEdit = CreateWindowEx(0, MSFTEDIT_CLASS, "Type here.", (WindowStyles)EditStyle.ES_MULTILINE | WindowStyles.WS_VISIBLE | WindowStyles.WS_CHILD | WindowStyles.WS_BORDER | WindowStyles.WS_TABSTOP, 0, 0, rc.Width, rc.Height, hwnd);
|
||||||
|
IRichEditOle iEdit = RichEdit_GetOleInterface(hEdit);
|
||||||
|
Assert.That(iEdit, Is.Not.Null);
|
||||||
|
Assert.That(iEdit.GetLinkCount(), Is.Zero);
|
||||||
|
ITextDocument2 iDoc = iEdit as ITextDocument2;
|
||||||
|
Assert.That(iDoc, Is.Not.Null);
|
||||||
|
Assert.That(iDoc.GetDefaultTabStop(), Is.Not.Zero);
|
||||||
|
iDoc.Open(TestCaseSources.TempDirWhack + "Test.rtf");
|
||||||
|
Assert.That(iDoc.GetName(), Is.SamePath(TestCaseSources.TempDirWhack + "Test.rtf"));
|
||||||
|
Assert.That(iDoc.GetSaved(), Is.EqualTo(tomConstants.tomTrue));
|
||||||
|
var iFont = iDoc.GetDocumentFont();
|
||||||
|
Assert.That(iFont, Is.Not.Null);
|
||||||
|
TestContext.WriteLine($"Font: {iFont.GetName()}, {iFont.GetSize()}, {iFont.GetForeColor():X}");
|
||||||
|
break;
|
||||||
|
case (uint)WindowMessage.WM_SIZE:
|
||||||
|
if (hEdit is not null)
|
||||||
|
MoveWindow(hEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), true);
|
||||||
|
return default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TestContext.Error.WriteLine(ex.ToString());
|
||||||
|
}
|
||||||
|
return DefWindowProc(hwnd, msg, wParam, lParam);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
44
Vanara.sln
44
Vanara.sln
|
@ -419,7 +419,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vanara.PInvoke.Avrt", "PInv
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lz32", "UnitTests\PInvoke\Lz32\Lz32.csproj", "{3A6782D5-E72D-4546-81D6-EBA19A08D9E3}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lz32", "UnitTests\PInvoke\Lz32\Lz32.csproj", "{3A6782D5-E72D-4546-81D6-EBA19A08D9E3}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vanara.PInvoke.MsftEdit", "PInvoke\MsftEdit\Vanara.PInvoke.MsftEdit.csproj", "{C62629F4-BA1F-4E21-B253-55864BDA0200}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vanara.PInvoke.MsftEdit", "PInvoke\MsftEdit\Vanara.PInvoke.MsftEdit.csproj", "{C62629F4-BA1F-4E21-B253-55864BDA0200}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MsftEdit", "UnitTests\PInovke\MsftEdit\MsftEdit.csproj", "{BD978D87-063B-461F-9ECB-B67F962F54D6}"
|
||||||
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vanara.PInvoke.UIAutomation", "PInvoke\UIAutomation\Vanara.PInvoke.UIAutomation.csproj", "{7729B4B9-4837-49D5-91CC-5BB66E23A376}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
@ -3689,6 +3693,42 @@ Global
|
||||||
{C62629F4-BA1F-4E21-B253-55864BDA0200}.Release|x64.Build.0 = Release|x64
|
{C62629F4-BA1F-4E21-B253-55864BDA0200}.Release|x64.Build.0 = Release|x64
|
||||||
{C62629F4-BA1F-4E21-B253-55864BDA0200}.Release|x86.ActiveCfg = Release|x86
|
{C62629F4-BA1F-4E21-B253-55864BDA0200}.Release|x86.ActiveCfg = Release|x86
|
||||||
{C62629F4-BA1F-4E21-B253-55864BDA0200}.Release|x86.Build.0 = Release|x86
|
{C62629F4-BA1F-4E21-B253-55864BDA0200}.Release|x86.Build.0 = Release|x86
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.DebugNoTests|Any CPU.ActiveCfg = DebugNoTests|Any CPU
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.DebugNoTests|Any CPU.Build.0 = DebugNoTests|Any CPU
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.DebugNoTests|x64.ActiveCfg = DebugNoTests|x64
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.DebugNoTests|x64.Build.0 = DebugNoTests|x64
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.DebugNoTests|x86.ActiveCfg = DebugNoTests|x86
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.DebugNoTests|x86.Build.0 = DebugNoTests|x86
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Release|x64.Build.0 = Release|x64
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6}.Release|x86.Build.0 = Release|x86
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.DebugNoTests|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.DebugNoTests|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.DebugNoTests|x64.ActiveCfg = Debug|x64
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.DebugNoTests|x64.Build.0 = Debug|x64
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.DebugNoTests|x86.ActiveCfg = Debug|x86
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.DebugNoTests|x86.Build.0 = Debug|x86
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Release|x64.Build.0 = Release|x64
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376}.Release|x86.Build.0 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -3878,6 +3918,8 @@ Global
|
||||||
{20C67C75-BCD0-4AFC-8C69-32C11450D7FA} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
|
{20C67C75-BCD0-4AFC-8C69-32C11450D7FA} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
|
||||||
{3A6782D5-E72D-4546-81D6-EBA19A08D9E3} = {385CAD2D-0A5E-4F80-927B-D5499D126B90}
|
{3A6782D5-E72D-4546-81D6-EBA19A08D9E3} = {385CAD2D-0A5E-4F80-927B-D5499D126B90}
|
||||||
{C62629F4-BA1F-4E21-B253-55864BDA0200} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
|
{C62629F4-BA1F-4E21-B253-55864BDA0200} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
|
||||||
|
{BD978D87-063B-461F-9ECB-B67F962F54D6} = {385CAD2D-0A5E-4F80-927B-D5499D126B90}
|
||||||
|
{7729B4B9-4837-49D5-91CC-5BB66E23A376} = {212ABBD0-B724-4CFA-9D6D-E3891547FA90}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {543FAC75-2AF1-4EF1-9609-B242B63FEED4}
|
SolutionGuid = {543FAC75-2AF1-4EF1-9609-B242B63FEED4}
|
||||||
|
|
Loading…
Reference in New Issue