Type.GetTypeFromProgID 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得與指定的程式識別項 (ProgID) 相關聯的類型。
多載
GetTypeFromProgID(String) |
取得與指定的程式識別項 (ProgID) 相關聯的類型;如果在載入 Type 時發生錯誤,則傳回 null。 |
GetTypeFromProgID(String, Boolean) |
取得與指定的程式識別項 (ProgID) 相關聯的類型,並指定如果在載入類型時發生錯誤是否擲回例外狀況。 |
GetTypeFromProgID(String, String) |
從指定的伺服器中,取得與指定的程式識別項 (progID) 相關聯的類型;如果在載入類型時發生錯誤,則傳回 null。 |
GetTypeFromProgID(String, String, Boolean) |
從指定的伺服器中,取得與指定的程式識別項 (progID) 相關聯的類型,並指定如果在載入類型時發生錯誤是否擲回例外狀況。 |
GetTypeFromProgID(String)
取得與指定的程式識別項 (ProgID) 相關聯的類型;如果在載入 Type 時發生錯誤,則傳回 null。
public:
static Type ^ GetTypeFromProgID(System::String ^ progID);
public static Type? GetTypeFromProgID (string progID);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID);
public static Type GetTypeFromProgID (string progID);
static member GetTypeFromProgID : string -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string -> Type
Public Shared Function GetTypeFromProgID (progID As String) As Type
參數
- progID
- String
要取得之類型的 ProgID。
傳回
如果 progID
在登錄中是有效項目,而且有類型與它相關聯,則為與指定的 ProgID 相關聯的類型,否則為 null
。
- 屬性
例外狀況
progID
為 null
。
備註
這是針對 COM 支援提供的方法。 progid 不會用於 Microsoft .NET Framework,因為它們已由命名空間的概念取代。
另請參閱
適用於
GetTypeFromProgID(String, Boolean)
取得與指定的程式識別項 (ProgID) 相關聯的類型,並指定如果在載入類型時發生錯誤是否擲回例外狀況。
public:
static Type ^ GetTypeFromProgID(System::String ^ progID, bool throwOnError);
public static Type? GetTypeFromProgID (string progID, bool throwOnError);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID, bool throwOnError);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID, bool throwOnError);
public static Type GetTypeFromProgID (string progID, bool throwOnError);
static member GetTypeFromProgID : string * bool -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string * bool -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string * bool -> Type
Public Shared Function GetTypeFromProgID (progID As String, throwOnError As Boolean) As Type
參數
- progID
- String
要取得之類型的 ProgID。
傳回
如果 progID
在登錄中是有效的項目,且有與其相關聯的類型,則為與指定的程式識別項 (progID) 相關聯的類型,否則為 null
。
- 屬性
例外狀況
progID
為 null
。
指定的 ProgID 未註冊。
範例
下列範例會藉由傳遞 ProgID 來抓取型別,以指定是否要在 ProgID 無效時擲回例外狀況。 然後,此範例會顯示與 ProgID 相關的 ClassID,以及任何適用的例外狀況訊息。
using namespace System;
int main()
{
try
{
// Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
String^ myString1 = "DIRECT.ddPalette.3";
// Use a nonexistent ProgID WrongProgID.
String^ myString2 = "WrongProgID";
// Make a call to the method to get the type information of the given ProgID.
Type^ myType1 = Type::GetTypeFromProgID( myString1, true );
Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType1->GUID );
// Throw an exception because the ProgID is invalid and the throwOnError
// parameter is set to True.
Type^ myType2 = Type::GetTypeFromProgID( myString2, true );
}
catch ( Exception^ e )
{
Console::WriteLine( "An exception occurred." );
Console::WriteLine( "Source: {0}", e->Source );
Console::WriteLine( "Message: {0}", e->Message );
}
}
using System;
class MainApp
{
public static void Main()
{
try
{
// Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
string myString1 ="DIRECT.ddPalette.3";
// Use a nonexistent ProgID WrongProgID.
string myString2 ="WrongProgID";
// Make a call to the method to get the type information of the given ProgID.
Type myType1 =Type.GetTypeFromProgID(myString1,true);
Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID);
// Throw an exception because the ProgID is invalid and the throwOnError
// parameter is set to True.
Type myType2 =Type.GetTypeFromProgID(myString2,true);
}
catch(Exception e)
{
Console.WriteLine("An exception occurred.");
Console.WriteLine("Source: {0}", e.Source);
Console.WriteLine("Message: {0}", e.Message);
}
}
}
Class MainApp
Public Shared Sub Main()
Try
' Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
Dim myString1 As String = "DIRECT.ddPalette.3"
' Use a nonexistent ProgID WrongProgID.
Dim myString2 As String = "WrongProgID"
' Make a call to the method to get the type information of the given ProgID.
Dim myType1 As Type = Type.GetTypeFromProgID(myString1, True)
Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID.ToString())
' Throw an exception because the ProgID is invalid and the throwOnError
' parameter is set to True.
Dim myType2 As Type = Type.GetTypeFromProgID(myString2, True)
Catch e As Exception
Console.WriteLine("An exception occurred.")
Console.WriteLine("Source: {0}", e.Source.ToString())
Console.WriteLine("Message: {0}", e.Message.ToString())
End Try
End Sub
End Class
備註
這是針對 COM 支援提供的方法。 由於程式識別碼已被命名空間的概念取代,因此不會在 Microsoft .NET Framework 中使用。
另請參閱
適用於
GetTypeFromProgID(String, String)
從指定的伺服器中,取得與指定的程式識別項 (progID) 相關聯的類型;如果在載入類型時發生錯誤,則傳回 null。
public:
static Type ^ GetTypeFromProgID(System::String ^ progID, System::String ^ server);
public static Type? GetTypeFromProgID (string progID, string? server);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID, string? server);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID, string server);
public static Type GetTypeFromProgID (string progID, string server);
static member GetTypeFromProgID : string * string -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string * string -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string * string -> Type
Public Shared Function GetTypeFromProgID (progID As String, server As String) As Type
參數
- progID
- String
要取得之類型的 progID。
- server
- String
要載入類型的伺服器。 如果伺服器名稱為 null
,此方法將會自動還原成本機電腦 (Local Machine)。
傳回
如果 progID
在登錄中是有效的項目,且有與其相關聯的類型,則為與指定的程式識別項 (progID) 相關聯的類型,否則為 null
。
- 屬性
例外狀況
prodID
為 null
。
範例
下列範例會藉由傳遞 ProgID 和伺服器名稱來抓取型別。 然後,此範例會顯示與 ProgID 相關的 ClassID,或如果 ProgID 或伺服器名稱無效,則擲回例外狀況。
using namespace System;
int main()
{
try
{
// Use the ProgID localhost\HKEY_CLASSES_ROOT\DirControl::DirList.1.
String^ theProgramID = "DirControl.DirList.1";
// Use the server name localhost.
String^ theServer = "localhost";
// Make a call to the method to get the type information for the given ProgID.
Type^ myType = Type::GetTypeFromProgID( theProgramID, theServer );
if ( myType == nullptr )
{
throw gcnew Exception( "Invalid ProgID or Server." );
}
Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType->GUID );
}
catch ( Exception^ e )
{
Console::WriteLine( "An exception occurred." );
Console::WriteLine( "Source: {0}", e->Source );
Console::WriteLine( "Message: {0}", e->Message );
}
}
using System;
class MainApp
{
public static void Main()
{
try
{
// Use the ProgID localhost\HKEY_CLASSES_ROOT\DirControl.DirList.1.
string theProgramID ="DirControl.DirList.1";
// Use the server name localhost.
string theServer="localhost";
// Make a call to the method to get the type information for the given ProgID.
Type myType =Type.GetTypeFromProgID(theProgramID,theServer);
if(myType==null)
{
throw new Exception("Invalid ProgID or Server.");
}
Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType.GUID);
}
catch(Exception e)
{
Console.WriteLine("An exception occurred.");
Console.WriteLine("Source: {0}" , e.Source);
Console.WriteLine("Message: {0}" , e.Message);
}
}
}
Class MainApp
Public Shared Sub Main()
Try
' Use ProgID localhost\HKEY_CLASSES_ROOT\DirControl.DirList.1.
Dim theProgramID As String = "DirControl.DirList.1"
' Use Server name localhost.
Dim theServer As String = "localhost"
' Make a call to the method to get the type information for the given ProgID.
Dim myType As Type = Type.GetTypeFromProgID(theProgramID, theServer)
If myType Is Nothing Then
Throw New Exception("Invalid ProgID or server.")
End If
Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType.GUID.ToString())
Catch e As Exception
Console.WriteLine("An exception occurred.")
Console.WriteLine("Source: {0}.", e.Source.ToString())
Console.WriteLine("Message: {0}.", e.Message.ToString())
End Try
End Sub
End Class
備註
這是針對 COM 支援提供的方法。 由於程式識別碼已被命名空間的概念取代,因此不會在 Microsoft .NET Framework 中使用。
另請參閱
適用於
GetTypeFromProgID(String, String, Boolean)
從指定的伺服器中,取得與指定的程式識別項 (progID) 相關聯的類型,並指定如果在載入類型時發生錯誤是否擲回例外狀況。
public:
static Type ^ GetTypeFromProgID(System::String ^ progID, System::String ^ server, bool throwOnError);
public static Type? GetTypeFromProgID (string progID, string? server, bool throwOnError);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID, string? server, bool throwOnError);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID, string server, bool throwOnError);
public static Type GetTypeFromProgID (string progID, string server, bool throwOnError);
static member GetTypeFromProgID : string * string * bool -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string * string * bool -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string * string * bool -> Type
Public Shared Function GetTypeFromProgID (progID As String, server As String, throwOnError As Boolean) As Type
參數
- server
- String
要載入類型的伺服器。 如果伺服器名稱為 null
,此方法將會自動還原成本機電腦 (Local Machine)。
傳回
如果 progID
在登錄中是有效的項目,且有與其相關聯的類型,則為與指定的程式識別項 (progID) 相關聯的類型,否則為 null
。
- 屬性
例外狀況
progID
為 null
。
未註冊指定的 progID。
範例
下列範例會藉由傳遞 ProgID 和伺服器名稱來抓取型別。 然後,此範例會顯示與 ProgID 相關的 ClassID,指定是否要在 ProgID 或伺服器名稱無效時擲回例外狀況。
using namespace System;
int main()
{
try
{
// Use server localhost.
String^ theServer = "localhost";
// Use ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
String^ myString1 = "DirControl.DirList.1";
// Use a wrong ProgID WrongProgID.
String^ myString2 = "WrongProgID";
// Make a call to the method to get the type information for the given ProgID.
Type^ myType1 = Type::GetTypeFromProgID( myString1, theServer, true );
Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType1->GUID );
// Throw an exception because the ProgID is invalid and the throwOnError
// parameter is set to True.
Type^ myType2 = Type::GetTypeFromProgID( myString2, theServer, true );
}
catch ( Exception^ e )
{
Console::WriteLine( "An exception occurred. The ProgID is wrong." );
Console::WriteLine( "Source: {0}", e->Source );
Console::WriteLine( "Message: {0}", e->Message );
}
}
using System;
class MainApp
{
public static void Main()
{
try
{
// Use server localhost.
string theServer="localhost";
// Use ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
string myString1 ="DirControl.DirList.1";
// Use a wrong ProgID WrongProgID.
string myString2 ="WrongProgID";
// Make a call to the method to get the type information for the given ProgID.
Type myType1 =Type.GetTypeFromProgID(myString1,theServer,true);
Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID);
// Throw an exception because the ProgID is invalid and the throwOnError
// parameter is set to True.
Type myType2 =Type.GetTypeFromProgID(myString2, theServer, true);
}
catch(Exception e)
{
Console.WriteLine("An exception occurred. The ProgID is wrong.");
Console.WriteLine("Source: {0}" , e.Source);
Console.WriteLine("Message: {0}" , e.Message);
}
}
}
Class MainApp
Public Shared Sub Main()
Try
' Use Server localhost.
Dim theServer As String = "localhost"
' Use ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
Dim myString1 As String = "DirControl.DirList.1"
' Use a wrong ProgID WrongProgID.
Dim myString2 As String = "WrongProgID"
' Make a call to the method to get the type information for the given ProgID.
Dim myType1 As Type = Type.GetTypeFromProgID(myString1, theServer, True)
Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID.ToString())
' Throw an exception because the ProgID is invalid and the throwOnError
' parameter is set to True.
Dim myType2 As Type = Type.GetTypeFromProgID(myString2, theServer, True)
Catch e As Exception
Console.WriteLine("An exception occurred. The ProgID is wrong.")
Console.WriteLine("Source: {0}", e.Source.ToString())
Console.WriteLine("Message: {0}", e.Message.ToString())
End Try
End Sub
End Class
備註
這是針對 COM 支援提供的方法。 由於程式識別碼已被命名空間的概念取代,因此不會在 Microsoft .NET Framework 中使用。