Wpf.Ui.Tray Represents the implementation of icon in the tray menu as . <tray:NotifyIcon Grid.Row="0" FocusOnLeftClick="True" Icon="pack://application:,,,/Assets/wpfui.png" MenuOnRightClick="True" TooltipText="WPF UI"> <tray:NotifyIcon.Menu> <ContextMenu ItemsSource = "{Binding ViewModel.TrayMenuItems, Mode=OneWay}" /> </tray:NotifyIcon.Menu> </tray:NotifyIcon> Gets or sets a value indicating whether the control is disposed. Gets a value indicating whether the icon is registered in the tray menu. Identifies the dependency property. Identifies the dependency property. Identifies the dependency property. Identifies the dependency property. Identifies the dependency property. Identifies the dependency property. Gets or sets a value indicating whether to show the on single right click. Gets or sets a value indicating whether to focus the on single left click. Gets or sets the context menu. Identifies the routed event. Identifies the routed event. Identifies the routed event. Identifies the routed event. Identifies the routed event. Identifies the routed event. Triggered when the user left-clicks on the . Triggered when the user double-clicks the with the left mouse button. Triggered when the user right-clicks on the . Triggered when the user double-clicks the with the right mouse button. Triggered when the user middle-clicks on the . Triggered when the user double-clicks the with the middle mouse button. Finalizes an instance of the class. Tries to register the in the shell. Tries to unregister the from the shell. This virtual method is called when is left-clicked and it raises the . This virtual method is called when is left-clicked and it raises the . This virtual method is called when is left-clicked and it raises the . This virtual method is called when is left-clicked and it raises the . This virtual method is called when is left-clicked and it raises the . This virtual method is called when is left-clicked and it raises the . If disposing equals , the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals , the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. If disposing equals , dispose all managed and unmanaged resources. This virtual method is called when of is changed. New context menu object. Facilitates the creation of a hIcon. Tries to take the icon pointer assigned to the application. Tries to allocate an icon to memory and fetch a pointer to it. Image source. Represents an icon in the tray menu. Gets or sets the notify icon shell data. Gets or sets a value indicating whether the icon is currently registered in the tray area. Gets or sets the Shell identifier of the icon. Gets or sets the ToolTip text displayed when the mouse pointer rests on a notification area icon. Gets or sets the of the tray icon. Gets or sets the hWnd that will receive messages for the icon. Gets or sets the menu displayed when the icon is right-clicked. Gets or sets a value indicating whether to focus the on single left click. Gets or sets a value indicating whether to show the on single right click. A callback function that processes messages sent to a window. The WNDPROC type defines a pointer to this callback function. Tries to register the in the shell. Tries to register the in the shell. Tries to modify the icon of the in the shell. Tries to modify the tooltip of the in the shell. Tries to remove the from the shell. Represents a contract with a service that provides methods for displaying the icon and menu in the tray area. Gets the notify icon id. Gets a value indicating whether the notify icon is registered in the tray. Gets or sets the ToolTip text displayed when the mouse pointer rests on a notification area icon. Gets or sets the context menu displayed after clicking the icon. Gets or sets the of the tray icon. Tries to register the Notify Icon in the shell. Tries to unregister the Notify Icon from the shell. Sets parent window of the tray icon. Internal service for Notify Icon management. Whether the control is disposed. Gets or sets a set of information for Shell32 to manipulate the icon. Occurs when the application theme is changing. Focus the application main window. Shows the menu if it has been added. This virtual method is called when tray icon is left-clicked and it raises the left click . This virtual method is called when tray icon is left-clicked and it raises the left double click . This virtual method is called when tray icon is left-clicked and it raises the right click . This virtual method is called when tray icon is left-clicked and it raises the right double click . This virtual method is called when tray icon is left-clicked and it raises the middle click . This virtual method is called when tray icon is left-clicked and it raises the middle double click . If disposing equals , the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals , the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. If disposing equals , dispose all managed and unmanaged resources. Windows kernel module. The Windows UI provides users with access to a wide variety of objects necessary to run applications and manage the operating system. DATAOBJ_GET_ITEM_FLAGS. DOGIF_*. Shell_NotifyIcon messages. NIM_* Shell_NotifyIcon flags. NIF_* Vista only. Vista only. The size of this structure, in bytes. A handle to the window that receives notifications associated with an icon in the notification area. The application-defined identifier of the taskbar icon. The Shell uses either (hWnd plus uID) or guidItem to identify which icon to operate on when Shell_NotifyIcon is invoked. You can have multiple icons associated with a single hWnd by assigning each a different uID. If guidItem is specified, uID is ignored. Flags that either indicate which of the other members of the structure contain valid data or provide additional information to the tooltip as to how it should display. 0x00000001. The uCallbackMessage member is valid. 0x00000002. The hIcon member is valid. 0x00000004. The szTip member is valid. The state of the icon. There are two flags that can be set independently. NIS_HIDDEN = 1. The icon is hidden. NIS_SHAREDICON = 2. The icon is shared. Prior to Vista this was a union of uTimeout and uVersion. As of Vista, uTimeout has been deprecated. Sets the User Model AppID for the current process, enabling Windows to retrieve this ID The string ID to be assigned Retrieves the User Model AppID that has been explicitly set for the current process via SetCurrentProcessExplicitAppUserModelID Out parameter that receives the string ID. An HRESULT indicating success (S_OK) or failure of the operation. If the function fails, the returned AppID is null. USER procedure declarations, constant definitions and macros. SetWindowPos options EnableMenuItem uEnable values, MF_* Possible return value for EnableMenuItem Menu item element. SCF_ISSECURE WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes Hit test returned error. Hit test returned transparent. On the screen background or on a dividing line between windows. In a client area. In a title bar. In a window menu or in a Close button in a child window. In a size box (same as HTSIZE). In a menu. In a horizontal scroll bar. In the vertical scroll bar. In a Minimize button. In a Maximize button. In the left border of a resizable window (the user can click the mouse to resize the window horizontally). In the right border of a resizable window (the user can click the mouse to resize the window horizontally). In the upper-horizontal border of a window. Window long flags. Sets a new extended window style. Sets a new application instance handle. Sets a new hWnd parent. Sets a new identifier of the child window. The window cannot be a top-level window. Sets a new window style. Sets the user data associated with the window. This data is intended for use by the application that created the window. Its value is initially zero. Sets a new address for the window procedure. You cannot change this attribute if the window does not belong to the same process as the calling thread. Sets new extra information that is private to the application, such as handles or pointers. Sets the return value of a message processed in the dialog box procedure. Sets the new address of the dialog box procedure. Window composition attributes. DWM window accent state. WCA window accent policy. CS_* MSGFLT_*. New in Vista. Realiased in Windows 7. Resets the window message filter for hWnd to the default. Any message allowed globally or process-wide will get through, but any message not included in those two categories, and which comes from a lower privileged process, will be blocked. Allows the message through the filter. This enables the message to be received by hWnd, regardless of the source of the message, even it comes from a lower privileged process. Blocks the message to be delivered to hWnd if it comes from a lower privileged process, unless the message is allowed process-wide by using the ChangeWindowMessageFilter function or globally. MSGFLTINFO. Win7 only. Window message values, WM_* This is the hard-coded message value used by WinForms for Shell_NotifyIcon. It's relatively safe to reuse. WindowStyle values, WS_* Window style extended values, WS_EX_* SystemMetrics. SM_* ShowWindow options Contains window class information. It is used with the and GetClassInfoEx functions. The size, in bytes, of this structure. Set this member to sizeof(WNDCLASSEX). Be sure to set this member before calling the GetClassInfoEx function. The class style(s). This member can be any combination of the Class Styles. A pointer to the window procedure. You must use the CallWindowProc function to call the window procedure. For more information, see WindowProc. The number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero. The number of extra bytes to allocate following the window instance. The system initializes the bytes to zero. If an application uses WNDCLASSEX to register a dialog box created by using the CLASS directive in the resource file, it must set this member to DLGWINDOWEXTRA. A handle to the instance that contains the window procedure for the class. A handle to the class icon. This member must be a handle to an icon resource. If this member is NULL, the system provides a default icon. A handle to the class cursor. This member must be a handle to a cursor resource. If this member is NULL, an application must explicitly set the cursor shape whenever the mouse moves into the application's window. A handle to the class background brush. This member can be a handle to the brush to be used for painting the background, or it can be a color value. Pointer to a null-terminated character string that specifies the resource name of the class menu, as the name appears in the resource file. If you use an integer to identify the menu, use the MAKEINTRESOURCE macro. If this member is NULL, windows belonging to this class have no default menu. A pointer to a null-terminated string or is an atom. If this parameter is an atom, it must be a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpszClassName; the high-order word must be zero. A handle to a small icon that is associated with the window class. If this member is NULL, the system searches the icon resource specified by the hIcon member for an icon of the appropriate size to use as the small icon. Delegate declaration that matches native WndProc signatures. Delegate declaration that matches native WndProc signatures. Delegate declaration that matches managed WndProc signatures. The ReleaseDC function releases a device context (DC), freeing it for use by other applications. The effect of the ReleaseDC function depends on the type of DC. It frees only common and window DCs. It has no effect on class or private DCs. A handle to the window whose DC is to be released. A handle to the DC to be released. The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero. Calculates the required size of the window rectangle, based on the desired size of the client rectangle. The window rectangle can then be passed to the CreateWindowEx function to create a window whose client area is the desired size. A pointer to a RECT structure that contains the coordinates of the top-left and bottom-right corners of the desired client area. The window style of the window whose required size is to be calculated. Note that you cannot specify the WS_OVERLAPPED style. Indicates whether the window has a menu. The extended window style of the window whose required size is to be calculated. If the function succeeds, the return value is nonzero. [Using the ChangeWindowMessageFilter function is not recommended, as it has process-wide scope. Instead, use the ChangeWindowMessageFilterEx function to control access to specific windows as needed. ChangeWindowMessageFilter may not be supported in future versions of Windows. Adds or removes a message from the User Interface Privilege Isolation(UIPI) message filter. The message to add to or remove from the filter. The action to be performed. One of the following values. if successful; otherwise, . To get extended error information, call Kernel32.GetLastError(). Modifies the User Interface Privilege Isolation (UIPI) message filter for a specified window. A handle to the window whose UIPI message filter is to be modified. The message that the message filter allows through or blocks. The action to be performed. Optional pointer to a structure. If the function succeeds, it returns ; otherwise, it returns . To get extended error information, call Kernel32.GetLastError(). Places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message. Unicode declaration for A handle to the window whose window procedure is to receive the message. The message to be posted. Additional message-specific information. Additional message-specific information.~ If the function succeeds, the return value is nonzero. Places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message. ANSI declaration for A handle to the window whose window procedure is to receive the message. The message to be posted. Additional message-specific information. Additional message-specific information.~ If the function succeeds, the return value is nonzero. Places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message. A handle to the window whose window procedure is to receive the message. The message to be posted. Additional message-specific information. Additional message-specific information.~ If the function succeeds, the return value is nonzero. Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message. A handle to the window whose window procedure will receive the message. The message to be sent. Additional message-specific information. Additional message-specific information.~ The return value specifies the result of the message processing; it depends on the message sent. Creates an overlapped, pop-up, or child window with an extended window style; otherwise, this function is identical to the CreateWindow function. For more information about creating a window and for full descriptions of the other parameters of CreateWindowEx, see CreateWindow. The extended window style of the window being created. A null-terminated string or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The window name. If the window style specifies a title bar, the window title pointed to by lpWindowName is displayed in the title bar. The style of the window being created. This parameter can be a combination of the window style values, plus the control styles indicated in the Remarks section. The initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. The initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. The width, in device units, of the window. For overlapped windows, nWidth is the window's width, in screen coordinates, or CW_USEDEFAULT. The height, in device units, of the window. For overlapped windows, nHeight is the window's height, in screen coordinates. If the nWidth parameter is set to CW_USEDEFAULT, the system ignores nHeight. A handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows. A handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. A handle to the instance of the module to be associated with the window. Pointer to a value to be passed to the window through the CREATESTRUCT structure (lpCreateParams member) pointed to by the lParam param of the WM_CREATE message. This message is sent to the created window by this function before it returns. If the function succeeds, the return value is a handle to the new window. Creates an overlapped, pop-up, or child window with an extended window style; otherwise, this function is identical to the CreateWindow function. For more information about creating a window and for full descriptions of the other parameters of CreateWindowEx, see CreateWindow. The extended window style of the window being created. A null-terminated string or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The window name. If the window style specifies a title bar, the window title pointed to by lpWindowName is displayed in the title bar. The style of the window being created. This parameter can be a combination of the window style values, plus the control styles indicated in the Remarks section. The initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. The initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. The width, in device units, of the window. For overlapped windows, nWidth is the window's width, in screen coordinates, or CW_USEDEFAULT. The height, in device units, of the window. For overlapped windows, nHeight is the window's height, in screen coordinates. If the nWidth parameter is set to CW_USEDEFAULT, the system ignores nHeight. A handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows. A handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, hMenu identifies the menu to be used with the window; it can be NULL if the class menu is to be used. A handle to the instance of the module to be associated with the window. Pointer to a value to be passed to the window through the CREATESTRUCT structure (lpCreateParams member) pointed to by the lParam param of the WM_CREATE message. This message is sent to the created window by this function before it returns. If the function succeeds, the return value is a handle to the new window. Registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function. Unicode declaration for A pointer to a structure. You must fill the structure with the appropriate class attributes before passing it to the function. If the function succeeds, the return value is a class atom that uniquely identifies the class being registered. Registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function. ANSI declaration for A pointer to a structure. You must fill the structure with the appropriate class attributes before passing it to the function. If the function succeeds, the return value is a class atom that uniquely identifies the class being registered. Registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function. A pointer to a structure. You must fill the structure with the appropriate class attributes before passing it to the function. If the function succeeds, the return value is a class atom that uniquely identifies the class being registered. Calls the default window procedure to provide default processing for any window messages that an application does not process. This function ensures that every message is processed. DefWindowProc is called with the same parameters received by the window procedure. Unicode declaration for A handle to the window procedure that received the message. The message. Additional message information. The content of this parameter depends on the value of the Msg parameter. Additional message information. The content of this parameter depends on the value of the Msg parameter.~ The return value is the result of the message processing and depends on the message. Calls the default window procedure to provide default processing for any window messages that an application does not process. This function ensures that every message is processed. DefWindowProc is called with the same parameters received by the window procedure. ANSI declaration for A handle to the window procedure that received the message. The message. Additional message information. The content of this parameter depends on the value of the Msg parameter. Additional message information. The content of this parameter depends on the value of the Msg parameter.~ The return value is the result of the message processing and depends on the message. Calls the default window procedure to provide default processing for any window messages that an application does not process. This function ensures that every message is processed. DefWindowProc is called with the same parameters received by the window procedure. A handle to the window procedure that received the message. The message. Additional message information. The content of this parameter depends on the value of the Msg parameter. Additional message information. The content of this parameter depends on the value of the Msg parameter.~ The return value is the result of the message processing and depends on the message. Retrieves information about the specified window. The function also retrieves the 32-bit (DWORD) value at the specified offset into the extra window memory. If you are retrieving a pointer or a handle, this function has been superseded by the function. Unicode declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Retrieves information about the specified window. The function also retrieves the 32-bit (DWORD) value at the specified offset into the extra window memory. If you are retrieving a pointer or a handle, this function has been superseded by the function. ANSI declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Retrieves information about the specified window. The function also retrieves the 32-bit (DWORD) value at the specified offset into the extra window memory. If you are retrieving a pointer or a handle, this function has been superseded by the function. A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Retrieves information about the specified window. The function also retrieves the 32-bit (DWORD) value at the specified offset into the extra window memory. If you are retrieving a pointer or a handle, this function has been superseded by the function. A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Retrieves information about the specified window. The function also retrieves the value at a specified offset into the extra window memory. Unicode declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Retrieves information about the specified window. The function also retrieves the value at a specified offset into the extra window memory. ANSI declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Retrieves information about the specified window. The function also retrieves the value at a specified offset into the extra window memory. A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be retrieved. If the function succeeds, the return value is the requested value. Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory. Note: This function has been superseded by the function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function. Unicode declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. The replacement value. If the function succeeds, the return value is the previous value of the specified 32-bit integer. Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory. Note: This function has been superseded by the function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function. ANSI declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. The replacement value. If the function succeeds, the return value is the previous value of the specified 32-bit integer. Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory. Note: This function has been superseded by the function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function. A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. The replacement value. If the function succeeds, the return value is the previous value of the specified 32-bit integer. Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory. Note: This function has been superseded by the function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function. ANSI declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. The replacement value. If the function succeeds, the return value is the previous value of the specified 32-bit integer. Changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory. Note: This function has been superseded by the function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function. ANSI declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. Valid values are in the range zero through the number of bytes of extra window memory, minus the size of an integer. New window style. If the function succeeds, the return value is the previous value of the specified 32-bit integer. Changes an attribute of the specified window. The function also sets a value at the specified offset in the extra window memory. Unicode declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. The replacement value. If the function succeeds, the return value is the previous value of the specified offset. Changes an attribute of the specified window. The function also sets a value at the specified offset in the extra window memory. ANSI declaration for A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. The replacement value. If the function succeeds, the return value is the previous value of the specified offset. Changes an attribute of the specified window. The function also sets a value at the specified offset in the extra window memory. A handle to the window and, indirectly, the class to which the window belongs. The zero-based offset to the value to be set. The replacement value. If the function succeeds, the return value is the previous value of the specified offset. Destroys an icon and frees any memory the icon occupied. A handle to the icon to be destroyed. The icon must not be in use. If the function succeeds, the return value is nonzero. Determines whether the specified window handle identifies an existing window. A handle to the window to be tested. If the window handle identifies an existing window, the return value is nonzero. Destroys the specified window. The function sends WM_DESTROY and WM_NCDESTROY messages to the window to deactivate it and remove the keyboard focus from it. A handle to the window to be destroyed. If the function succeeds, the return value is nonzero. Retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen. A handle to the window. A pointer to a RECT structure that receives the screen coordinates of the upper-left and lower-right corners of the window. If the function succeeds, the return value is nonzero. Determines the visibility state of the specified window. A handle to the window to be tested. If the specified window, its parent window, its parent's parent window, and so forth, have the WS_VISIBLE style, the return value is nonzero. Otherwise, the return value is zero. Determines whether the specified window is enabled for mouse and keyboard input. A handle to the window to be tested. If the window is enabled, the return value is nonzero. The MonitorFromWindow function retrieves a handle to the display monitor that has the largest area of intersection with the bounding rectangle of a specified window. A handle to the window of interest. Determines the function's return value if the window does not intersect any display monitor. If the window intersects one or more display monitor rectangles, the return value is an HMONITOR handle to the display monitor that has the largest area of intersection with the window. Retrieves the specified system metric or system configuration setting. Note that all dimensions retrieved by GetSystemMetrics are in pixels. The system metric or configuration setting to be retrieved. This parameter can be one of the values. Note that all SM_CX* values are widths and all SM_CY* values are heights. Also note that all settings designed to return Boolean data represent as any nonzero value, and as a zero value. If the function succeeds, the return value is the requested system metric or configuration setting. Defines a new window message that is guaranteed to be unique throughout the system. The message value can be used when sending or posting messages. Unicode declaration for The message to be registered. If the message is successfully registered, the return value is a message identifier in the range 0xC000 through 0xFFFF. Defines a new window message that is guaranteed to be unique throughout the system. The message value can be used when sending or posting messages. ANSI declaration for The message to be registered. If the message is successfully registered, the return value is a message identifier in the range 0xC000 through 0xFFFF. Defines a new window message that is guaranteed to be unique throughout the system. The message value can be used when sending or posting messages. The message to be registered. If the message is successfully registered, the return value is a message identifier in the range 0xC000 through 0xFFFF. Activates a window. The window must be attached to the calling thread's message queue. A handle to the top-level window to be activated. If the function succeeds, the return value is the handle to the window that was previously active. Brings the thread that created the specified window into the foreground and activates the window. Keyboard input is directed to the window, and various visual cues are changed for the user. The system assigns a slightly higher priority to the thread that created the foreground window than it does to other threads. A handle to the window that should be activated and brought to the foreground. If the window was brought to the foreground, the return value is nonzero. Enables, disables, or grays the specified menu item. A handle to the menu. The menu item to be enabled, disabled, or grayed, as determined by the uEnable parameter. Controls the interpretation of the uIDEnableItem parameter and indicate whether the menu item is enabled, disabled, or grayed. The return value specifies the previous state of the menu item (it is either MF_DISABLED, MF_ENABLED, or MF_GRAYED). If the menu item does not exist, the return value is -1 (). The SetWindowRgn function sets the window region of a window. The window region determines the area within the window where the system permits drawing. The system does not display any portion of a window that lies outside of the window region. A handle to the window whose window region is to be set. A handle to a region. The function sets the window region of the window to this region. Specifies whether the system redraws the window after setting the window region. If bRedraw is , the system does so; otherwise, it does not. Native method returned HRESULT. Changes the size, position, and Z order of a child, pop-up, or top-level window. These windows are ordered according to their appearance on the screen. The topmost window receives the highest rank and is the first window in the Z order. A handle to the window. A handle to the window to precede the positioned window in the Z order. The new position of the left side of the window, in client coordinates. The new position of the top of the window, in client coordinates. The new width of the window, in pixels. The new height of the window, in pixels. The window sizing and positioning flags. If the function succeeds, the return value is nonzero. Sets the process-default DPI awareness to system-DPI awareness. This is equivalent to calling SetProcessDpiAwarenessContext with a DPI_AWARENESS_CONTEXT value of DPI_AWARENESS_CONTEXT_SYSTEM_AWARE. Sets various information regarding DWM window attributes. Sets various information regarding DWM window attributes. Returns the dots per inch (dpi) value for the specified window. The window that you want to get information about. The DPI for the window, which depends on the DPI_AWARENESS of the window. Returns the dots per inch (dpi) value for the specified window. The window that you want to get information about. The DPI for the window, which depends on the DPI_AWARENESS of the window. Base implementation of the notify icon service. This virtual method is called when the user clicks the left mouse button on the tray icon. This virtual method is called when the user double-clicks the left mouse button on the tray icon. This virtual method is called when the user clicks the right mouse button on the tray icon. This virtual method is called when the user double-clicks the right mouse button on the tray icon. This virtual method is called when the user clicks the middle mouse button on the tray icon. This virtual method is called when the user double-clicks the middle mouse button on the tray icon. Event triggered on successful navigation. Source of the event, which should be the current navigation instance. Event data containing information about the navigation event. Singleton containing persistent information about icons in the tray menu for application session. Gets or sets the collection of registered tray icons. Manages the Win32 API and Windows messages. Gets or sets the id of the hooked element. Initializes a new instance of the class, creating a new hWnd as a child with transparency parameters, no size, and in the default position. It attaches the default delegation to the messages it receives. The name of the created window. Parent of the created window. Responsible for managing the icons in the Tray bar. Tries to remove the from the shell. Gets application source. Specifies that null is allowed as an input even if the corresponding type disallows it. Indicates that the specified method parameter expects a constant. This can be used to inform tooling that a constant should be used as an argument for the annotated parameter. Indicates the minimum bound of the expected constant, inclusive. Indicates the maximum bound of the expected constant, inclusive. Specifies that null is disallowed as an input even if the corresponding type allows it. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Indicates that an API is experimental and it may change in the future. This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental feature is used. Authors can use this attribute to ship preview features in their assemblies. Initializes a new instance of the class, specifying the ID that the compiler will use when reporting a use of the API the attribute applies to. The ID that the compiler will use when reporting a use of the API the attribute applies to. Gets the ID that the compiler will use when reporting a use of the API the attribute applies to. The unique diagnostic ID. The diagnostic ID is shown in build output for warnings and errors. This property represents the unique ID that can be used to suppress the warnings or errors, if needed. Gets or sets the URL for corresponding documentation. The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID. The format string that represents a URL to corresponding documentation. An example format string is https://contoso.com/obsoletion-warnings/{0}. Specifies that an output may be null even if the corresponding type disallows it. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that this constructor sets all required members for the current type, and callers do not need to set any required members themselves. Specifies the syntax used in a string. Initializes the with the identifier of the syntax used. The syntax identifier. Initializes the with the identifier of the syntax used. The syntax identifier. Optional arguments associated with the specific syntax employed. Gets the identifier of the syntax used. Optional arguments associated with the specific syntax employed. The syntax identifier for strings containing composite formats for string formatting. The syntax identifier for strings containing date format specifiers. The syntax identifier for strings containing date and time format specifiers. The syntax identifier for strings containing format specifiers. The syntax identifier for strings containing format specifiers. The syntax identifier for strings containing JavaScript Object Notation (JSON). The syntax identifier for strings containing numeric format specifiers. The syntax identifier for strings containing regular expressions. The syntax identifier for strings containing time format specifiers. The syntax identifier for strings containing format specifiers. The syntax identifier for strings containing URIs. The syntax identifier for strings containing XML. Used to indicate a byref escapes and is not scoped. There are several cases where the C# compiler treats a as implicitly - where the compiler does not allow the to escape the method. For example: for instance methods. parameters that refer to types. parameters. This attribute is used in those instances where the should be allowed to escape. Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for API authors to understand the lifetime implications of applying this attribute and how it may impact their users. Represent a type can be used to index a collection either from the start or the end. Index is used by the C# compiler to support the new index syntax int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ; int lastElement = someArray[^1]; // lastElement = 5 Construct an Index using a value and indicating if the index is from the start or from the end. The index value. it has to be zero or positive number. Indicating if the index is from the start or from the end. If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element. Create an Index pointing at first element. Create an Index pointing at beyond last element. Create an Index from the start at the position indicated by the value. The index value from the start. Create an Index from the end at the position indicated by the value. The index value from the end. Returns the index value. Indicates whether the index is from the start or the end. Calculate the offset from the start using the giving collection length. The length of the collection that the Index will be used with. length has to be a positive value For performance reason, we don't validate the input length parameter and the returned offset value against negative values. we don't validate either the returned offset is greater than the input length. It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and then used to index a collection will get out of range exception which will be same affect as the validation. Indicates whether the current Index object is equal to another object of the same type. An object to compare with this object Indicates whether the current Index object is equal to another Index object. An object to compare with this object Returns the hash code for this instance. Converts integer number to an Index. Converts the value of the current Index object to its equivalent string representation. Represent a range has start and end indexes. Range is used by the C# compiler to support the range syntax. int[] someArray = new int[5] { 1, 2, 3, 4, 5 }; int[] subArray1 = someArray[0..2]; // { 1, 2 } int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 } Represent the inclusive start index of the Range. Represent the exclusive end index of the Range. Construct a Range object using the start and end indexes. Represent the inclusive start index of the range. Represent the exclusive end index of the range. Indicates whether the current Range object is equal to another object of the same type. An object to compare with this object Indicates whether the current Range object is equal to another Range object. An object to compare with this object Returns the hash code for this instance. Converts the value of the current Range object to its equivalent string representation. Create a Range object starting from start index to the end of the collection. Create a Range object starting from first element in the collection to the end Index. Create a Range object starting from first element to the end. Calculate the start offset and length of range object using a collection length. The length of the collection that the range will be used with. length has to be a positive value. For performance reason, we don't validate the input length parameter against negative values. It is expected Range will be used with collections which always have non negative length/count. We validate the range is inside the length scope though. Indicates the type of the async method builder that should be used by a language compiler to build the attributed async method or to build the attributed type when used as the return type of an async method. Initializes the . The of the associated builder. Gets the of the associated builder. An attribute that allows parameters to receive the expression of other parameters. Initializes a new instance of the class. The condition parameter value. Gets the parameter name the expression is retrieved from. Initialize the attribute to refer to the method on the type. The type of the builder to use to construct the collection. The name of the method on the builder to use to construct the collection. must refer to a static method that accepts a single parameter of type and returns an instance of the collection being built containing a copy of the data from that span. In future releases of .NET, additional patterns may be supported. Gets the type of the builder to use to construct the collection. Gets the name of the method on the builder to use to construct the collection. This should match the metadata name of the target method. For example, this might be ".ctor" if targeting the type's constructor. Indicates that compiler support for a particular feature is required for the location where this attribute is applied. Creates a new instance of the type. The name of the feature to indicate. The name of the compiler feature. If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand . The used for the ref structs C# feature. The used for the required members C# feature. Indicates which arguments to a method involving an interpolated string handler should be passed to that handler. Initializes a new instance of the class. The name of the argument that should be passed to the handler. may be used as the name of the receiver in an instance method. Initializes a new instance of the class. The names of the arguments that should be passed to the handler. may be used as the name of the receiver in an instance method. Gets the names of the arguments that should be passed to the handler. may be used as the name of the receiver in an instance method. Indicates the attributed type is to be used as an interpolated string handler. Reserved to be used by the compiler for tracking metadata. This class should not be used by developers in source code. Used to indicate to the compiler that a method should be called in its containing module's initializer. When one or more valid methods with this attribute are found in a compilation, the compiler will emit a module initializer which calls each of the attributed methods. Certain requirements are imposed on any method targeted with this attribute: - The method must be `static`. - The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc. - The method must be parameterless. - The method must return `void`. - The method must not be generic or be contained in a generic type. - The method's effective accessibility must be `internal` or `public`. The specification for module initializers in the .NET runtime can be found here: https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer Specifies the priority of a member in overload resolution. When unspecified, the default priority is 0. Initializes a new instance of the class. The priority of the attributed member. Higher numbers are prioritized, lower numbers are deprioritized. 0 is the default if no attribute is present. The priority of the member. Indicates that a method will allow a variable number of arguments in its invocation. Specifies that a type has required members or that a member is required. Reserved for use by a compiler for tracking metadata. This attribute should not be used by developers in source code. Used to indicate to the compiler that the .locals init flag should not be set in method headers. Initializes a new instance of the class. Initializes a new instance of the class with the specified message. An optional message associated with this attribute instance. Returns the optional message associated with this attribute instance. Returns the optional URL associated with this attribute instance.