Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat menangkap acara keluar konsol dalam aplikasi C# multithreaded?
Menguruskan penamatan permohonan konsol di C# dengan pelbagai thread
Dalam aplikasi konsol C# multithreaded, memastikan penutupan program bersih adalah kritikal untuk pengurusan sumber. Malangnya, .NET tidak menawarkan acara langsung untuk pengendalian keluar konsol. Ini memerlukan kaedah alternatif.Satu penyelesaian yang berkesan memanfaatkan fungsi API Windows
melalui SetConsoleCtrlHandler
. Ini membolehkan pendaftaran fungsi pengendali tersuai yang dicetuskan oleh isyarat kawalan konsol tertentu. DllImport
<code class="language-csharp">using System; using System.Runtime.InteropServices; // ... (rest of the code remains the same)</code>Coretan kod ini menunjukkan cara menggunakan
untuk menangkap SetConsoleCtrlHandler
, CTRL_C_EVENT
, CTRL_LOGOFF_EVENT
, dan CTRL_SHUTDOWN_EVENT
. Fungsi CTRL_CLOSE_EVENT
dilaksanakan apabila mana -mana peristiwa ini berlaku. Handler
Pertimbangan penting:
Atas ialah kandungan terperinci Bagaimanakah saya dapat menangkap acara keluar konsol dalam aplikasi C# multithreaded?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!