Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Вниз

Как отловить событие сохранения?   Найти похожие ветки 

 
Answer_i3   (2008-03-27 14:19) [0]

Всем привет! Возникла проблема: нужно перехватить событие сохранения докумнта в стороннем приложении, и заменить процесс сохранеия своей процедурой. Надесь на помощь!
Заранее спасибо!


 
Сергей М. ©   (2008-03-27 14:22) [1]

Что хоть за приложение-то ?)


 
tesseract ©   (2008-03-27 14:25) [2]


>  нужно перехватить событие сохранения докумнта в стороннем
> приложении, и заменить процесс сохранеия своей процедурой.
>  


Ставь FindFirstChangeNotification на каталог сохранения. А процесс сохранения для чужого приложения делаеться только переписывание адреса функции сохранения, и по этому поводу тебя насмерть захрюкает добрый антивирус Касперского.


 
Answer_i3   (2008-03-27 14:26) [3]

>Сергей М.
AutoCAD


 
tesseract ©   (2008-03-27 14:34) [4]


> AutoCAD


И зачем его перхватывать ? Можно просто export -плагин накатать.


 
Answer_i3   (2008-03-27 14:36) [5]

ну мне нужно запретить сохраняться на локальный диск, а разрешить только на удалённый сервер с помощью програмки которая с ним (сервером) будет общяться, отправлять и принимать файлы..


 
Answer_i3   (2008-03-27 14:37) [6]

что сделал я, я убрал из меню File  Save и Save As перехватил горячие клавищи для сохранения, но там можно сохранять с командной строки ввдея команду _qsave вот тут то я и застрял..


 
Сергей М. ©   (2008-03-27 14:43) [7]


> нужно запретить сохраняться на локальный диск


Здесь нужен целевой перехват ф-ции CreateFile в АП процесса целевого приложения.


 
Answer_i3   (2008-03-27 14:47) [8]


> Здесь нужен целевой перехват ф-ции CreateFile в АП процесса
> целевого приложения.


А можно подробнее пожалуйста


 
tesseract ©   (2008-03-27 14:48) [9]


>  а разрешить только на удалённый сервер с помощью програмки
> которая с ним (сервером) будет общяться, отправлять и принимать
> файлы..


Опять у студента мировые идеи. Отбираем у пользователя все права на запись на локальной станции и назначаем "Мои документы" на нужный сетевой диск.


 
tesseract ©   (2008-03-27 14:50) [10]


> А можно подробнее пожалуйста


Всё равно не получиться, это непросто, будоражит антивирус. Сколько я таких "проектов" видел.


 
Answer_i3   (2008-03-27 14:50) [11]

не у студента а у руководства компании, и делается это не для локальной сети... задача стоит не только в этом


 
Сергей М. ©   (2008-03-27 14:53) [12]


> Answer_i3   (27.03.08 14:47) [8]


Подробнее гугли по теме "Перехват WinAPI"


 
tesseract ©   (2008-03-27 15:01) [13]


> не у студента а у руководства компании, и делается это не
> для локальной сети...

У руководства компании идея насчёт перехвата диалога сохранения возникнуть не могла, у неё судя по всему идея, чтобы все рабочие чертежи хранились в одном месте.

И не лучше ли, сформировать требования ?  И например не API перехватывать, а написать драйвер виртуального диска и потом с этим  виртуальным диском без всяких перехватов работать ?  Или просто купить документ-сервер.


 
Сергей М. ©   (2008-03-27 22:15) [14]


> tesseract ©   (27.03.08 15:01) [13]


Все даже еще проще.

Ни для кого не новость, что бардак в "конторе" легко ликвидируется административными мерами. если , конечно же, во главе бардака с красным флагом не движется само руководство)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.045 c
2-1232720314
Виолета с
2009-01-23 17:18
2009.03.15
Лист Бокс


15-1231937972
Baks
2009-01-14 15:59
2009.03.15
Посоветуйте маленькую и бесплатную программу для создания *.ico


15-1231085420
blackman
2009-01-04 19:10
2009.03.15
Интернет-магазин. Кто делал или пользуется готовым?


2-1232614740
kyn66
2009-01-22 11:59
2009.03.15
Не копируется открытый файл DBF


2-1232648122
cruiser
2009-01-22 21:15
2009.03.15
Ожидание отработки операций внутри отдельного потока





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский