![]() |
Windows (Explorer) - Schreibzugriff blockieren
Guten Tag zusammen,
ich arbeite gerade an einem sehr spartanischen Programm, was die Groesse eines beliebigen Ornders ueberwacht und bei Ueberschreiten der festgelegten Grenze Alarm schlaegt. Das soll aber nicht alles sein. Natuerlich soll bei Ueberschreiten der oberen Grenze nicht mehr geschrieben werden koennen. Das heisst also, jeglicher Schreibzugriff muss umgehend blockiert werden. Hat jemand eine Ahnung, wie ich das anstellen koennte? Ich habe bereits mit Dateirechten (ACLs) gewerkelt und herumprobiert - nicht zufriedenstellend. Zwar ist der Schreibuzgriff blockiert, aber nur solange ich den Ordner nicht oeffne, bzw. nicht ein Verzeichnis schon vorhandenen Namens hineinkopiere & ersetze (dann kopiert er einfach). Zumal der Zugriff nicht sofort geblockt wird, sondern erst wenn ein neuer Schreibversuch unternommen wird (z. B. Kopierprozess bricht also nicht ab ...). Gibt es also eine direkte Moeglichkeit, den schreibenden Zugriff auf ein Verzeichnis zu unterbinden?? - mit besonderem Hinblick auf den Windows Explorer, der ist ja der >Uebeltaeter< ... Hoffe auf Hilfe - Ri PS: Habe bereits so einige Posts hier und auf anderen Foren gelesen ... |
AW: Windows (Explorer) - Schribzugriff blockieren
Kannst du nicht
![]() |
AW: Windows (Explorer) - Schribzugriff blockieren
Nein, weil es sich dabei um, wie der Name schon sagt, DATENTRAEGER-Verwaltung handelt.
Und ausserdem ist dies benutzergezogen, das will ich nicht. Und ich moechte auch sehen, wieviel von dem Kontingent belegt ist, und wieviel frei (Progressbar). Klappt ja schon alles - Ueberwachen des Verzeichnisses auf Aktivitaeten, Auslesen der Speicherplatzauslastung + visuelle Anzeige ... Nur eben die Zugriffsblockade nicht ... :-( -- |
AW: Windows (Explorer) - Schribzugriff blockieren
Du könntest notfalls einen Hook verwenden.
|
AW: Windows (Explorer) - Schribzugriff blockieren
Kann man das bitte etwas genauer formulieren(?).
Ich kann damit kaum etwas anfangen (Hook, schonmal gehoert, glaube ich, ein Schlüsselereignis aufzufangen und weiterzuverarbeiten??) ... |
AW: Windows (Explorer) - Schribzugriff blockieren
Oder ein Serverbetriebssystem (ab 2003 R2):
Code:
dirquota quota add /path:c:\klein /limit:100KB
|
AW: Windows (Explorer) - Schribzugriff blockieren
Hook:
Du leitest Systemfunktionen (WinAPI) um, also alle welche für Dateizugriffe vorhanden sind. Darin prüfst du die "Erlaubnis", wenn es eraubt ist, dann wird zur ursprünglichen API weitergeleitet und wenn nicht, dann dieses entsprechend behandelt. |
AW: Windows (Explorer) - Schreibzugriff blockieren
Ich soll also Windows 7 aufgeben und stattdessen ein Serverbetriebssystem aufspielen???!!!!!!!! *kopfschuettel* :?
Ich will nicht, dass ihr meine Idee neu erfindet oder sagt, wie man es anders machen kann, sondern mein wirkliches Problem, die Schreibzugriffssperre, ernst nehmt. Zumal mein Porgramm ja auch die wichtige visuelle Komponente hat. |
AW: Windows (Explorer) - Schribzugriff blockieren
Union hat Dich schon ernst genommen. Um Dich in Hooks vernünftig einzuarbeiten (also soweit, daß Du Dich trauen kannst, den Code auch auf fremden Rechnern laufen zu lassen), rechne mal eine gute Woche Arbeitszeit. Ein wirklich ernsthaftes Auseinandersetzen vorausgesetzt, also nicht mit der Attitüde "ich will nicht daß ihr...".
In der Zeit kannst Du, wenn Du das Programm nur für Dich oder ein paar bestimmte Rechner brauchen solltest, etliche Betriebssystemsumstellungen hinbekommen. Als Alternatividee würde ich doch wieder Union erst nehmen - was die Serverversion kann, steckt vielleicht auch, nur ohne Userinterface, in anderen Versionen. Finde also raus, mit welchem Feature Win2003R2 aufwärts das macht, und schaue nach, ob sich das irgendwo in der Windows API versteckt. |
AW: Windows (Explorer) - Schribzugriff blockieren
Windows unterstützt ja ab XP bereits DiskQuota (glaub "Kontingent" auf Deutsch). Auf Verzeichnisebene wird es wesentlich komplizierter und erfordert evtl. nicht "nur" Hooks sondern Kerneltreiber. Und bei der Begrenzung hört es ja nicht auf. Schön wäre ja auch eine Simulation der Ermittlung des freien Speicherplatzes, das kriegt ja auch Windows Server weder bei Disk- noch bei Dir-Quota hin. D.h. Benutzer sieht Eigenschaften (1 TB frei) und er hat eigentlich nur noch 1 KB zur Verfügung.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 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 by Thomas Breitkreuz