在程序中怎么调用设置文件夹选项的功能?

日总是我哥 2008-11-04 11:17:15
如图,当用户选择了“隐藏所有文件和文件夹”点确定了之后,资源管理器中就不会显示带隐藏属性的文件(夹)了,在程序中怎么调用这个功能?


...全文
349 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
日总是我哥 2008-11-07
  • 打赏
  • 举报
回复
僵哥一语惊醒梦中人啊~~~

犯了大错误,这种修改一直在LOCAL_MACHINE下找。。。。

僵哥 10:10:32
要改的键值在:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
palmax 2008-11-07
  • 打赏
  • 举报
回复
改注册表不难,但我觉得不是上面说的那个注册表项,不妨安装个regsnap工具,修改前后各做一次快照,然后找不同就是了

关键是修改后立即生效, SendMessageTimeout SendMessage(HWND_BROADCAST, ...) 消息用 WM_SETTINGCHANGE, 参数也用过 "Policy"、 "Environment" 好像没有效果

可以试试cmd命令: RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
aiirii 2008-11-07
  • 打赏
  • 举报
回复
SendMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
'SendMessageTimeout HWND_BROADCAST, WM_SETTINGCHANGE, 0, "Environment", SMTO_ABORTIFHUNG, 5000, 0

类似上面的方式,参数不一定对

僵哥 2008-11-07
  • 打赏
  • 举报
回复
发个消息刷新一下.
日总是我哥 2008-11-06
  • 打赏
  • 举报
回复
还是没明白,

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Advanced\Folder\Hidden\
修改HIDDEN或SHOWALL下面的CheckedValue值为0?

我这边修改后没有效果。
palmax 2008-11-04
  • 打赏
  • 举报
回复
RunDll32.exe shell32.dll,Options_RunDLL 0
Tinary3v0 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 laiyiling 的回复:]
就是改注册表的选项啊!!!!!!!

你通过浏览器去修改也是修改注册表! 大不了最后加一个通知注册表变化
[/Quote]

支持 就是注册表的问题,修改后要想立马生效,刷新一下当前的文件夹窗口就行了么。
Kudeet 2008-11-04
  • 打赏
  • 举报
回复
就是改注册表的选项啊!!!!!!!

你通过浏览器去修改也是修改注册表! 大不了最后加一个通知注册表变化
日总是我哥 2008-11-04
  • 打赏
  • 举报
回复
我没说清楚。

我要实现的是 在程序中设置“显示”或“隐藏”,设置之后,资源管理器立即生效,隐藏或显示文件。
Kudeet 2008-11-04
  • 打赏
  • 举报
回复
在注册表键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \Explorer\Advanced\Folder\Hidden下有两个子键:HIDDEN、SHOWALL,分别代表文件夹选项——查看对话框中的 “不显示隐藏的文件和文件夹”和“显示所有的文件和文件夹”。你也可以自己创建类似的子键,也会在对话框中添加子定义的Radio按钮(不过就没有相对应的功能哦)。每个键下有键值名CheckedValue,正常情况下对应键值
1(显示所有的文件和文件夹)、2(不显示隐藏的文件和文件夹)。也就是说当你选中了相应的Radio后,会将控制值1或2送到相关的处理程序。例如:
somefunc()
{
swtich(type)
{
case 1:
ShowAll();
break
case 2:
default:
Hide();
}
}
“文件夹保密专家”一类的程序将SHOWALL的CheckedValue改为0或其他数值,这样,当控制值被送到处理程序时,没有相应的处理程序,则系统不会将隐藏的文件显示出来,所以下一次打开该对话框时,系统获得的数据仍然是文件的隐藏状态,使Radio总是指向“不显示隐藏文件和文件夹”了。:
日总是我哥 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 palmax 的回复:]
RunDll32.exe shell32.dll,Options_RunDLL 0
[/Quote]
谢谢,这个是显示选项对话框。我需要调用点击“确定”所完成的功能。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧