Слежение

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Слежение

Сообщение SeT » 18.12.2005 (Вс) 14:34

Нужно сделать программу, которая бы записывала время, в которое кто-то обращается к заданному файлу (н.р. открывает БД). Подскажите, как это сделать?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 18.12.2005 (Вс) 14:54

Долго и нудно мониторишь в атрибутах файла "Открыт", при изменении пишешь в лог. Решение правда не самое лучшее, да и ты, наверное, об этом уже думал.
Изображение

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 18.12.2005 (Вс) 16:26

Думать-то думал, вот только проверку эту вообще как сделать на крайний случай?
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

Warn
Обычный пользователь
Обычный пользователь
 
Сообщения: 52
Зарегистрирован: 08.12.2005 (Чт) 20:34
Откуда: Питер

Сообщение Warn » 18.12.2005 (Вс) 18:05

Надо следить за файловой системой компьютера. Не за самими файлами, а за структурой FAT или NTFS. Делать так же, как работают программы-ревизоры. Чисто умозрительно.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 18.12.2005 (Вс) 21:41

Нее, это прямой доступ к диску надо, а для него права нужны.
Изображение

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Сообщение JohnK » 19.12.2005 (Пн) 13:03

Есть функции для уведомления изменений в файловой системе. Не помню какие - найду обязательно пропостю...
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.12.2005 (Пн) 13:20

Эти функции не отслеживают открытие файлов.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Zer
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 460
Зарегистрирован: 26.09.2003 (Пт) 13:08
Откуда: Нижний Новгород

Сообщение Zer » 19.12.2005 (Пн) 14:33

А как тогда? API перехватывать? :?: :roll:
Microsoft DirectX - Маломягкий Прямой Х...
Не откладывай на завтра то, что можно выпить сегодня...

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 19.12.2005 (Пн) 18:58

А вы можете поконкретнее... Из всего предложенного ни с одним ни разу не сталкивался :(((
Пожалуйста, поподробнее, если можно, с примерами...
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 21.12.2005 (Ср) 17:00

Не, не то. Вот есть база данных. Она не перемещается никуда (кто переместит, сядет, причём надолго). Кто-то качает инфу из этой базы. Нужно определить время, когда к базе делается запрос
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 21.12.2005 (Ср) 17:09

Смотреть логи того, кто к этой базе доступ предоставляет (SQL сервер на пример)
Изображение

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 21.12.2005 (Ср) 17:49

База открыта для всех. Сливает кто-то из сотрудников. Просто за компом сидят по графику. Нужно установить время, когда база открыта.
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 21.12.2005 (Ср) 17:59

:idea: Делаешь логгер, который отслеживает переключение между окнами и запуск/остановку процессов (могу кинуть переделанный пример), потом смотришь его логи и выесняешь,когда было обращение.

З. Ы. Решение далеко не лучшее, но о действиях сотрудников узнать можно мноооогое.
Изображение

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 21.12.2005 (Ср) 18:06

Кинь примерчик. можешь сюда, можешь на zodchyi1988@mail.ru
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 22.12.2005 (Чт) 14:40

Да какая разница?.. Вообще КАК ОТСЛЕДИТЬ ЧТО ФАЙЛОМ ЩАС ПОЛЬЗУЮТСЯ!!!!!!!!!!!!!!!!!
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.12.2005 (Чт) 15:15

Разница большая.
Lasciate ogni speranza, voi ch'entrate.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 22.12.2005 (Чт) 15:41

Вот он, логгер.
Когда-то это был логгер клавиш (скачаный), но я половину выкинул и добавил 80% кода от себя.

З. Ы. Версия отладочная, но переделать недолго
З. З. Ы. Слежение за ClipBoard я убрал из-за глюков
Вложения
SPY.rar
(8.13 Кб) Скачиваний: 40
Изображение

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 22.12.2005 (Чт) 16:05

Разница действительно есть. Если это какой-нить SQL-сервер, то намного лучший подход (например) - это набор триггеров и хранимых процедур, которые будут логировать все действия, выполняемые с таблицами. Вот только по поводу Select точно не помню, можно ли повесить триггер. Но по идее можно ;)
То, что для одних константа, для других только переменная...

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.12.2005 (Чт) 17:10

Код: Выделить всё
Option Explicit
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const OF_SHARE_EXCLUSIVE = 10
Private Const OPEN_EXISTING = 3

Private Sub Form_Load()
    Dim hFile As Long
    hFile = CreateFile("C:\A.txt", OF_SHARE_EXCLUSIVE, 0, 0, OPEN_EXISTING, 0, 0)
    If hFile = -1 Then MsgBox "File now in use!", vbInformation
    CloseHandle hFile
    End
End Sub
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.12.2005 (Чт) 18:07

Солнце мое, базы данных то же лежат в файлах, оказывается. А некоторые в ОДНОМ файле.
Во-вторых да, в таймер, с переодической задержкой. Сама операция проверки занимает меньше милисекунды, если делать с интервалом в секунду, то вероятность такой бяки - меньше чем 1/1000. Я думаю, это файл нельзя скопировать быстрее чем за 1 сек?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 23.12.2005 (Пт) 12:12

Базу данных делали так, наобум. Щас её не переделаешь (Налоговая инспекция всё-таки). Поэтому защиты нету.
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 23.12.2005 (Пт) 14:16

andreymp писал(а):
Солнце мое, базы данных то же лежат в файлах, оказывается.
ANDLL Если хотел оскорбить, то у тебя почти получилось. Дальше не продолжаю, поскольку этот форум не место для выяснения отношений.


В этом ты сильно заблуждаешься - в споре рождается истина. И форум именно то место, где надо эту истину выяснять.
Если ты оскорбляешься, когда тебя поправляют, то... очень жаль.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 23.12.2005 (Пт) 17:59

Set ты напрередмет логгера думал? Там надо только запись/чтение в(из) файла добавить и пароль на вывод лога поставить.
Изображение

SeT
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 362
Зарегистрирован: 29.12.2004 (Ср) 13:11

Сообщение SeT » 24.12.2005 (Сб) 14:34

Насчёт лггера не думал... Как его замутить?.. (в деталях)
01000100
Причиняет боль 0010
Виртуальная любовь 00100
Индустрия снов 0010

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 24.12.2005 (Сб) 15:33

Так воооон там выше в топике я пример выкладывал. Там надо при завершении проги запись лога в файл сделать, и его загрузку на старте; потом отключаешь реакцию на Shift+F11(он для отладки нужен был), а Shift+F12 запароливаешь. Усё, твой логгер готов и отслеживает нажатие клавишь, запуск/остановку прог и переключение между окнами, и к каждому событию пишет время, ставишь его на авторан и усё! В "Приложениях" он не виден, а в процессах попробуй найди!

З. Ы. Скрывалку из списока процессов выпрашивай у xenomorph
Изображение

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 117

    TopList  
cron