mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-15 23:25:49 +01:00
* feat: Add Content Protection for Windows and macOS - Prevents window contents from being captured by screen recording/sharing software - Windows: Uses WDA_EXCLUDEFROMCAPTURE on Windows 10 2004+, falls back to WDA_MONITOR - macOS: Uses NSWindowSharingType to set window as read-only for screen sharing - Added ContentProtectionEnabled option to WebviewWindowOptions - Added SetContentProtection() method for runtime control - Added comprehensive documentation and example usage * fix changelog.mdx * Misc fixes * Misc fixes * Update v3/pkg/w32/user32.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Remove debug line --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
21 lines
503 B
Go
21 lines
503 B
Go
//go:build windows
|
|
|
|
package w32
|
|
|
|
const (
|
|
WDA_NONE = 0x00000000
|
|
WDA_MONITOR = 0x00000001
|
|
WDA_EXCLUDEFROMCAPTURE = 0x00000011 // windows 10 2004+
|
|
)
|
|
|
|
func SetWindowDisplayAffinity(hwnd uintptr, affinity uint32) bool {
|
|
if affinity == WDA_EXCLUDEFROMCAPTURE && !IsWindowsVersionAtLeast(10, 0, 19041) {
|
|
// for older windows versions, use WDA_MONITOR
|
|
affinity = WDA_MONITOR
|
|
}
|
|
ret, _, _ := procSetWindowDisplayAffinity.Call(
|
|
hwnd,
|
|
uintptr(affinity),
|
|
)
|
|
return ret != 0
|
|
}
|