Searching way of hidden files was changed

This commit is contained in:
Yutaka Sawada
2023-03-14 10:42:14 +09:00
committed by GitHub
parent 2422cb9952
commit 372f805547
4 changed files with 51 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
// common2.c
// Copyright : 2022-10-13 Yutaka Sawada
// Copyright : 2023-03-14 Yutaka Sawada
// License : GPL
#ifndef _UNICODE
@@ -16,6 +16,7 @@
#include <stdio.h>
#include <windows.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <versionhelpers.h>
@@ -2606,3 +2607,26 @@ int delete_file_recycle(wchar_t *file_path)
*/
}
// エクスプローラーで隠しファイルを表示する設定になってるか調べる
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;
}