C#相当于VB6的GetObject

以下VB6代码连接到某些第三方软件并强制使用管理员用户名和密码登录:

Set obj = GetObject(, "workspace.application") obj.System.FixLogin strAdminUsername, strAdminPassword 

我想在C#中执行相同的任务,但作为一个非常绿色的C#开发人员(大约3个月的经验)我不知道如何做到这一点。 我在Google上度过了一个非常令人沮丧的一天,但却发现没有什么能符合这个要求(大部分都是我甚至无法理解的)我对VB6的了解甚至比我对C#的了解要少,但VB6让它看起来如此简单。

在我实施QA环境之前,我无法测试连接到第三方软件。 所以我想用一个简单的应用程序测试function,例如Notepad。 我可以在记事本上调用哪种函数/方法而不是“FixLogin”?

如果有人能帮我解决这个问题,我将不胜感激。

亲切的问候,史蒂夫。

即使您使用的是c#,也可以使用Vb.Net提供的所有类和方法,包括GetObject。

只需添加对.NET组件“Microsoft.VisualBasic”的引用即可。

添加引用后,您可以调用Microsoft.VisualBasic.Interaction.CreateObject()或Microsoft.VisualBasic.Interaction.GetObject()

Marshal.GetActiveObject方法

GetObject返回COM控件。 您必须使用COM Interop在C#中执行此操作 。 (这不是微不足道的。)