Ausführen von exe in der Registerkarte "WinForm-Projekt"
Ich bin an der folgenden Unterstützung für eine WinForm-Anwendung interessiert, die ich schreibe, um in der IDE von Visual Studios 2010 in einer Registerkarte eine EXE-Datei in c # zu öffnen.
Ich kann das Programm derzeit über einen Klick auf die Schaltfläche in der gewünschten Registerkarte mit dem folgenden Code öffnen:
string str = @"-INSERT FILEPATH HERE-";//took file path out as i have a few exes i'm wanting to add.
Process process = new Process();
process.StartInfo.FileName = str;
process.Start();
Wie kann ich es nun machen, damit diese ausführbare Datei als Registerkarte oder in einer Registerkarte in meiner Winform geöffnet wird? Ich bin offen für Vorschläge in beiden Fällen.
Gelöst:
using System.Runtime.InteropServices;
using System.Threading;
[DllImport("user32.dll", SetLastError = true)]
private static extern bool MoveWindow(IntPtr hwnd, int x, int y, int cx, int cy, bool repaint);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
public GUI()
{
// Initialize form fieds
InitializeComponent();
openProgram()
}
private void openProgram()
{
process.StartInfo.FileName = "-filepathhere-";
process.Start();
IntPtr ptr = IntPtr.Zero;
while ((ptr = process.MainWindowHandle) == IntPtr.Zero) ;
SetParent(process.MainWindowHandle, trackerPanel.Handle);
MoveWindow(process.MainWindowHandle, 0, 0, this.Width - 90, this.Height, true);
}