Lancement programme externe dans mon programme vb

EmaG59 Messages postés 5 Date d'inscription jeudi 10 mai 2012 Statut Membre Dernière intervention 10 mai 2012 - 10 mai 2012 à 10:22
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 10 mai 2012 à 13:03
Bonjour,

Je vous explique, je lance un programme externe dans mon programme vb jusque là aucun soucis.

Mais le programme externe ne possède pas de position fixe lors de chaque exécution de mon programme.
De plus, lorsque je double clique sur le programme externe celui se maximise pour prendre toute la place de mon programme.

Je voudrais savoir s'il y a moyen de lancer directement le programme externe en maximisé.

Merci d'avance et je suis disponible pour répondre à vos questions.

Cordialement EmaG

8 réponses

EmaG59 Messages postés 5 Date d'inscription jeudi 10 mai 2012 Statut Membre Dernière intervention 10 mai 2012
10 mai 2012 à 10:26
Ne trouvant pas comment éditer mon précédant post, je vous transmet mon code :

Process1 = Process.Start("C:\Program Files\Notepad++\notepad++.exe")
Process1.WaitForInputIdle()

SetParent(Process1.MainWindowHandle, Me.Handle)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2012 à 11:00
Bonjour,
Extrais donc le handle de la fenêtre ainsi ouverte et sers-t-en pour la positionner où tu le souhaites !
Existe pour ce faire, par exemple et entre autres, la fonction SetWindowPos de l'Api de Windows

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
EmaG59 Messages postés 5 Date d'inscription jeudi 10 mai 2012 Statut Membre Dernière intervention 10 mai 2012
10 mai 2012 à 11:05
Merci pour ta réponse rapide mais :

Je ne vois pas comment extraire le handle de ma fenêtre ouverte et encore moins comment la positionner.

Concernant le setWindowPos, je l'ai déjà essayer :
- SetWindowPos(Me.Process1.Handle, IntPtr.Zero, 100, 25, 615, 815, 0)
Mais je ne vois aucun changement quelque soit les valeurs que je mets et c'est la le problème.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2012 à 11:17
1) Comment peut-on écrire :
Je ne vois pas comment extraire le handle de ma fenêtre ouverte et encore moins comment la positionner.

Concernant le setWindowPos, je l'ai déjà essayer :
- SetWindowPos(Me.Process1.Handle, IntPtr.Zero, 100, 25, 615, 815, 0)

alors que l'on a utilisé ce handle ici :
SetParent(Process1.MainWindowHandle, Me.Handle)


2) avec quels code et déclarations ? Montre !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
EmaG59 Messages postés 5 Date d'inscription jeudi 10 mai 2012 Statut Membre Dernière intervention 10 mai 2012
10 mai 2012 à 11:23
Bon à mon avis, je n'ai pas tout compris.

Voici mon code :

Public Shared Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As Integer) As Boolean

End Function

<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Public Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As IntPtr
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Process1 = Process.Start("C:\Program Files\Notepad++\notepad++.exe")

Process1.WaitForInputIdle()

SetParent(Process1.MainWindowHandle, Me.Handle)

SetWindowPos(Me.Process1.Handle, IntPtr.Zero, 100, 25, 615, 815, 0)

End Sub

Sur le net, j'ai lu que le positionnement peut se faire avec le setWindowPos mais quand je change les valeurs du X et Y je n'ai aucun changement.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2012 à 11:50
Bon à mon avis, je n'ai pas tout compris.


C'est ce qui arrive, lorsque l'on se contente de copier/coller ce qu'on trouve, sans réellement comprendre ! Y compris après la remarque que je t'ai faite plus haut !
Comment peux-tu ne pas voir que le handle est déjà défini est qu'il est :
Process1.MainWindowHandle
????
Bon ... va alors là et copie/colle une fois de plus
Tapez le texte de l'url ici.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
EmaG59 Messages postés 5 Date d'inscription jeudi 10 mai 2012 Statut Membre Dernière intervention 10 mai 2012
10 mai 2012 à 11:58
Je pensais avoir compris mais apparament non, j'ai donc fait des recherches et j'ai enfin compris mais bon vu tes réponses ça me décourage parce que tu me critique et je trouve ça nul.

Sinon au revoir
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2012 à 13:03
ça me décourage parce que tu me critique et je trouve ça nul

1) Je ne critique absolument pas ! Je constate !
2) Ne cherche pas la nullité ailleurs que où elle se trouve.
Bonne continuation dans tes copiés/collés (au moins, ils ne te découragent pas, eux ... mais ne te font pas progresser non plus).
Allons allons !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous