hidden_windows.go

 1//go:build windows
 2// +build windows
 3
 4package filepicker
 5
 6import (
 7	"syscall"
 8)
 9
10// IsHidden reports whether a file is hidden or not.
11func IsHidden(file string) (bool, error) {
12	pointer, err := syscall.UTF16PtrFromString(file)
13	if err != nil {
14		return false, err //nolint:wrapcheck
15	}
16	attributes, err := syscall.GetFileAttributes(pointer)
17	if err != nil {
18		return false, err //nolint:wrapcheck
19	}
20	return attributes&syscall.FILE_ATTRIBUTE_HIDDEN != 0, nil
21}