Searching way of hidden files was changed

This commit is contained in:
Yutaka Sawada
2023-03-14 10:45:32 +09:00
committed by GitHub
parent 313228993a
commit 37ba273255
4 changed files with 53 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
// common.c
// Copyright : 2022-01-20 Yutaka Sawada
// Copyright : 2023-03-14 Yutaka Sawada
// License : The MIT license
#ifndef _UNICODE
@@ -16,6 +16,7 @@
#include <stdio.h>
#include <windows.h>
#include <shlobj.h>
#include "common.h"
@@ -1013,3 +1014,26 @@ void print_win32_err(void)
LocalFree(lpMsgBuf);
}
// エクスプローラーで隠しファイルを表示する設定になってるか調べる
unsigned int get_show_hidden(void)
{
unsigned int rv;
SHELLSTATE ssf;
// Explorer の設定を調べる
SHGetSetSettings(&ssf, SSF_SHOWALLOBJECTS | SSF_SHOWSUPERHIDDEN, FALSE);
// 隠しファイルを表示するかどうか
if (ssf.fShowAllObjects){ // 表示する設定なら
// 保護されたオペレーティングシステムファイルを表示するかどうか
if (ssf.fShowSuperHidden){ // 表示する設定なら
rv = 0;
} else { // 隠し属性とシステム属性の両方で判定する
rv = FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM;
}
} else { // 隠しファイルを表示しない場合は、隠し属性だけで判定する
rv = FILE_ATTRIBUTE_HIDDEN;
}
return rv;
}