Điều tôi muốn làm là kiểm tra xem ứng dụng của tôi có tập trung hay không vì nếu không thì tôi sẽ bật Cửa sổ cảnh báo ngay trên Vùng thông báo để hiển thị một số thông báo cho người dùng cuối.Làm cách nào để kiểm tra xem ứng dụng của tôi có tập trung không?
Trả lời
Gọi Windows.GetForegroundWindow()
và sau đó chuyển HWND
tới chức năng Controls.FindControl()
. Nó sẽ trả về một con trỏ không phải là TWinControl
nếu số HWND
thuộc về quá trình của bạn. Ví dụ:
if FindControl(GetForegroundWindow()) <> nil then
// has focus ...
else
// does not have focus ...
Nếu ứng dụng của bạn bao gồm một hình thức duy nhất, sau đó
GetForegroundWindow = Handle
sẽ đủ. Biểu thức ở trên là đúng nếu và chỉ khi biểu mẫu của bạn là cửa sổ nền trước, tức là, nếu tiêu điểm bàn phím thuộc về điều khiển trên biểu mẫu này (hoặc chính biểu mẫu).
Nếu ứng dụng của bạn bao gồm một số biểu mẫu, chỉ cần lặp qua các biểu mẫu đó và kiểm tra xem có bất kỳ biểu mẫu nào trong số đó phù hợp với GetForegroundWindow
hay không.
Một biến thể nhẹ trên Remys phản ứng là:
Var
Win: TWinControl;
Begin
Win := FindControl(GetForegroundWindow);
if Win <> nil then
// StringGrid1.Row :=5;
// StringGrid1.SetFocus;
biên soạn ok đối với tôi, nhưng tôi thấy nó không đáng tin cậy trong gỡ lỗi, các stringgrid.setfocus được gọi ngay cả khi cửa sổ isn' t tập trung gây ra lỗi.
D2007 có thuộc tính hữu ích này
if Application.Active then
//
- 1. Làm thế nào để bạn kiểm tra xem một widget có tập trung vào Tkinter không?
- 2. Kiểm tra xem phần tử DOM có tập trung
- 3. JavaScript/jQuery: Kiểm tra xem cửa sổ có tập trung
- 4. Làm cách nào để kiểm tra xem ứng dụng của tôi có được đặt mặc định hay không trong Android?
- 5. Làm cách nào để tìm hiểu vị trí tập trung trong ứng dụng WPF của tôi?
- 6. Làm cách nào để buộc ứng dụng của tôi tiến lên phía trước và tập trung?
- 7. Làm cách nào để kiểm tra xem ứng dụng của tôi có quyền truy cập vào thư viện điện thoại
- 8. Làm cách nào để kiểm tra cách khách hàng sử dụng ứng dụng Cocoa của tôi?
- 9. Làm thế nào để kiểm tra xem một phần tử dom có thể tập trung được không?
- 10. Cách xác định xem ứng dụng của tôi có đang hoạt động hay không (đã tập trung)
- 11. Làm cách nào để kiểm tra xem lệnh có tồn tại trong tập lệnh shell không?
- 12. Làm cách nào để kiểm tra xem chế độ xem phương thức hiện có trên self.window.rootViewController của tôi không?
- 13. Làm cách nào để kiểm tra xem tôi có thể xóa tệp không?
- 14. Làm cách nào để kiểm tra xem dòng có trống trong tập lệnh shell không?
- 15. Tôi làm cách nào để kiểm tra ứng dụng tab trang facebook của mình từ localhost
- 16. Làm cách nào tôi có thể kiểm tra xem ảnh ảo có trống hay không
- 17. Làm cách nào để kiểm tra ActiveRecord :: RecordNotFound trong ứng dụng đường ray của tôi?
- 18. Cách khởi chạy Ứng dụng, từ Ứng dụng của tôi, với thông số tùy chỉnh để tôi có thể kiểm tra xem ứng dụng có được khởi chạy bởi tôi không?
- 19. Làm cách nào để kiểm tra xem tôi có cần cài đặt VCRedist không?
- 20. Có cách nào để kiểm tra xem tập lệnh có đang chạy bởi PowerShell ISE không?
- 21. Tôi làm cách nào để phát hiện ứng dụng hiện đang tập trung?
- 22. kiểm tra tập trung với Capybara
- 23. Làm cách nào để kiểm tra xem internet có khả dụng hay không trong khởi động ứng dụng trong Android?
- 24. Tôi làm cách nào để kiểm tra xem tệp có tồn tại không?
- 25. Tôi có nên sử dụng kiểm tra điều kiện tiên quyết để kiểm tra kết quả trung gian không?
- 26. Kiểm tra xem tập lệnh php có đang chạy không
- 27. Cách kiểm tra xem JCheckBox có được kiểm tra không?
- 28. Làm cách nào để kiểm tra xem chương trình của tôi có dữ liệu được truyền vào trong số
- 29. Làm cách nào để kiểm tra xem ứng dụng giao diện điều khiển Delphi của tôi có được chuyển hướng đến tệp hoặc đường ống không?
- 30. Cách kiểm tra xem máy ảnh có được mở bằng bất kỳ ứng dụng nào không