Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ultima modifica di jabjoint; 15-05-2022 a 18:37
jabjoint
Quindi: hai una pen-drive qualunque che in Windows è "montata" su un'unita, per e.s. K:\ e vuoi che SOLO il software presente su K:\ (.exe in primis) possa scrivere su K:\ mentre qualunque altra applicazione presente su altre unità NO ?
Questa comunque non è una cosa che si può fare in Java "puro". Serve una conoscenza abbastanza profonda degli internals di Windows, di come vengono gestiti i volumi e i file-system. Molto probabilmente ci sarebbe da sviluppare un driver a livello nativo in C/C++, presumo. E sempre presumo, quasi sicuramente la cosa richiederebbe anche i privilegi di amministratore.
Insomma, è una cosa che va 100 volte oltre Java ....
(P.S. io non saprei farlo, tra l'altro è tanti anni che non faccio più nulla nemmeno con le API Win32 di Windows ..)
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Ultima modifica di jabjoint; 15-05-2022 a 19:39
jabjoint
Intercettare DOVE? Non puoi farlo in "tutte" le applicazioni. Se una unità disco è "visibile" (es. la vedi da Esplora risorse) allora TUTTE le applicazioni possono accederci. Per restringere l'accesso a certi file/cartelle si potrebbe "giocare" con il controllo accessi (ACL) di Windows ma presupporrebbe innanzitutto che la pendrive sia formattata NTFS, non certo FAT32.
In generale NON c'è nulla di facile o immediato che puoi fare per impedire che un processo usi un volume montato nel sistema. Non in Java, non in C basilare, ecc... Serve qualcosa di molto più "intimo" con il sistema operativo per fare queste cose.
A questo punto forse sarebbe più utile se spiegassi perché ti serve fare una cosa del genere. Quale è l'obiettivo finale? Per chi? Per evitare cosa?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet