Autor Beitrag
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Do 21.08.03 19:02 
Hallo,
wie kann ich mit meinem Delphi-Programm (Delphi 6) die Windowseinstellung (WinXP) "Versteckte Dateien anzeigen" ändern??

Das geht doch bestimmt irgendwie oder???

Gruß Andi

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 19:59 
Wenn ich so etwas wissen möchte, dann benutze ich die jeweilige Funktion, merke mir aber vorher den Ausgangszustand, so dass ich hinterher etwas zum Vergleichen habe. Ich helfe dir auch auf die Sprünge: in dem Fall wird die notwendige Information in der Registry gespeichert (unter HKCU). Und da sich auch nur ein Wert ändert, dürfte eine Suche und ein Vergleich nicht allzu lange dauern.
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 21.08.03 20:16 
nette Hilfe !

der Schlüssel ist unter WinXP:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

"ShowSuperHidden"=dword:00000001 bzw. 0

grez
msch
Andi1982 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Do 21.08.03 20:20 
Oh vielen Dank!!! Das mit der Reg. hab ich mir fast gedacht, bin aber da nicht so fit drin.

Vielen Dank euch beiden!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 21.08.03 21:41 
MSCH hat folgendes geschrieben:
der Schlüssel ist unter WinXP:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

"ShowSuperHidden"=dword:00000001 bzw. 0

Siehste, schon daneben. "Versteckte Dateien und Ordner" ist nämlich der Schlüssel "Hidden". Das, was du da geschrieben hast, ist die Einstellung "Geschützte und Systemdateien ausblenden". - btw: Auch ein guter Link zum Thema: wo kann ich was in der Registry machen: [url]www.regedit.com[/url]
bf109g.01
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84



BeitragVerfasst: Do 17.02.11 14:53 
Hi, ich bin an dem selben problem dran:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Button1Click(Sender: TObject);
var Reg : TRegistry;
    Keys : TStringList;
    I: Integer;
begin
  L.clear; // Listbox
  Reg := TRegistry.Create;
  Keys := TStringList.Create;
  Reg.Rootkey := HKEY_CURRENT_USER;
  if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced', False) then
  begin
     Reg.GetValueNames(Keys);
  end;
  Reg.Free;

  // Darstellung der Schlüsselliste
  for I := 0 to Keys.Count - 1 do
  L.Items.add(Keys[i]);
end;

So. Jetzt habe ich eine nutzlose Listbox, welche die Parameter für den Explorer enthält (will ich im Endprogramm gar nicht haben, das soll nur über die Konsole laufen...).
Weiter komme ich jetzt an der Stelle nicht mehr.
Wie kann ich jetzt die Eigenschaft von 'Hidden' (=Keys[0]) so ändern, dass die versteckten Dateien nun ein-/ausgeblendet werden.

ausblenden Delphi-Quelltext
1:
2:
3:
Reg.WriteString('Hidden''0'); // Geht nicht :(

Keys[0]:='dword:00000001'// wird vom Compiler nicht akzeptiert... :(

Was nun?
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Sa 19.02.11 16:54 
So gehts (Windows 7):
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg : TRegistry;
  Key : string;
  Wnd : HWnd;
begin
  Key := '\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced';
  Reg := TRegistry.Create;
  try
    Reg.Rootkey := HKey_Current_User;
    Reg.OpenKey(Key, false);
    Reg.WriteInteger('Hidden'1);
    Reg.WriteInteger('SuperHidden'1);
    Reg.WriteInteger('ShowSuperHidden'1);
    Label1.Caption := 'Versteckte Dateien werden angezeigt.';
  finally
    Reg.Free;
  end;
  // Alle Instanzen des WindowsExplorers aktualisieren.
  // 41504 --> Löst die Aktualisierung aus (entspricht Drücken von F5).
  Wnd :=  FindWindow('CabinetWClass'nil);
  while Wnd <> 0 do
    begin
      SendMessage(Wnd, wm_Command, 415040);
      Wnd := FindWindowEx(0, Wnd, 'CabinetWClass'nil);
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Reg : TRegistry;
  Key : string;
  Wnd : HWnd;
begin
  Key := '\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced';
  Reg := TRegistry.Create;
  try
    Reg.Rootkey := HKey_Current_User;
    Reg.OpenKey(Key, false);
    Reg.WriteInteger('Hidden'2);
    Reg.WriteInteger('SuperHidden'0);
    Reg.WriteInteger('ShowSuperHidden'0);
    Label1.Caption := 'Versteckte Dateien werden NICHT angezeigt.';
  finally
    Reg.Free;
  end;
  // Alle Instanzen des WindowsExplorers aktualisieren.
  // 41504 --> Löst die Aktualisierung aus (entspricht Drücken von F5).
  Wnd :=  FindWindow('CabinetWClass'nil);
  while Wnd <> 0 do
    begin
      SendMessage(Wnd, wm_Command, 415040);
      Wnd := FindWindowEx(0, Wnd, 'CabinetWClass'nil);
    end;
end;

Für diesen Beitrag haben gedankt: bf109g.01