Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

Мониторинг работы с файлами...   Найти похожие ветки 

 
Makhanev A.S.   (2005-07-21 11:42) [0]

Нужно мониторить операции юзера с файлами: open, delete, rename, copy, move...
Причем, операции, производимые только непосредственно через Explorer, а также, корректно сечь работу на шарах, сечь не конкретную директорию, а действия юзера на всем винте/шарах.

Смотрел кучу компонент на torry, у всех есть явные недостатки (основной - мониторинг конкретной папки, а не всего диска).
Те же, что мониторят весь диск дают много лишне инфы, т.к. драйвера ловят все операции на диске, произмодимые всеми программами.

Вобщем интересуют любые компоненты/совету и предложения за вменяемую цену.


 
Kolan ©   (2005-07-21 14:53) [1]


> дают много лишне инфы

Ну и что?


 
AlexKniga ©   (2005-07-21 15:00) [2]

Если интересует тока Проводник Окон, то проще самому написать.
Вот пример Hook"а на копирование:
unit UHook;

interface

uses
 ShlObj, ComObj, Windows;

const
 CLSID_WEHook: TGUID="{9C123760-65F8-11D2-AEF9-444553540000}";

type
 TWEHook=class(TComObject, ICopyHook)
    public
     function CopyCallback(Wnd: HWND; wFunc, wFlags: UINT; pszSrcFile: PAnsiChar;
 dwSrcAttribs: DWORD; pszDestFile: PAnsiChar; dwDestAttribs: DWORD): UINT; stdcall;
  end;

implementation

uses
 Dialogs, Forms, ShellAPI, SysUtils, ComServ;

type
 TWEHookFactory=class(TComObjectFactory)
    public
procedure UpdateRegistry(Register: Boolean); override;
  end;

function TWEHook.CopyCallback(Wnd: HWND; wFunc, wFlags: UINT; pszSrcFile: PAnsiChar;
dwSrcAttribs: DWORD; pszDestFile: PAnsiChar; dwDestAttribs: DWORD): UINT;
var
 Msg:string;
begin
 Application.Handle:=Wnd;
 Msg:="";
 case wFunc of
   FO_COPY:    Msg:=Format("Действительно ли Вы хотите копировать директорию %s в %s?", [pszSrcFile,pszDestFile]);
   FO_DELETE: Msg:=Format("Действительно ли Вы хотите удалить директорию %s?", [pszSrcFile]);
   FO_MOVE: Msg:=Format("Действительно ли Вы хотите переместить директорию %s в %s?", [pszSrcFile,pszDestFile]);
   FO_RENAME: Msg:=Format("Действительно ли Вы хотите назвать директорию %s именем %s?", [pszSrcFile,pszDestFile]);
 end;
 if length(Msg)>0
 then
   Result:=MessageDlg(Msg, mtConfirmation, [mbYes,mbNo,mbCancel], 0)
 else
   Result:=id_Yes;
end;

procedure TWEHookFactory.UpdateRegistry(Register: Boolean);
begin
 if Register then begin
   CreateRegKey("Directory\shellex\CopyHookHandlers\WEHook", "", GUIDToString(CLSID_WEHook));
   CreateRegKey("CLSID\"+GUIDToString(CLSID_WEHook)+"\InprocServer32", "ThreadingModel", "Apartment");
   inherited UpdateRegistry(Register);
 end else begin
   DeleteRegKey("Directory\shellex\CopyHookHandlers\WEHook");
   inherited UpdateRegistry (Register);
 end;
end;

initialization

 TWEHookFactory.Create(ComServer, TWEHook, CLSID_WEHook, "WEHook", "WE Folder Test Hook", ciMultiInstance);

end.


 
jack128 ©   (2005-07-21 15:32) [3]

и если я из своей программы вызову ShFileOperation то этот хук не сработает??


 
oldman ©   (2005-07-21 16:33) [4]


> Нужно мониторить операции юзера с файлами: open, delete,
> rename, copy, move...

Поставь рядом с юзером соглядатая...
Зачем это вообще нужно?


 
AlexKniga ©   (2005-07-21 17:09) [5]

jack128
Сработает. На CopyFile не сработает.


 
Makhanev A.S.   (2005-07-22 14:21) [6]


> Kolan ©   (21.07.05 14:53) [1]
>
> > дают много лишне инфы
>
> Ну и что?

Это я про Alfa File Monitor. Он ловит только close и не отображал юзера, зато кидал кучу другой инфы.

И при всем этом стоит $2000.
Может кто его юзал? (вдруг мы неправильно его прикручивали)


> AlexKniga ©   (21.07.05 15:00) [2]

Спасибо, изучаем.


> oldman ©   (21.07.05 16:33) [4]
>
> > Нужно мониторить операции юзера с файлами: open, delete,
>
> > rename, copy, move...
>
> Поставь рядом с юзером соглядатая...
> Зачем это вообще нужно?

Не знаю, клиент попросил такую вот фичу.
Скорее всего она ему нужна для усиления corporate security, но я не уверен.


 
Оран Гутангович   (2005-07-23 02:20) [7]

Filemon
Есть исходники



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

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
3-1122533289
ChI
2005-07-28 10:48
2005.09.11
поиск по индексным полям вTDBF


3-1122475261
Андрей Жук
2005-07-27 18:41
2005.09.11
Oracle InterMedia работает с украинским или русским?


3-1122611051
erika
2005-07-29 08:24
2005.09.11
IB. Формирование запроса с расчетом данных по 1 - ой колонке


8-1114873230
andrey12
2005-04-30 19:00
2005.09.11
Громкость кодом!!!


2-1123570632
ApollonX100
2005-08-09 10:57
2005.09.11
Округление и модуль?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский