offene (windows-)filehandles und prozesse

  • Hallo,

    ich wöchte von einem java programm aus bestehende files austauschen.
    werden die files gerade von einem anderen programm verwendet, sollte der benutzer informiert werden, dass er zuerst dieses beenden muss/soll.

    ich hab also eine liste von filenames, die ich tauschen will und ich möchte eine liste der prozesse, die diese files verwenden.
    das ganze soll unter win32 laufen.

    da ich von java aus noch keine möglichkeit gefunden habe diese systeminfos auszulesen, hab ich es per JavaNativeInterface und einer kleinen DLL probiert. der code dafür hab ich z.t. aus der MSDN und aus anderen samples. zum teil funktionierts, nur bekomm ich nicht den vollständigen pfad für file bzw prozess (laufwerksbuchstabe fehlt).

    ich hab schon lösungen gefunden, die dann einfach alle laufwerke durchgehen und schaut ob es das file dort gibt, aber das ist mir zu unsicher.

    gibts vielleicht eine möglichkeit das ohne DLL zu lösen oder fertige libraries?

    mfg seHaas

    anbei der c-code.

  • Würde mich sehr wundern, wenn's da was fertiges gäbe, nachdem das ja sehr Win32-spezifisch ist. Auf anderen Plattformen kann man die Files ja beliebig "unter dem Hintern" wegziehen.

    Eine Menge Arbeit hast du dir da jedenfalls gemacht ;).

  • Du koenntest vielleicht handle mitinstallieren, und die prozessliste dann aus java heraus ueber die shell aufrufen und einlesen. Keine Ahnung ob das funktioniert - ich hab nur mal gegoogelt und ausprobieren kann ich es nicht.

    Ansonsten halt die MSDN library abgrasen. Auf jeden Fall wuerde ich das 'Java' bei deinen Recherchen aus der Problembeschreibung nehmen, denn mit der Java plattform hat das ja nicht mehr viel zu tun: Die Stichworte sind hier wohl eher win32, windows, file handle oder .NET.

  • danke für die infos.

    ich dachte nicht dass das so ein problem wird ;)
    irgendwie hab ich in erinnerung, dass es bei manchen installer so eine info gibt, welche programme beendet werden sollten. die müssen das ja auch irgendwo auslesen.

    ich werd mit auf jedenfall den code zu filemon anschaun.

    mfg seHaas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!