Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Arto
-
- Продвинутый пользователь

-
-
- Сообщения: 125
- Зарегистрирован: 16.04.2002 (Вт) 18:23
Arto » 03.04.2004 (Сб) 14:02
Привет всем
Вопрос такой, возможно ли написать резидентную прогу котороя бы следила бы за процессом копирования, т.е если юзер захочет скопировать какой-то конкретный файл или каталог эта прога бы убивала бы это процесс, ну или в крайнем случае вела бы лог
Заранее благодарю
С уважением...
-
EvilCoder
-
- Посланец джихада

-

-
- Сообщения: 706
- Зарегистрирован: 25.01.2004 (Вс) 15:08
-
EvilCoder » 04.04.2004 (Вс) 2:28
Последний раз редактировалось
EvilCoder 13.03.2006 (Пн) 18:05, всего редактировалось 1 раз.
<<------- EvilCoder ------->>
-
EvilCoder
-
- Посланец джихада

-

-
- Сообщения: 706
- Зарегистрирован: 25.01.2004 (Вс) 15:08
-
EvilCoder » 10.04.2004 (Сб) 23:35
Последний раз редактировалось
EvilCoder 13.03.2006 (Пн) 18:06, всего редактировалось 1 раз.
<<------- EvilCoder ------->>
-
Max!
-
- Постоялец

-

-
- Сообщения: 502
- Зарегистрирован: 03.04.2003 (Чт) 22:08
- Откуда: Литва
Max! » 11.04.2004 (Вс) 1:20
Мне тут недавно дали такой код
- Код: Выделить всё
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim Str As String
Private Sub Form_Load()
Str = "Заг-ок окна каторое будет закрыто в данном случае это Копирование..."
End Sub
Private Sub Timer1_Timer()
Dim Wnd As Long
Wnd = FindWindow(vbNullString, Str)
If Wnd = 0 Then Exit Sub
PostMessage Wnd, 16, 0&, 0&
End Sub
Код не мой!

Max!
-
Amed
-
- Алфизик

-
-
- Сообщения: 5346
- Зарегистрирован: 09.03.2003 (Вс) 9:26
-
Amed » 11.04.2004 (Вс) 3:23
- Код: Выделить всё
Private Const FILE_NOTIFY_CHANGE_ATTRIBUTES = &H4
Private Const FILE_NOTIFY_CHANGE_DIR_NAME = &H2
Private Const FILE_NOTIFY_CHANGE_FILE_NAME = &H1
Private Const FILE_NOTIFY_CHANGE_SIZE = &H8
Private Const FILE_NOTIFY_CHANGE_LAST_WRITE = &H10
Private Const FILE_NOTIFY_CHANGE_SECURITY = &H100
Private Const FILE_NOTIFY_CHANGE_ALL = &H4 Or &H2 Or &H1 Or &H8 Or &H10 Or &H100
Private Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (ByVal lpPathName As String, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long) As Long
Private Declare Function FindCloseChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Private Declare Function FindNextChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function ResetEvent Lib "kernel32" (ByVal hEvent As Long) As Long
Private Sub Form_Load()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Dim Ret As Long
'Set the notification hook
Ret = FindFirstChangeNotification("C:\", &HFFFFFFFF, FILE_NOTIFY_CHANGE_ALL)
'Wait until the event is triggered
WaitForSingleObject Ret, &HFFFFFFFF
MsgBox "Event Triggered for the first time"
'Reactivate our hook
FindNextChangeNotification Ret
'Wait until the event is triggered
WaitForSingleObject Ret, &HFFFFFFFF
MsgBox "Event Triggered for the second time"
'Remove our hook
FindCloseChangeNotification Ret
End Sub
Этот код сообщает о любом изменении файлов в корне C:\. Думается, можно его приспособить под решение данной задачи

Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Yandex-бот и гости: 18