Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat menangkap acara keluar konsol dalam aplikasi C# multithreaded?

Bagaimanakah saya dapat menangkap acara keluar konsol dalam aplikasi C# multithreaded?

DDD
Lepaskan: 2025-01-28 09:56:14
asal
319 orang telah melayarinya

How Can I Capture Console Exit Events in C# Multithreaded Applications?

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

inilah pelaksanaan ilustrasi:

using System;
using System.Runtime.InteropServices;

// ... (rest of the code remains the same)
Salin selepas log masuk
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:

Kebolehpercayaan kaedah ini mungkin dikompromikan pada Windows 7, seperti yang dinyatakan dalam perbincangan yang berkaitan. Penyiasatan lanjut mungkin diperlukan untuk keserasian yang optimum dalam versi Windows yang berbeza.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan