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}