feat, win10, virtual display, not support message

Signed-off-by: fufesou <shuanglongchen@yeah.ne>
This commit is contained in:
fufesou
2023-11-20 21:44:25 +08:00
parent 3a6f56ebbc
commit 83dbf88ffb
47 changed files with 134 additions and 83 deletions

View File

@@ -1,3 +1,5 @@
use hbb_common::platform::windows::is_windows_version_or_greater;
pub use super::win_topmost_window::PrivacyModeImpl;
pub(super) const PRIVACY_MODE_IMPL: &str = "privacy_mode_impl_exclude_from_capture";
@@ -5,5 +7,5 @@ pub(super) const PRIVACY_MODE_IMPL: &str = "privacy_mode_impl_exclude_from_captu
pub(super) fn is_supported() -> bool {
// https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowdisplayaffinity
// https://en.wikipedia.org/wiki/Windows_10_version_history
crate::platform::windows::is_windows_version_or_greater(10, 0, 19041, 0, 0)
is_windows_version_or_greater(10, 0, 19041, 0, 0)
}

View File

@@ -357,6 +357,10 @@ impl PrivacyMode for PrivacyModeImpl {
}
fn turn_on_privacy(&mut self, conn_id: i32) -> ResultType<bool> {
if !virtual_display_manager::is_virtual_display_supported() {
bail!("idd_not_support_tip");
}
if self.check_on_conn_id(conn_id)? {
log::debug!("Privacy mode of conn {} is already on", conn_id);
return Ok(true);