Tôi đang cố gỡ lỗi một sự cố lạ với người dùng đã cài đặt LogMeIn. Sau một vài ngày, một số hộp thoại của tôi mà ứng dụng của tôi mở ra có thể kết thúc trên màn hình. Nếu tôi có thể phát hiện ra điều đó một cách đáng tin cậy, tôi có thể di chuyển các hộp thoại một cách có lập trình trở lại nơi chúng được hiển thị lại.Cách xác định xem ứng dụng Windows có tắt màn hình không?
Lưu ý: điều này phải làm việc cho nhiều màn hình và sử dụng API win32. Tuy nhiên, nếu bạn biết cách thực hiện điều đó từ .NET. Tôi có thể ngoại suy từ đó ...
Cập nhật: Vì tò mò, lỗi được đề cập ở trên phải làm với wxWidgets. Nếu bạn chạy một ứng dụng wxWidgets, sau đó đi bộ và để cho trình bảo vệ màn hình của bạn đi, sau đó đăng nhập từ xa với LogMeIn, sau đó thử mở một hộp thoại từ ứng dụng của bạn, bạn sẽ gặp rắc rối nếu bạn sử dụng wxDisplay :: GetFromPoint (pos) hoặc wxWindowBase :: Center() để định vị hộp thoại.
FYI: Nhấp chuột phải vào cửa sổ tắt trên thanh tác vụ, chọn di chuyển và nhấn phím mũi tên (cần di chuyển chuột). Sau đó, sử dụng chuột hoặc các phím để hoàn thành việc di chuyển. – Aardvark
ALT + Space cũng hoạt động. – kgriffs
Nếu bạn nghĩ rằng đó là một lỗi trong wxWidgets, bạn đã báo cáo nó chưa? –