Evet var. Bu var Alt+ F4.
Bu, bir programı sonlandırmak için kullanılan anahtar kombinasyondur . Reklamı yapılmadığı için tek neden, Microsoft tasarım kurallarına uymayı reddeden cahil programcılar.
Bu sorun başka bir kısayol tuşuyla da devam eder . Sadece muhtemelen işlemi öldüren AutoHotKey (veya benzeri araçlar) ile özel bir çözüm oluşturabilirsiniz. Fakat bu büyük olasılıkla sizi çok fazla iş kaybetmenize neden olacaktır. Gibi bir işlemden çıkmak için oldukça kaba kuvvet yöntemidir.
Daha fazla bilmek istiyorum!
Tamam, anladığım kadarıyla, bir Windows uygulamasının sonlandırılmasının birkaç yolu var.
- Ana uygulama penceresine bir pencere mesajı gönderme.
WM_CLOSE
- Ana uygulama penceresini imha etmek.
- Süreci sonlandırmak .
İlk yol temiz yoldur. Bir uygulamayı kapatma şekliniz. Bu Alt+ F4çalışan aynı şey . Alt+ Tuşlarına basmak F4, WM_CLOSE
mesajı uygulama penceresine gönderir .
Şimdi, her 3 yönteme de ters sırada bakalım.
Bir işlemi sonlandırma
Windows'ta bir uygulama bir süreçte yaşıyor . Bu işlemin içinde uygulama bir pencere oluşturabilir . Pencere, masaüstünüzde göreceğiniz şey ve etkileşimde bulunacağınız şeydir.
Dolayısıyla, eğer süreç bir uygulamanın kökü ise, onu sonlandırırsanız, diğer her şey de ortadan kalkar. Bu yüzden bir uygulamayı tamamen sonlandırmak harika olurdu . Ancak bu , uygulamayı o kadar aniden öldürür ki, kritik verileri diske kaydetme şansı olmaz.
Yani bu tavsiye edilmez!
Ana uygulama penceresini imha etmek
Yeni öğrendiğimiz gibi, ana uygulama penceresi sürecin sadece bir parçası . Öyleyse, sadece bu pencereyi imha edersek, yine de orayı kokuşatan bir süreç olacak:
Ve bu, uygulamanın olacağından daha fazla kurtulmak için daha zor olurdu.
Bu, muhtemelen bir uygulamayı sonlandırmaya çalışmak için en çirkin yaklaşımdır. Uzak dur!
Bir Gönderme WM_CLOSE
mesajı
Windows mesaj tabanlı bir işletim sistemidir. Yani, bileşenler birbirleriyle küçük mesajlar göndererek konuşurlar.
Bu mesajlardan biri WM_CLOSE
mesaj.
Bir uygulama bu mesajı alırsa, bu uygulamanın tüm eylemleri ve ardından yaşamı ele geçirmesi gerektiği konusunda anlaşmaya varılır.
Ancak her programcı, mesajı nasıl ele alacağına kendi başına karar verebilir.
Gibi belgeler daha önce anlattı varsayılan davranış çağırmak olacaktır DestroyWindow
ve böylece bizim uygulama çıkış yaklaşımı 2. gerçekleştirin.
Küçük farkla, bu sefer kasıtlı ve programın kritik verileri kaydetme şansı var.
Sonuç
Gördüğünüz gibi, bizler burada her programcının insafına kaldık. Ya da veri kaybı riskini alıyoruz (bu riski almak istemiyorsunuz!).