AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows (Explorer) - Schreibzugriff blockieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows (Explorer) - Schreibzugriff blockieren

Ein Thema von trebor90 · begonnen am 28. Sep 2011 · letzter Beitrag vom 6. Okt 2011
Antwort Antwort
Seite 1 von 3  1 23      
trebor90

Registriert seit: 28. Mai 2009
43 Beiträge
 
#1

Windows (Explorer) - Schreibzugriff blockieren

  Alt 28. Sep 2011, 01:13
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 ...
"Es amüsiert mich immer wieder, wenn Menschen all ihr Unglück dem Schicksal, dem Zufall oder dem Verhängnis zuschreiben, während sie ihre Erfolge oder ihr Glück mit ihrer eigenen Klugheit, ihrem Scharfsinn oder ihrer Einsicht begründen."

Geändert von Luckie (30. Sep 2011 um 19:17 Uhr) Grund: Tippfehler im Beitragstitel korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 06:10
Kannst du nicht Windows-Bordmittel für sowas verwenden?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
trebor90

Registriert seit: 28. Mai 2009
43 Beiträge
 
#3

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 07:51
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 ...



--
"Es amüsiert mich immer wieder, wenn Menschen all ihr Unglück dem Schicksal, dem Zufall oder dem Verhängnis zuschreiben, während sie ihre Erfolge oder ihr Glück mit ihrer eigenen Klugheit, ihrem Scharfsinn oder ihrer Einsicht begründen."
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 08:19
Du könntest notfalls einen Hook verwenden.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
trebor90

Registriert seit: 28. Mai 2009
43 Beiträge
 
#5

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 08:24
Kann man das bitte etwas genauer formulieren(?).
Ich kann damit kaum etwas anfangen (Hook, schonmal gehoert, glaube ich, ein Schlüsselereignis aufzufangen und weiterzuverarbeiten??) ...
"Es amüsiert mich immer wieder, wenn Menschen all ihr Unglück dem Schicksal, dem Zufall oder dem Verhängnis zuschreiben, während sie ihre Erfolge oder ihr Glück mit ihrer eigenen Klugheit, ihrem Scharfsinn oder ihrer Einsicht begründen."
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 08:27
Oder ein Serverbetriebssystem (ab 2003 R2):
Code:
dirquota quota add /path:c:\klein /limit:100KB
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#7

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 08:41
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
trebor90

Registriert seit: 28. Mai 2009
43 Beiträge
 
#8

AW: Windows (Explorer) - Schreibzugriff blockieren

  Alt 28. Sep 2011, 08:44
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.
"Es amüsiert mich immer wieder, wenn Menschen all ihr Unglück dem Schicksal, dem Zufall oder dem Verhängnis zuschreiben, während sie ihre Erfolge oder ihr Glück mit ihrer eigenen Klugheit, ihrem Scharfsinn oder ihrer Einsicht begründen."
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 10:34
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.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Windows (Explorer) - Schribzugriff blockieren

  Alt 28. Sep 2011, 10:52
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz