AutomationFactory.GetObject Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Gets a reference to the previously activated and currently running Automation server with the specified programmatic identifier (ProgID).
Namespace:  System.Runtime.InteropServices.Automation
Assembly:  System.Windows (in System.Windows.dll)
Syntax
'Declaration
Public Shared Function GetObject ( _
    progID As String _
) As Object
public static Object GetObject(
    string progID
)
Parameters
- progID
 Type: System.String
 The ProgID of the registered Automation server to retrieve a reference to.
Return Value
Type: System.Object
A late-bound reference to the specified Automation server.
Remarks
You must assign the return value to a variable of type Object in Visual Basic and type dynamic in C#. This enables you to use the reference as a late-bound object.
For more information about Automation, see Automation.
Examples
The following code example demonstrates how to use this method.
This example is part of a larger example in How to: Use Automation in Trusted Applications.
Private outlook As Object
Private Function InitializeOutlook() As Boolean
    Try
        ' If GetObject throws an exception, then Outlook is 
        ' either not running or is not available.
        outlook = AutomationFactory.GetObject("Outlook.Application")
        Return True
    Catch
        Try
            ' Start Outlook and display the Inbox, but minimize 
            ' it to avoid hiding the Silverlight application.
            outlook =
                AutomationFactory.CreateObject("Outlook.Application")
            outlook.Session.GetDefaultFolder(6).Display() ' 6 = Inbox
            outlook.ActiveWindow.WindowState = 1  ' minimized
            Return True
        Catch
            ' Outlook is unavailable.
            Return False
        End Try
    End Try
End Function
private dynamic outlook;
private bool InitializeOutlook()
{
    try
    {
        // If GetObject throws an exception, then Outlook is 
        // either not running or is not available.
        outlook = AutomationFactory.GetObject("Outlook.Application"); 
        return true;
    }
    catch (Exception)
    {
        try
        {
            // Start Outlook and display the Inbox, but minimize 
            // it to avoid hiding the Silverlight application.
            outlook = 
                AutomationFactory.CreateObject("Outlook.Application");
            outlook.Session.GetDefaultFolder(6 /* Inbox */).Display();
            outlook.ActiveWindow.WindowState = 1; // minimized
            return true;
        }
        catch (Exception)
        {
            // Outlook is unavailable.
            return false;
        }
    }
}
Version Information
Silverlight
Supported in: 5, 4
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also