dephi中如何通过一个按钮实现隐藏与显示隐藏文件之间的切换。希望提供代码,谢谢!
解决方案 »
- 求一字符串查找定位比较方案
- 各位朋友请问个WINDOWS栏目窗口的问题
- 请各位高手提供意见:将VS2003的C#程序迁移到VS2005有必要吗?
- 100分的难题:fastreport报表如何实现针式打印机、连续走纸(纸张两边带小孔)、的套打??
- 如何快速的找到屏幕上颜色
- 急!急!!急!!!麻烦大家帮我看看为什么这个数据不能进数据库。
- 请问ehlib控件包中printDbgridEh怎样设置横向打印?
- ADOQuery中两条SQL语句是否能一起执行(ExecSQL)?
- 脱字号表达的字符:Caption := ^:^3^7^!^.^运行一下,我的程序怎么变成zswang的了?为什么?
- 在Delphi5中怎样将Form的Caption Bar去掉??????请各位不吝赐教!
- D2007 关于从D7升级来的工程 控件样式不能跟随桌面主题变化
- delphi 全书变量的问题
将CheckedValue键值修改为1即可显示,改为0就是隐藏……
程序……就一个注册表的修改,不至于很难吧
别忘了uses Registry
多谢liangpei2008的提醒和补充
procedure TForm1.Button1Click(Sender: TObject);
var
r:Tregistry;
begin
r := Tregistry.Create;
r.RootKey := HKEY_LOCAL_MACHINE;
r.OpenKey('SOFTWARE\youkey',true);
r.Writestring('youval','11111');
showmessage(r.Readstring('youval'));
r.Free;
end;
寒……
上面是一个例子,你参照着改下
var
myReg:TRegistry;
begin
myReg:=TRegistry.Create;
myReg.RootKey:=HKEY_LOCAL_MACHINE;
myReg.OpenKey('Software\Microsoft\windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL',True);
myReg.WriteInteger('CheckedValue',1);
SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_idlist,nil, nil);
myReg.CloseKey;
myReg.Free;
end;
你的 SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_idlist,nil, nil); 放在这里?我没这样试过不知道有没有用……
放在regfree后面试试……
我看到注册表中CheckedValue已改为00000001了,但即使重启电脑,隐藏文件夹仍然看不到。
CheckedValue已改为0后,通过工具-文件夹选项-查看-显示所有文件,将显示不了隐藏文件;
CheckedValue已改为1后,还是要通过工具-文件夹选项-查看-显示所有文件,隐藏文件才能显示。而我是想实现:
按一下按钮可以显示隐藏文件,再按一下就又隐藏文件,从而代替“工具-文件夹选项-查看-显示所有文件”冗长的过程。
procedure TForm1.Button1Click(Sender: TObject);
begin
application.Minimize;
keybd_event(92,0,0,0);
keybd_event(68,0,0,0);
keybd_event(68,0,KEYEVENTF_KEYUP,0);
keybd_event(92,0,KEYEVENTF_KEYUP,0);
Sleep(500);
keybd_event(93,0,0,0);
keybd_event(93,0,KEYEVENTF_KEYUP,0);
Sleep(500);
keybd_event(69,0,0,0);
keybd_event(69,0,KEYEVENTF_KEYUP,0);
application.Restore;
end;
……在车上颠了几个小时,刚下来头还是晕的……
var
myReg:TRegistry;
begin
myReg:=TRegistry.Create;
myReg.RootKey:=HKEY_LOCAL_MACHINE;
myReg.OpenKey('Software\Microsoft\windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL',True);
myReg.WriteInteger('CheckedValue',1);
SHChangeNotify(SHCNE_ASSOCCHANGED,SHCNF_idlist,nil, nil);
myReg.CloseKey;
myReg.Free;
end; 那你就先看CheckedValue 的值啊,是1就改为0,是零就变1