Witam. Chciałbym się dowiedzieć czy istnieje możliwość poznania folderu, który został otwarty. Dla przykładu mamy ścieżkę C:\Folderek. Przy dwukrotnym naciśnięciu na ten folder pokazałoby się okno aby wpisać hasło, jeżeli nie wpisalibyśmy tego hasła to folder nie otworzyłby się. Program byłby cały czas odpalony i musiałby wyłapać właśnie jakąś akcje, w którą będzie zamieszany ten folder. Mam nadzieje, że zrozumiecie i z góry dziękuje
Nie da się. Z tej prostej przyczyny, że "otwierasz" folder nie tylko Explorerem ale np. takim czarnym oknem, gdzie można magiczne zaklęcia pisać...
Zobacz jak działa TrueCrypt.
Zaszyfrowane dane są przechowywane w pliku na dysku. Do tego pliku jest jawny dostęp, ale co z tego, skoro w środku dane są zaszyfrowane.
W systemie zainstalowany jest dodatkowy sterownik systemu plików, który zaszyfrowuje i odszyfrowuje te dane. Zaszyfrowane pliki i katalogi są widziane jako osobna literka dysku, np. w:
.
Ale za pomocą mechanizmu "reparse points" można dowolny system plików zamontować w pustym podkatalogu na dysku.
To nie będzie proste.
To co piszesz nie ma specjalnie sensu. Co to znaczy "otwarcie folderu"? Otwarcie okna Eksploratora? To jeszcze dałoby się przechwycić. Ale co z próbą otwarcia albo zapisania pliku w tej lokalizacji bez otwierania folderu pod Eksploratorem?
A co z dowolnym innym menedżerem plików, jak Total Commander?
Ale pobaw się TrueCryptem. Może odpowie twoim potrzebom.
add reference -> com -> microsoft internet controls
SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
string tmp = ((SHDocVw.InternetExplorer)(shellWindows.Item(0))).LocationURL;
SHDocVw.ShellWindowsClass();
- zwraca listę otwartych folderów
np. mamy jeden folder otwarty -> e:\papieru
to
((SHDocVw.InternetExplorer)(shellWindows.Item(0))).LocationURL
zwraca scieżkę do e:\papieru
później można w timerze sprawdzać w jakimś forze czy występuje ścieżka która nas interesuje jeśli tak to coś tam się zrobi ale timer to chyba nie najlepsze wyjście
pzdro