Redimensionner une fenêtre d'un programme externe

cs_Cameleon69 Messages postés 98 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 7 août 2005 - 1 févr. 2004 à 16:42
cs_Cameleon69 Messages postés 98 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 7 août 2005 - 3 févr. 2004 à 14:36
Bonjour
Je cherche comment faire pour redimensionner une fenêtre d'un programme externe que je lance depuis mon application.
Exemple je voudrais lancer IE mais avec un affichage en 800x600 donc dans une fenêtre ayant cette dimension.
J'ai bien trouvé un exemple en VB.NET avec une reférence sur SHDocVw mais cela ne marche pas en C#.
Quelqu'un peut-il m'aider.
Merci !

3 réponses

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
1 févr. 2004 à 17:48
Voici un bout de code qui devrait pouvoir t'aider:

private const uint SWP_NOMOVE = 2;
[DllImport("user32.dll")]
private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);

private void button1_Click(object sender, System.EventArgs e)
{
Process p = new Process();
p.StartInfo.FileName = "iexplore";
p.StartInfo.Arguments = "http://www.labo-dotnet.com";
if (p.Start())
{
IntPtr hWnd = p.MainWindowHandle;
SetWindowPos(hWnd,IntPtr.Zero,0,0,800,600,SWP_NOMOVE);
}
else
{
MessageBox.Show("impossible de lancer le process");
}
}


Ca lance le process "iexplore" avec comme argument la page à visiter, et ensuite ca redimensionne cette fenetre.

[Membre du Labo .NET]
0
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
1 févr. 2004 à 17:49
J'ai oublier de préciser:

using System.Runtime.InteropServices;
using System.Diagnostics;


[Membre du Labo .NET]
0
cs_Cameleon69 Messages postés 98 Date d'inscription lundi 31 décembre 2001 Statut Membre Dernière intervention 7 août 2005 2
3 févr. 2004 à 14:36
Merci cela m'a beaucoup aider
0
Rejoignez-nous