用于切换"显示隐藏文件,文件夹和驱动器"的API

dbk*_*bkk 6 c# winapi windows-explorer windows-shell

Windows API中是否有一个函数可以在Windows资源管理器中切换"显示隐藏文件,文件夹和驱动器"选项(工具>>文件夹选项... >>视图选项卡).

我知道一个相关的注册表项,但更改它不会立即生效.关键是:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced/Hidden

试图从C#中做到这一点,但问题不是语言特定的.

ano*_*orm 4

您可以尝试此线程中OP建议的选项,即:

任何一个

 SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
Run Code Online (Sandbox Code Playgroud)

或者

 RefreshPolicyEx(False, RP_FORCE);
Run Code Online (Sandbox Code Playgroud)

或者

 SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, integer(pchar('Policy')), SMTO_NORMAL or SMTO_ABORTIFHUNG, 5000, c1);
Run Code Online (Sandbox Code Playgroud)

这些不在 .NET C# API 中,因此您必须使用DllImport

编辑:格式化