Ouvrir un exe (c# - WPF) depuis du vb5
Bonjour,
J'ai cherché partout sur le net de l'aide à ce propos, en vain, alors j'espère que vous pourrez me mettre sur la bonne voie.
J'ai une application en vb5, et j'ai besoin, depuis cette application, de lancer une application .exe (avec passage d'arguments) qui se trouve elle, être une application en WPF (et C#).
Parmi tous les tests effectués, j'y parviens uniquement si l'exe que j'exécute est un Windows forms (avec le même Framework).
Je fais ceci dans le vb5 :
Lors d'un clic sur un bouton :
Dim CFichier As String, cParam As String, cDossierDemarrage As String
CFichier = "chemin\Test.exe"
cParam = ""
cDossierDemarrage = "chemin\"
Dim iret As Long
iret = ShellExecute(Me.hwnd, "open", CFichier, cParam, cDossierDemarrage, SW_SHOWNORMAL)
avec les définitions préalables suivantes (trouvées sur le net):
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Const SW_HIDE = 0
Const SW_MAXIMIZE = 3
Const SW_MINIMIZE = 6
Const SW_RESTORE = 9
Const SW_SHOW = 5
Const SW_SHOWDEFAULT = 10
Const SW_SHOWMAXIMIZED = 3
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMINNOACTIVE = 7
Const SW_SHOWNA = 8
Const SW_SHOWNOACTIVATE = 4
Const SW_SHOWNORMAL = 1
Si ce sont des exécutables tests en Windows forms (ou en vb, etc..) cela fonctionne, l'application s'ouvre correctement, mais si c'est une application en WPF (même toute simple avec juste une textbox qui dit "hello" ! ), cela ne marche pas, je n'ai même pas un message d'erreur. Et en debug je ne peux pas entrer dans la fonction shellexecute donc je ne peux pas voir où est le problème.
Pour info j'ai quand même testé le chemin d'accès dans une fenêtre dos en me placant là où était l'exe et en lancant l'executable, cela fonctionne.
Soit cela vient d'un paramétrage (manifest? config?) ; soit ce n'est pas possible avec du wpf ?
Merci beaucoup pour votre aide.