12

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

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

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

此外,在我实施到我们的 QA 环境之前,我无法测试连接到这个第三方软件。所以我想用一个简单的应用程序来测试这个功能,例如记事本。我可以在记事本上调用什么功能/方法而不是“FixLogin”?

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

亲切的问候,史蒂夫。

4

3 回答 3

18

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

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

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

于 2010-09-22T15:42:37.983 回答
12

Marshal.GetActiveObject 方法

于 2011-01-19T12:01:01.947 回答
-1

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

于 2010-09-22T15:21:26.880 回答