vb6プログラムをC#.net 3.5に移行する必要があります。ユーザーはSAPログオンを開始して認証します。その後、ツールを使用してデータをフェッチおよび挿入できます。問題:リフレクションを使用して新しいGuiApplicationを作成できますが、現在開いているGuiSessionsをフェッチしない:/これは、開いているすべてのGuiSessionsで現在開いているGuiApplicationを取得するコードの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.ScriptingCtrl.1"));
インスタンスは取得しましたが、既存のセッションはありません