Có, có. Đó là Alt+ F4.
Đây là sự kết hợp chính để kết thúc một chương trình . Lý do duy nhất nó không hoạt động như quảng cáo là các lập trình viên không biết gì, từ chối tuân theo các nguyên tắc thiết kế của Microsoft.
Vấn đề này sẽ tồn tại với bất kỳ phím nóng nào khác . Bạn chỉ có thể tạo một giải pháp tùy chỉnh với AutoHotKey (hoặc các công cụ tương tự) để giết quá trình. Nhưng điều này rất có thể sẽ khiến bạn mất rất nhiều công việc. Vì đó là phương pháp vũ phu để thoát khỏi một quá trình.
Tôi muốn biết nhiều hơn!
Theo hiểu biết của tôi, có một số cách mà một ứng dụng Windows có thể bị chấm dứt.
- Đăng một tin nhắn cửa sổ vào cửa sổ ứng dụng chính.
WM_CLOSE
- Phá hủy cửa sổ ứng dụng chính.
- Chấm dứt quá trình.
Cách đầu tiên là cách sạch sẽ . Cách bạn dự định đóng một ứng dụng. Đây là điều tương tự mà Alt+ F4hoạt động. Nhấn Alt+ F4sẽ chỉ gửi WM_CLOSE
tin nhắn đến cửa sổ ứng dụng.
Bây giờ, hãy xem xét tất cả 3 cách theo thứ tự ngược lại.
Chấm dứt một quá trình
Trong Windows, một ứng dụng sống trong một quy trình . Trong quá trình đó, ứng dụng có thể tạo ra một cửa sổ . Cửa sổ là những gì bạn sẽ thấy trên máy tính để bàn của bạn và những gì bạn sẽ tương tác.
Vì vậy, nếu quy trình là gốc của một ứng dụng, nếu bạn chấm dứt nó, mọi thứ khác cũng sẽ biến mất. Vì vậy, điều này sẽ là tuyệt vời để kết thúc đầy đủ một ứng dụng. Nhưng điều này sẽ giết ứng dụng đột ngột đến mức nó sẽ không có cơ hội lưu bất kỳ dữ liệu quan trọng nào vào đĩa.
Vì vậy, điều này sẽ không được khuyến khích!
Phá hủy cửa sổ ứng dụng chính
Như chúng ta vừa học, cửa sổ ứng dụng chính chỉ là một phần của quy trình . Vì vậy, nếu chúng ta phá hủy cửa sổ đó, chúng ta vẫn sẽ có quá trình bốc mùi :(
Và điều đó thậm chí còn khó thoát khỏi hơn ứng dụng.
Đây rất có thể là cách tiếp cận nhanh nhất để cố gắng kết thúc một ứng dụng. Tránh xa ra!
Gửi WM_CLOSE
tin nhắn
Windows là một hệ điều hành dựa trên thông báo. Có nghĩa là, các thành phần nói chuyện với nhau bằng cách gửi cho nhau những tin nhắn nhỏ.
Một trong những tin nhắn này là WM_CLOSE
tin nhắn.
Nếu một ứng dụng nhận được thông báo này, nó đã được đồng ý, rằng ứng dụng này sẽ nắm bắt mọi hành động và sau đó là cuộc sống.
Nhưng mọi lập trình viên đều có thể tự quyết định cách xử lý tin nhắn của mình.
Như tài liệu đã nói với chúng tôi trước đó, hành vi mặc định sẽ là gọi DestroyWindow
và do đó thực hiện phương pháp thoát ứng dụng # 2 của chúng tôi.
Với một chút khác biệt, lần này , nó có chủ ý và chương trình có mọi cơ hội để lưu dữ liệu quan trọng.
Phần kết luận
Vì vậy, như bạn có thể thấy, chúng tôi khá hài lòng với mọi lập trình viên ở đây. Hoặc chúng tôi có nguy cơ mất dữ liệu (bạn không muốn chấp nhận rủi ro đó!).