Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membenamkan Aplikasi Luaran Dalam Panel C#?
Membenamkan Aplikasi dalam Panel C#
Membenamkan aplikasi luaran di dalam panel tersuai program C# membolehkan penyepaduan lancar berbilang aplikasi dalam satu pengguna antara muka. Daripada mencetuskan aplikasi secara luaran, teknik ini memberikan pengalaman pengguna yang lebih padu dan mudah.
Penyelesaian: Menggunakan API Win32
API Win32 menyediakan penyelesaian untuk membenamkan luaran aplikasi dengan memanipulasi pemegang tetingkap. Langkah utama melibatkan:
Contoh Kod
Kod berikut menunjukkan cara membenamkan notepad.exe dalam panel C#:
using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows.Forms; namespace EmbeddedApplication { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Process p = Process.Start("notepad.exe"); Thread.Sleep(500); // Allow the process to open its window SetParent(p.MainWindowHandle, panel1.Handle); } [DllImport("user32.dll")] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); } }
Pendekatan Alternatif
Daripada menggunakan Thread.Sleep(), kod boleh menggunakan WaitForInputIdle untuk menentukan bila tetingkap aplikasi dimuatkan sepenuhnya:
Process p = Process.Start("notepad.exe"); p.WaitForInputIdle(); SetParent(p.MainWindowHandle, panel1.Handle);
Sumber Tambahan
Untuk panduan yang lebih komprehensif tentang membenamkan aplikasi luaran, rujuk Kod Artikel projek: [Menghos Aplikasi EXE dalam WinForm projek](https://www.codeproject.com/Articles/398354/Hosting-EXE-Applications-in-a-WinForm-project).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membenamkan Aplikasi Luaran Dalam Panel C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!