![]() |
Versteckte Ordner einblenden_ausblenden ?
hallo
wenn ich meine versteckten ordner wieder einblenden will, muß ich immer die gleiche prozedure in den explorer und dann auf ordneroptionen usw. durchführen das nervt mich, gibst da irgend einen code dafür, wo ich das mit einen buttonclick ausführen könnte ? mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Extras -> Ordneroptionen -> Ansicht -> Alle Dateien und Ordner anzeigen und danach einfach auf "Für alle übernehmen" klicken.
|
Re: Versteckte Ordner einblenden_ausblenden ?
Unsinn @ FB, das "Für alle übernehmen" gilt für Spalten, Ansicht (Liste, Details, ...), Symbolleisten und so. Nicht für die Einstellungen dadrunter ;)
Zum Problem: Registry: HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\Advanced\Hidden (DWORD-Wert, 2 --> aus, 1 --> an); ohne Gewähr. Evtl. musst du noch eine Nachricht mit HWND_BROADCAST senden, damit die Änderungen wirksam werden, musst du mal ausprobieren :) |
Re: Versteckte Ordner einblenden_ausblenden ?
ich glaube ihr habt mich falsch verstanden, wie ich das mache im explorer weiß ich
Zitat:
mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
hallo hab da was aber das funktoniert nur teilweise,
Delphi-Quellcode:
ausblenden geht aber einblenden nicht mehr ?
procedure TForm1.Button1Click(Sender: TObject);
var regist: TRegistry; begin regist := TRegistry.Create; regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced',true); regist.WriteInteger('Hidden',0); regist.free; end; procedure TForm1.Button2Click(Sender: TObject); var regist: TRegistry; begin regist := TRegistry.Create; regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced',true); regist.WriteInteger('Hidden',1); regist.free; end; mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Zitat:
Zitat:
|
Re: Versteckte Ordner einblenden_ausblenden ?
Zitat:
grz zer00 |
Re: Versteckte Ordner einblenden_ausblenden ?
hallo olli
du schreibst Zitat:
mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
|
Re: Versteckte Ordner einblenden_ausblenden ?
hallo olli,
hab mir das angeschaut, aber da blicke ich nicht durch wie ich das ausprogrammieren könnte ?? mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Zitat:
@OP: Schau mal, ich hab da 1 und 2 als Werte für den Registry-Eintrag angegeben, du verwendest aber 0 und 1 :P |
Re: Versteckte Ordner einblenden_ausblenden ?
hallo KingIR
das mit 1 und 2 habe ich schon erledigt geht trotzdem nicht, brauche das Zitat:
mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Oh, ok :)
Eigentlich sollte dann folgende Zeile reichen (einfügen nachdem der Registry-Wert gespeichert wurde):
Delphi-Quellcode:
:drunken:
Windows.SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
|
Re: Versteckte Ordner einblenden_ausblenden ?
hallo
hab das so probiert, " ausblenden "
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var regist: TRegistry; begin regist := TRegistry.Create; regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced',true); regist.WriteInteger('Hidden',2); Windows.SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0); regist.free; end; geht aber nicht !! mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
warum funktioniert dieser code nicht ?
mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
hat keiner einen rat, warum dieser code nicht funktioniert ?
versteckte ordner ausblenden !
Delphi-Quellcode:
mfg vader
procedure TForm1.Button1Click(Sender: TObject);
var regist: TRegistry; begin regist := TRegistry.Create; regist.RootKey := HKEY_CURRENT_USER; regist.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced',true); regist.WriteInteger('Hidden',2); Windows.SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0); regist.free; end; |
Re: Versteckte Ordner einblenden_ausblenden ?
Der Code funktioniert einwandfrei. Nur der Explorer interessiert sich nicht für diese Einstellung, es sei denn Du liest die Registry neu ein.
|
Re: Versteckte Ordner einblenden_ausblenden ?
hallo,
Zitat:
mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Hallo.
Warum die Registry neu einlesen, wenn der Windows Explorer seine Anzeige aktualisieren soll? Bei mir geht das:
Delphi-Quellcode:
Allerdings muss man danach das Aktualisierungszeitintervall des Explorers abwarten oder selbst aktualisieren.
procedure ShowHiddenFiles(enabled: Boolean);
const REG_KEY = '\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'; begin with TRegistry.Create do begin LazyWrite := false; if OpenKey(REG_KEY, False) then begin WriteInteger('Hidden', 2 - Ord(enabled)); CloseKey; end; Free; end; SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, Integer(PChar(REG_KEY))); end; Grüße vom marabu |
Re: Versteckte Ordner einblenden_ausblenden ?
hallo marabu,
muß ich deine procedure ShowHiddenFiles(enabled: Boolean); noch extra aufrufen wie zb. mit
Delphi-Quellcode:
oder kann ich deinen code in ein buttonclickereigniss schreiben ?
ShowHiddenFiles(true);
mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Hallo Vader,
in den event handler gehört nur der Code zur Ablaufsteuerung. Die eigentliche Funktionalität kapselt man in externen Funktionen. Dieses Vorgehen (best practice) erhöht die Wartbarkeit der Programme, aber du kannst es ruhig machen wie es dir gefällt. Freundliche Grüße vom marabu |
Re: Versteckte Ordner einblenden_ausblenden ?
hallo marabu,
ich weiß nicht warum das bei mir nicht geht ???
Delphi-Quellcode:
procedure ShowHiddenFiles(enabled: Boolean);
const REG_KEY = '\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced'; begin with TRegistry.Create do begin LazyWrite := false; if OpenKey(REG_KEY, False) then begin WriteInteger('Hidden', 2 - Ord(enabled)); CloseKey; end; Free; end; SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, Integer(PChar(REG_KEY))); end; procedure TForm1.Button3Click(Sender: TObject); begin ShowHiddenFiles(true); end; mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Wie prüfst du denn den Erfolg deiner Bemühungen?
marabu |
Re: Versteckte Ordner einblenden_ausblenden ?
hallo,
wie meinst du das marabu ? mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Du schreibst, dass es bei dir nicht geht. Woran merkst du das?
marabu |
Re: Versteckte Ordner einblenden_ausblenden ?
ja wenn ich den code ausführe, und dann den explorer öffne und nachschaue ob die versteckten ordner weg sind !
und die sind nicht weg ! mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Im Zweifelsfall musst du nach der Umschaltung des Flags in der Registry ein paarmal die Anzeige des Explorers über den Menüpunkt Ansicht - Aktualisieren neu aufbauen. Der Explorer reagiert nicht sofort auf diese Umstellung, obwohl der Broadcast abgesetzt wird. Zumindest in der Registry sollte das Flag geändert werden, was du in einem gleichzeitig geöffneten RegEdit-Fenster verfolgen kannst - auch hier nach dem Aktualisieren.
marabu |
Re: Versteckte Ordner einblenden_ausblenden ?
trotz aktualisieren geht es nicht, aber wenn es mit aktualisieren ginge wäre es schon wieder umständlich,ich wollte
das mit einen buttonclick erledigen !! mfg vader |
Re: Versteckte Ordner einblenden_ausblenden ?
Es funktioniert. Glaub es, nur der Explorer braucht nach dem öffnen komischerweise ca 1 Min, bis er die Änderung mit bekommt. Taste F5 hilft da auch nicht weiter, jedenfalls bei mir nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz