gpt4 book ai didi

c# - 获取运行Sap logon vb6的GuiApplication to c#

转载 作者:太空狗 更新时间:2023-10-29 20:10:37 26 4
gpt4 key购买 nike

我必须将 vb6 程序迁移到 C# .net 3.5用户启动 SAP 登录并进行身份验证,然后他可以使用该工具使用该工具获取和插入数据问题:我可以用反射创建一个新的 GuiApplication,但我不能用它获取当前打开的 GuiSessions:/这是当前打开的 GuiApplication 和所有打开的 GuiSession 代码的 vb6 部分

Dim obj As Object
Set obj = CreateObject("SAPGUI")
Set obj = obj.GetScriptingEngine

If TypeName(obj) = "GuiApplication" Then
Set SapAutomationObject = obj
SapAutomationObject.AllowSystemMessages = False

Debug.Print "SAP Automation OK"
End If

我用反射试了一下:

 GuiApplication Application = (GuiApplication)System.Activator.CreateInstance(Type.GetTypeFromProgID("SapGui.S‌​criptingCtrl.1"));

我有一个实例但没有现有的 session

最佳答案

public static void testConnection()
{
SapROTWr.CSapROTWrapper sapROTWrapper = new SapROTWr.CSapROTWrapper();
object SapGuilRot = sapROTWrapper.GetROTEntry("SAPGUI");
object engine = SapGuilRot.GetType().InvokeMember("GetSCriptingEngine", System.Reflection.BindingFlags.InvokeMethod,
null, SapGuilRot, null);
SAPconnection.sapGuiApp = engine as GuiApplication;
GuiConnection connection = sapGuiApp.Connections.ElementAt(0) as GuiConnection;
GuiSession session = connection.Children.ElementAt(0) as GuiSession;
MessageBox.Show(session.Info.User + " !!||!! " + session.Info.Transaction);


}

使用此方法,您必须引用 SAP 安装的 sapgui 文件夹中的 SapROTWr.DLL。

关于c# - 获取运行Sap logon vb6的GuiApplication to c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com