Probleme d'application object
Bonjour,
Depuis plusieurs jour je suis bloquer sur un programme
j'ai un probleme pour récupérer une application object
j'ai une application "saplogon.exe" que je veux piloter
Pour cela:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Private Function test() As Integer
Dim engine As Object
Dim sapROTWrapper As New CSapROTWrapper
Dim sapguilrot As Object
Dim sapguiapp As GuiApplication
Dim connection As GuiConnection
Dim session As GuiSession
sapguilrot = sapROTWrapper.GetROTEntry("SAPGUI")
engine = sapguilrot.GetType().InvokeMember("GetSCriptingEngine", System.Reflection.BindingFlags.InvokeMethod, Nothing, sapguilrot, Nothing)
sapguiapp = engine
connection = sapguiapp.OpenConnection(Attribution(dét).systeme3, False, True)
session = connection.Children.Item(0)
//script de pilotage
End Function |
je pense qu'il est possible de zapper les lignes 10 et 11 en utilisant un code dans ce genre la:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
P = Process.GetProcessesByName("saplogon")
For Each r In P
sapguiapp = // object en fonction du process
connection = sapguiapp.OpenConnection(Attribution(dét).systeme3, False, True)
If connection.Description = "TRANSACTION SAP" Then
session = connection.Children.Item(0)
Exit For
End If
Next |
Donc la question est comment recupérer mon application object en fonction du process
Ou comment faire un for each avec les "guiapplication" ouverte
Merci a tous