tôi tò mò, thông báo Win32 được phát sóng là những gì khi số lượng màn hình trong những thay đổi hệ thống? Tôi nghĩ đó là WM_DISPLAYCHANGE nhưng tôi đã sai.Thông báo khi số lượng màn hình thay đổi là gì?
6
A
Trả lời
10
này là khá dễ dàng để kiểm tra với Microsoft Spy++
. Trong trường hợp của tôi, tôi đã kiểm tra trên Windows 7 x64 với hai màn hình được kết nối và tắt màn hình thứ hai và bật lại.
Khi tháo một màn hình bạn sẽ thấy một WM_DISPLAYCHANGE
, nhưng không phải khi thêm một màn hình.
Bạn sẽ thấy WM_DEVICECHANGE
với DBT_DEVNODES_CHANGED
(sau RegisterDeviceNotification).
Bạn sẽ thấy WM_SETTINGCHANGE
cho SPI_SETWORKAREA
và SPI_ICONVERTICALSPACING
.
Và bạn sẽ thấy thông điệp đăng ký "UxdDisplayChangeMessage" và "HotplugDetected" (thứ hai người duy nhất khi thêm màn hình). Bạn có thể sử dụng RegisterWindowMessage để nhận số nhận dạng cho các thư này.
Các vấn đề liên quan
- 1. Nhận thông báo khi DTE.ActiveDocument thay đổi
- 2. Thông báo tắt màn hình Android trên/
- 3. Bật sáng màn hình khi thông báo nhận được android
- 4. Android Facebook màn hình khóa thông báo
- 5. Làm biểu tượng thông báo với số lượng thông báo
- 6. - thay đổi thông báo
- 7. mảnh ViewPager biến mất khi thay đổi màn hình xoay
- 8. Cách thay đổi cảnh khi ở chế độ toàn màn hình trong JavaFX và tránh thông báo "Bấm ESC để thoát toàn màn hình"
- 9. Thông báo khi màn hình được kết nối hoặc ngắt kết nối
- 10. Cách tốt nhất để nhận thông báo lựa chọn UITextField đã thay đổi thông báo là gì?
- 11. Thông báo trên Màn hình Chrome - kích thước lớn hơn
- 12. Nhận số màn hình
- 13. Màn hình thay đổi bảng Oracle
- 14. cách thay đổi thời gian đóng của thông báo trên màn hình HTML5 để không tự động đóng?
- 15. Thay đổi thông báo tạm dừng
- 16. nếu số lượng thông báo bằng không, tôi muốn những gì tôi có ngay bây giờ (hộp) nhưng nếu không phải là 0 Tôi muốn hộp được thay đổi thành huy hiệu với số thông báo
- 17. Cách mở màn hình chính khác được hiển thị trên màn hình chính khi thông báo đẩy nhận được
- 18. Thông báo trên iPhone khi thay đổi mạng wifi
- 19. Thay đổi kích thước hình ảnh trong thông báo kiểu hình ảnh lớn
- 20. Thông báo cho chủ đề khi thay đổi bộ đếm
- 21. API để nhận thay đổi vùng màn hình?
- 22. Android: sử dụng registerContentObserver() để được thông báo khi số liên lạc được thay đổi
- 23. Thông báo trên Màn hình HTML5 (lý tưởng với Góc)
- 24. Thông báo Đẩy của Apple với số lượng lớn
- 25. Chế độ xem thông báo màn hình khóa Android thông báo với Ripple và Nhấn đúp
- 26. Thay đổi Bố cục Thông báo
- 27. Android cách hiển thị thông báo trên màn hình
- 28. thông báo thay đổi couchdb-python
- 29. Thay đổi thông số không hiển thị trên máy chủ báo cáo sau khi triển khai
- 30. Mã thông báo có nghĩa là gì?
Một trường hợp cạnh tôi có thể nghĩ ra được thêm một màn hình được phản ánh màn hình thay vì mở rộng nó. Nó vẫn sẽ nhận được 'SPI_SETWORKAREA' nếu khu vực làm việc không thay đổi? – indiv
@indiv Tôi không biết. Kết quả là từ các bài kiểm tra tôi vừa thực hiện. Bạn có thể dễ dàng kiểm tra chính mình bằng Spy ++. Nếu tôi phải đoán, I'ld mong đợi để xem UxdDisplayChangeMessage, HotplugDetected và WM_DEVICECHANGE, nhưng không WM_DISPLAYCHANGE và WM_SETTINGCHANGE. –
@WernerHenze: Cảm ơn. 'WM_SETTINGCHANGE' với' wParam == SPI_SETWORKAREA' dường như thực hiện thủ thuật để thêm và loại bỏ các màn hình trên tất cả các hệ điều hành xuống XP. Tôi không chắc chắn về phần còn lại của các giải pháp đề xuất của bạn mặc dù. Nếu Spy ++ cho thấy một cái gì đó, nó không có nghĩa rằng đó là một cách tiếp cận tài liệu. – c00000fd