![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программа-шпион
Фагот © (2004-06-16 15:09:00)Пишу программу-шпион для отслеживания действий пользователя. В связи с чем пара вопросов:
1. Можно ли элемент класса TBitMap сохранять в файл сжатым, а то один принтскрин мега на 2 тянет?
2. Можно ли отследить как-либо перемещение либо копирование файлов (средствами винды или Дельфей)
Прошу прощения, если врезал оффтопик...
zep (2004-06-21 20:45:00) [1]вот попробуй
http://www.torry.net/vcl/filedrv/notification/urdirmonitoring.zip
http://sysinternals.com/files/accessenumsrc.zip
http://sysinternals.com/files/vcmsrc.zip
Андрей Сенченко (2004-06-21 19:52:00) [2]Флоппари нужно выдергивать. Иначе нельзя отучить бухгалтеров открывать XLS-Ники с дискетки и потом бежать жаловаться, что "У них все повисло"
MacroDenS (2004-06-21 17:53:00) [3]Если так необходимо прервать процесс копирования/перемещения/удаления файлов, то можно просто отследить окно с такимже текстом (обычно это "Копирование..." или "Перемещение...". класс этих окон '#32770')
и просто закрывать их программно.
Но это действует конкретно для експлорерской функции копирования/перемещения....
Можешь сделать примерно так
....
var
H:HWND;
.....
begin
....
H:=FindWindow('#32770', 'Копирование...');
If H<>0 then
sendmessage(h, wm_close,0,0);
....
end;
А вообще, лучше все таки, правильно настроить сетку. Расписать разрешения/запреты для юзверей. Если есть флопушники - в биосе можно поставить опцию Read Only и запаролить биос, ну и так дялее.
И проблем будет меньше.
Семен Сорокин (2004-06-21 14:42:00) [4]Фагот (21.06.04 13:06) [20]
для аудита можешь копнуть в сторону
FindFirstChangeNotification,
FindNextChangeNotification,
FindCloseChangeNotification.
Игорь Шевченко (2004-06-21 14:08:00) [5]
> Если в MSDN написано, что "should use the CreateProcess
> function", значит, будте добры использовать именно CreateProcess,
> чтобы потом не было мучительно больно...
Есть альтернативная точка зрения - переживать неприятности по мере их поступления. В случае с WinExec я предпочту придерживаться ее, так как даже в последних операционных системах поддержка этой функции оставлена.
panov (2004-06-21 13:24:00) [6]Для отслеживания действий пользователя проще всего воспользоваться средствами, которые предоставляет сама операционная система - средствами аудита.
Prohodil Mimo (2004-06-21 13:22:00) [7]Posmotri na listsoft.ru FILEMON i REGMON - sledjat za izmenenijami v fajlah i registrah. Pravda vrode ih ne skrit' ot pol'zovatelja.
Петров Денис (2004-06-21 13:17:00) [8]Такие вопросы решаются:
1. Грамотным системным администрированием.
2. Грамотной политикой предприятия в области коммерческой тайны.
IMHO, программирование здесь не причем. Если у тебя рядовой сотрудник может выносить что угодно, в том числе и информационные носители, за пределы предприятия, у него неограниченный доступ к электронной почте и т.п., то сколько бы ты файловых менеджеров не написал, бесполезно.
Романов Р.В. (2004-06-21 13:14:00) [9]А если они ее на принтере распечатают и утащат?
Фагот (2004-06-21 13:06:00) [10]Спасибо за ответы. Но остался вопрос - можно ли проследить - какие операции производились с файлами. Это так и осталось неизвестным. Едиственный вариант, до которого я додумался - написать свой файл-менеджер с логированием операций и запретить пользоваться другими. Но не могу же я запретить пользоваться explorer'ом!!!
Системы защиты должны не только предотвратить несакционированный доступ, но и при его попытке дать об этом информацию. Но это уже по-моему в категорию "Пообщаться"
MacroDenS (2004-06-16 19:41:00) [11]В принципе можешь сделать типа того:
uses JPEG;
...
procedure <Свой название>(var bmp:TBitMap);
var
jpg:TJPEGImage;
begin
jpg:=TJPEGImage.create;
jpg.assign(bmp);
jpg.saveToFile(filename.jpg);
end;
Как известно JPG-овская картинка намного меньше весит...
--------------------------------------------------
F1 + желание + руки = необходимый результат
Петров Денис (2004-06-16 17:46:00) [12]> Игорь Шевченко © (16.06.04 17:34) [17]
Если в MSDN написано, что "should use the CreateProcess function", значит, будте добры использовать именно CreateProcess, чтобы потом не было мучительно больно...
Игорь Шевченко (2004-06-16 17:34:00) [13]Петров Денис © (16.06.04 16:41) [11]
> Note This function is provided only for compatibility with
> 16-bit Windows. Applications should use the CreateProcess
> function.
>
> Зачем учить человека плохому?
Да ничего в этой функции плохого нету, обертка вокруг CreateProcess для тех, кому лень массу параметров писать.
fatal (2004-06-16 16:51:00) [14]"класса TBitMap" жмуться насмерть :)
пусть кнопку F5 выдернет
Amoeba (2004-06-16 16:49:00) [15]Так, к слову, по поводу сжатия изображений архиваторами. 24-битные изображения (BMP) практически не сжимаются (сжатие всего-то на несколько процентов).
Ega23 (2004-06-16 16:47:00) [16]Для решения данной проблемы требуется не программу писать, а нанять специалиста по режиму.
Петров Денис (2004-06-16 16:46:00) [17]> fatal (16.06.04 16:45) [12]
Точно. Эдакая порнушка... :)
fatal (2004-06-16 16:45:00) [18]>Петров Денис © (16.06.04 16:38) [9]
Да пусть хоть ShellExecute использует, глупость идеи не меняется :)
>Короче говоря, производится очередная попытка применения саперной
>лопаты для оптимизации запуска космических кораблей.
Скорее ложкой болото осущает, прикинь будет по вечерам фильмы смотреть... "чё там юзеры утащили?" :)
Петров Денис (2004-06-16 16:41:00) [19]> Note This function is provided only for compatibility with
> 16-bit Windows. Applications should use the CreateProcess
> function.
Этим.
Ega23 (2004-06-16 16:40:00) [20]Петров Денис © (16.06.04 16:38) [9]
А чему плохому? Чем тебя winexec не устраивает?