Bonjour,

Voici le problème :

J'ai besoin d'intégrer un logiciel développé en Java, dans un logiciel développé en .NET.
Appelons le processus Java "Xprocess" et le logiciel .NET "sandbox"

Pour ce faire, je lance le logiciel Java comme processus :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
	Private XProcess As Diagnostics.Process = New Process()
	...
	'Je lui donne des arguments qui influent sur le programme java
	XProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
	XProcess = Process.Start(Ruta_Vargen, ARGUMENT_CONTROL & "=true" & ARGUMENT_CLIENT_PORT & "=15000" &
ARGUMENT_CLIENT_NAME & "=" & PROGEN_CLIENT_NAME &
ARGUMENT_INTERNAL_FRAME & "=true" &
ARGUMENT_MULTIPLE_LOAD & "=false")
 
	XProcess.WaitForInputIdle()
Une fois le XProcess démarré je l'incorpore dans un "Panel" provenant de mon logiciel "sandbox"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
While (XProcess.MainWindowHandle = IntPtr.Zero Or string.IsNullOrEmpty(XProcess.MainWindowTitle))
			Thread.Sleep(10)
			XProcess.Refresh()
 
			lngStyle = GetWindowLong(XProcess.MainWindowHandle, GWL_STYLE)
			lngStyle = ((lngStyle And Not WS_POPUP) Or WS_CHILD)
			SetWindowLong(XProcess.MainWindowHandle, GWL_STYLE, lngStyle)
 
			SetParent(XProcess.MainWindowHandle, Panel.Handle)
		End While
Tout se déroule comme prévu, le XProcess se place comme enfant du "Panel" (une sorte de MDI ici). Le problème se présente comme ceci :
Lorsque je clique sur mon logiciel "XProcess" afin de travailler, (sur un bouton, un TextBox... bref n’importe quel composant), "XProcess" prend le focus, et le rend directement à mon logiciel "sandbox".
Par conséquent je ne peux pas travailler avec le logiciel "XProcess".

Pour information : il y a 1 mois environ, les PC utilisaient la JVM 1.6 de java. Nous venons d'installer la 1.7.
En 1.6 je n'ai jamais rencontré ce problème. Avec la nouvelle version je n'arrive pas à garder le focus sur le processus.
Seul, le logiciel Java fonctionne parfaitement, mais une fois embarqué dans l'interface .NET, impossible de l'utiliser.

PS : Pourquoi vouloir incorporer Java a .NET ? N'étant pas chef du secteur informatique dans l'entreprise pour laquelle je travaille, il m'a été ordonné de garder une interface graphique en .NET.
Par la suite j'ai développé un logiciel en java (type Excel). On m'a ensuite demander de pouvoir utiliser les deux en même temps, incorporant le java dans le .NET, chose que j'ai faite, et qui maintenant, depuis le passage à la version 1.7 de Java, me pose problème.


Voilà plusieurs jours que je bloque sur ce problème.

Merci de votre aide.