Salut, je suis en train de réutiliser un code que je montrai plus tôt pour lancer une 3ème partie .exe
à l'intérieur d'un WinForm monWinforms - Portée par M. de classe
le code m'a donné était
Greg Young
public class Native {
[DllImport("user32.dll", SetLastError = true)]
private static extern uint SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
public static void LoadProcessInControl(string _Process, Control _Control)
{
System.Diagnostics.Process p = System.Diagnostics.Process.Start(_Process);
p.WaitForInputIdle();
Native.SetParent(p.MainWindowHandle, _Control.Handle);
}
}
où l'exécution serait
public partial class Form1 : Form {
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
LoadProcessInControl("notepad.exe", this.splitContainer1.Panel1);
LoadProcessInControl("notepad.exe", this.splitContainer1.Panel2);
}
}
Cependant, je garde gett erreur ING:
The name 'LoadProcessInControl' does not exist in the current context
Portée des classes est encore un point faible dans mes connaissances en programmation et j'espère comprendre un peu mieux.
J'ai essayé passer la classe publique et la suppression de la méthode statique (charge procincontrol) mais je ne reçois pas partout)
Merci pour votre aide
qui me fait « Une référence d'objet est nécessaire pour le champ non statique, méthode ou propriété « Perls.Form1.Native.LoadProcessInControl (string, System.Windows.Forms.Control) » \t » – Crash893
NEVERMIND cela fonctionne (J'ai enlevé statique de l'OC et j'ai oublié de le remettre) Merci – Crash893