System-Callbacks



  • ICh denke, ich hab Funktionen gefunden, die mir da helfen:
    FindFirstChangeNotification
    FindNextChangeNotification
    FindCloseChangeNotification
    ReadDirectoryChangesW

    Scheinen genau die Infos zu sein, die ich brauch.



  • dEUs schrieb:

    Mir geht das Suchen auf meiner Platte zu langsam.

    windows hat doch dazu einen indexdienst.

    Ich dachte mir, es wäre doch ne Idee, einfach alle Dateien, die auf der Platte sind in eine SQL-Datenbank zu schreiben (ohne Inhalt, nur Name, Pfad und Attribute) und dann in Zukunft darin zu suchen. Meint ihr das klappt so, wie ich mir das vorstell?

    ich hab ne zeit lang ne datei dir.txt in der root jeder platte gehabt.
    erstellen mit "dir . /S/B > dir.txt"

    FindFirstChangeNotification

    dann muss aber dein wächter immer mitlaufen.

    schließ ab besten gleich bem wächer schrott aus. /Debug/ und /Release/ und *.tmp und *.ncb und so.



  • volkard schrieb:

    dEUs schrieb:

    Mir geht das Suchen auf meiner Platte zu langsam.

    windows hat doch dazu einen indexdienst.

    Bei mir ist bei jedem Ordner in den Erweiterten Attributen ein Häckchen bei "Inhalt für schnelle Dateisuche indizieren". Zu bringen scheint es nichts.

    volkard schrieb:

    ich hab ne zeit lang ne datei dir.txt in der root jeder platte gehabt.
    erstellen mit "dir . /S/B > dir.txt"

    Naja, is halt net immer aktuell, obwohl das im Grunde ja egal ist. Aber wie ich mich kenn würd ich die Datei immer nur erstellen, wenn ich was suchen würde -> sinnlos.

    volkard schrieb:

    FindFirstChangeNotification

    dann muss aber dein wächter immer mitlaufen.

    Ja, meinen Wächter würde ich als Dienst implementieren.

    volkard schrieb:

    schließ ab besten gleich bem wächer schrott aus. /Debug/ und /Release/ und *.tmp und *.ncb und so.

    Ja, sowas würde ich dann natürlich machen. Vermutlich mit Optionsdialog, dass jeder seinen eigenen Müll raus lassen kann.



  • Er könnte ja zb am Lese/Schreib-Interrupt lauschen...



  • dEUs schrieb:

    Ja, sowas würde ich dann natürlich machen. Vermutlich mit Optionsdialog, dass jeder seinen eigenen Müll raus lassen kann.

    bitte mach ein ini-file. spart dir arbeit beim coden und mir beim benutzen.



  • Oh ja, gute Idee. Bin eh nicht so n GUI-Fan.



  • dEUs schrieb:

    Bei mir ist bei jedem Ordner in den Erweiterten Attributen ein Häckchen bei "Inhalt für schnelle Dateisuche indizieren". Zu bringen scheint es nichts.

    drück mal
    Win+d //desktop anzeigen
    F3 //suchen
    mach ne suche, die nicht klappt und klick dirch durch. bald siehste den knopf
    "Bevorzugte Einstellungen ändern"
    Da muß an sein "Indexdienst aktiviert"
    so, und ich probiere das jetzt mal aus. (mußte erst den indexdienst anschalten).
    ist extrem lahm. extrem extrem lahm. kein vergleich zu linux mit find. naja, mal warten, der baut bestimmt nen index auf, wenn ich 10 minuten lang den rechner idlen lasse.



  • in 'systemsteuerung->einstellungen->verwaltung->computerverwaltung->dienste und amwendungen->indexdienst' könnte ihr auch einstellen welche verzeichnisse der aufnehmen soll.

    volkard schrieb:

    naja, mal warten, der baut bestimmt nen index auf, wenn ich 10 minuten lang den rechner idlen lasse.

    dauert sogar noch länger...



  • net schrieb:

    in 'systemsteuerung->einstellungen->verwaltung->computerverwaltung->dienste und amwendungen->indexdienst' könnte ihr auch einstellen welche verzeichnisse der aufnehmen soll.

    als entwickler muß man *.obj und *.exe und *.tmp ausschalten. falls das geht. falls nixht, muß man auf den indexdienst verzichten. der hängt sich nämlich rein und untersucht frisch erstellte files und wenn ich das file (nur 10M ziufallszahlen) löschen will, blockt die löschende anwendung. die entwicklungsperformance geht total in den keller mit so nem mist.



  • volkard schrieb:

    als entwickler muß man *.obj und *.exe und *.tmp ausschalten. falls das geht. falls nixht, muß man auf den indexdienst verzichten. der hängt sich nämlich rein und untersucht frisch erstellte files und wenn ich das file (nur 10M ziufallszahlen) löschen will, blockt die löschende anwendung. die entwicklungsperformance geht total in den keller mit so nem mist.

    der läuft mit 'ner superniedrigen priorität und springt erst mit einer ziemlichen verzügerung an (deshalb ist der indexaufbau auch so lahm). ich glaub' nicht dass der die files, die er untersucht, mit exklusivem zugriff öffnet. hast du irgendwelche negativen effekte bemerkt (ausser der fetten datei die er anlegt, wenn man die ganze platte indiziert)?



  • net schrieb:

    hast du irgendwelche negativen effekte bemerkt (ausser der fetten datei die er anlegt, wenn man die ganze platte indiziert)?

    ja. als ich mit fetten temp-dateien rumgemacht habe, hat er mich wirklich schrecklich geärgert. nein, er öffnet nicht exclusiv, jeder darf lesen und schreiben. aber löschen nicht! die anwendung hat auch kein "darf nicht löschen" gekriegt, sondern hing einfach, bis der indexdienst sie freigab. egal, ob explorer, far file manager oder del.



  • Ich hab den Indexdienst auch aus, der ist echt zu nichts zu gebrauchen ;/



  • geeky schrieb:

    Ich hab den Indexdienst auch aus, der ist echt zu nichts zu gebrauchen ;/

    ich setze den gezielt auf einige verzeichnisse an. die ganze platte sollte man besser nicht indizieren


Anmelden zum Antworten