:idea: :idea: :idea: Delphi'de Klasör Gizleme-Gösterme :idea: :idea: :idea:
Bazı durumlarda önemli klasörleri bir programa ihtiyaç duymadan en kısa yoldan gizlemek için,attrib komutunu kullanabiliriz.attrib komutunun aldığı parametreler:
attrib -h -s -r -a
attrib +h +s +r +a
komut satırında attrib +h klasöradı klasörü gizler.attrib -h klasöradı gizli olan klasörü gösterir. h(hidden) parametresi tek başına kullanıldığında klasörü gizler.fakat kullanıcı Klasör seçenekleri--->Görünüm-->Gizle Dosya ve Klasörleri göster seçeneğini işaretlerse bu gizli klasörlere görebilir.s(system) parametresini de kullanırsak bu seçenek işaretli olsa bile gizli olan klasör görünmez.Ancak Korunan işletim sistemi dosyalrını gizle işareti kaldırılırsa gizlenmiş klasörler görünebilir.
Örnek d: sürücüsünde deneme klsörünü gizlemek için komut satırında:
attrib +h +s +r +a d:\deneme
Gizli olan klasörü göstermek için komut satırında attrib -h -s -r -a d:\deneme yazıp klasörü görünür hale getiriyoruz yada klasörü görünür hale getirmeden erişmek için Explorer'dan klasörün path'ini yazıp yani d:\deneme enter'lersek klasörün içine erişiriz.
Bu işlemleri Delphi'de WinExec Fonksiyonunu kullanrak yapalım:
WinExec(pchar('C:\WINDOWS\system32\cmd.exe /c attrib -h -s -r -a d:\deneme'),SW_HIDE);
WinExec(pchar('C:\WINDOWS\system32\cmd.exe /c attrib +h +s +r +a d:\deneme'),SW_HIDE);
Delphi'de ShellTreeView kullanarak istediğimiz klasörlerin yolunu Edit'e atıp klasör gizleme/gösterme için örnek bir program yapalım:
Kod:
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Edit1.Text:=ShellTreeView1.Path;
end;
Kod:
procedure TForm1.BitBtn1Click(Sender: TObject);
var dizin:string;
begin
dizin:=Edit1.Text;
WinExec(pchar('cmd.exe /c attrib +h +s' + dizin),SW_HIDE);
end;
Kod:
procedure TForm1.BitBtn2Click(Sender: TObject);
var dizin:string;
begin
dizin:=Edit1.Text;
Winexec(pchar('cmd.exe /c attrib -h -s ' + dizin),SW_HIDE);
end;
RedeFine