如,文件夹名称是:568
22
547
当打开含有“数字”名称的文件夹或纯数字的文件夹时,自动关闭该文件夹, 就是不想让用户打开含有数字的文件夹
禁止
这个禁止,不光指我的电脑,c盘,资源管理器的打开方式
也包括禁止其它程序的浏览,如qq的传送文件时,不也要浏览文件夹,这种方式也要禁止最好有代码
22
547
当打开含有“数字”名称的文件夹或纯数字的文件夹时,自动关闭该文件夹, 就是不想让用户打开含有数字的文件夹
禁止
这个禁止,不光指我的电脑,c盘,资源管理器的打开方式
也包括禁止其它程序的浏览,如qq的传送文件时,不也要浏览文件夹,这种方式也要禁止最好有代码
解决方案 »
- TDBGridEh 选中行,现在只等单元格着色,怎么整行着色
- 李林星U盘启动盘WINPE,一键GHOST,MAXDOS,VEKET四启动的启动盘
- ComboBox改进-能实现模糊搜索和定位
- delphi 中关于mdi 子窗口关闭的问题,各位在开发中可能遇到过......跟贴有分
- 130分求Fastreport稳定版本、名称
- 一个对数组数的判断
- 这个文件如何保存?
- 请教一个多用户的问题:
- 请问怎样改变数据库时间的格式(就这些分了,大家别嫌弃)
- 不知谁那么可恶--把我的分给偷了,害得我现没有分给别人,求求以后不要这样了
- TIdHttpServer 问题
- 【提问】Delphi什么类型的变量不需要Free/FreeAndNil?
不包括cmd浏览
另外,我想说的是,没要求哪么高,其它程序浏览时,会弹出一个“打开”的窗口,只要打开窗口浏览到含有数字的文件夹时,把它关掉就行
用到了RegisterShellHookWindow监视窗口的创建
http://blog.csdn.net/wojiaosha123/article/details/4354619
比如资源管理器浏览文件夹的窗口的标题就是文件夹的名字,类名是CabinetWClass,比较一下即可
资源管理器文件夹的是CabinetWClass,qq的是TXGuiFoundation
http://temp.itsong.com/RegisterShellHook.rarprocedure TMainForm.WindowCreated(var message: TMessage);
var
classname: array[0..254] of char;
windowname: array[0..254] of char;
{ 检测字串是否包含数字 }
function CheckNumContained(const s: string): Boolean;
var
i: Integer;
begin
for i := 1 to Length(s) do
begin
if s[i] in ['0'..'9'] then
begin
Result := True;
Exit;
end;
end;
Result := False;
end;
begin
case message.WParam of
HSHELL_WINDOWCREATED:
begin
FillChar(classname[0], 255, 0);
FillChar(windowname[0], 255, 0);
GetClassName(message.LParam, classname, 255);
GetWindowText(message.LParam, windowname, 255);
mmoLog.Lines.Add('Window created name:' + windowname + ' class:' + classname);
if classname = 'CabinetWClass' then
begin
if CheckNumContained(windowname) then
begin
SendMessage(message.LParam, WM_CLOSE, 0, 0);
end;
end;
end;
end;
end;
另外,你的代码要改成 PostMessage(message.LParam,WM_close,0,0);才有效
但为什么只对c盘和桌面的文件夹有效果,e盘的数字文件夹没效果?
希望能达到一楼要求?