[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]
{
> browsing. Q59 (How do you hide a directory?) leapt out at me as it's
something
Q53 actually.
> I have been trying to do for ages. However on closer examination the
'solution'
> proved to be calling the SETFATTR function (either directly or through it's
> DOS interrupt.) This worried me- I am SURE I tried this, and without
success.
> It worked fine for ordinary files, but NOT directories. In fact I have a
That's very strange since I have no problems when I test
}
uses Dos;
procedure HIDE (dirname : string);
var regs : registers;
begin
FillChar (regs, SizeOf(regs), 0);
dirname := dirname + #0;
regs.ah := $43;
regs.al := $01;
regs.ds := Seg(dirname[1]);
regs.dx := Ofs(dirname[1]);
regs.cx := 2; { set bit 1 on }
Intr ($21, regs);
if regs.Flags and FCarry <> 0 then
writeln ('Failed to hide');
end; (* hide *)
begin
HIDE ('r:\tmpdir');
end.
[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]