Hi,
ersteinmal sorry, mir ist kein aussagekräftigerer Titel eingefallen.
Zu meinem Problem :
Ich möchte ein Programm schreiben, dass Dateien verschlüsselt. Ich möchte aber gleichzeitig, dass diese immer noch ihren Dateinamen
beibehalten und auch von direkt von den Bearbeitungsprogrammen geöffnet werden können (wenn ich also eine Textdatei verschlüssel soll sie
a)ihren Namen behalten
und b) wenn ich mit einem belibigen Texteditor in dessen Menü auf öffnen gehe und die Datei auswähle soll sie [nach Eingabe eines Passworts]
auch richtig dargestellt werden.
Hat jemand eine Idee, wie man so etwas machen könnte (meines wissens macht PGP so etwas, ich möchte nur gerne ein eigenes Prog schreiben)
Praktisch wäre es auch wenn man unten bei dem Icon(im Explorer) ein Schloss o.ä. einblenden könnte (macht TortoiseCVS).
Danke im Vorraus
mfG
Tomok
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
*Etwas aus dem Fenster lehn*
Das was du suchst nennt sich Hooks. Auf Delphitreff oder Delphipraxis gibts Tutorials dazu. Du must einfach einen Hook auf die Dateiöffnen operation legen. Könnte allerdings auch sein, dass das net so doll is, da innerhalb von Programmen Dateien durchaus mehrfach geöffnet werden können.
Eventuell gibt es eine WindowsMessage die du hooken kannst.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Das sollte mit Hooks auf jedenfall funktionieren. Prinzipiell kannst du einen Hook auf jegliche funktion einer XP Dll setzen. Du kannst sogar nen Hook auf CreateProcessA oder die Netzwerk funktionen setzen (wie es Firewalls machen). Genauso sollte es auch klappen nen Hook auf Datei Funktionen zu setzen. Wie sonst sollten auch Programme wie FileMon funktionieren?
Also, der Shell-Hook kann es nicht sein, da der Hookprocedur nur follgende Erreignisse gemeldet werden :
Zitat:
HSHELL_ACCESSIBILITYSTATE Windows 2000/XP: The accessibility state has changed. HSHELL_ACTIVATESHELLWINDOW The shell should activate its main window. HSHELL_APPCOMMAND Windows 2000/XP: The user completed an input event (for example, pressed an application command button on the mouse or an application command key on the keyboard), and the application did not handle the WM_APPCOMMAND message generated by that input.
If the Shell procedure handles the WM_COMMAND message, it should not call CallNextHookEx. See the Return Value section for more information. HSHELL_GETMINRECT A window is being minimized or maximized. The system needs the coordinates of the minimized rectangle for the window. HSHELL_LANGUAGE Keyboard language was changed or a new keyboard layout was loaded. HSHELL_REDRAW The title of a window in the task bar has been redrawn. HSHELL_TASKMAN The user has selected the task list. A shell application that provides a task list should return TRUE to prevent Microsoft Windows from starting its task list. HSHELL_WINDOWACTIVATED The activation has changed to a different top-level, unowned window. HSHELL_WINDOWCREATED A top-level, unowned window has been created. The window exists when the system calls this hook. HSHELL_WINDOWDESTROYED A top-level, unowned window is about to be destroyed. The window still exists when the system calls this hook. HSHELL_WINDOWREPLACED Windows XP: A top-level window is being replaced. The window exists when the system calls this hook.
(source : MSDN)
Auch die anderen kommen so wie ich das sehe nicht in frage (andere Artikel in der MSDN)
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.