procedure TSimpleThread.Execute;
var
r:Cradinal;
fn: Thandle;
begin
fn:=FindFirstChangeNotification(pChar(DirName),True,FILE_NOTIFY_CHANGE_FILE_NAME);
repeat
r:=WaitForSingleObject(fn,2000);//ждем освобождения объекта
if r=WAIT_OBJECT_0 then
form1.UpdateList;
if not FindNextChangeNotification (fn) then break;
until Terminated;
FindCloseChangeNotification
end;
procedure TForm1.UpdateList;
begin
стандартная комбинация FindFirst, FindNext, FindClose;
end;
как отсделить обращение программы к папке
Заранее спасибо надеюсь крутые программеры заходящие на этот форум не подкачают
пишите на
[email]lox@xyligan.ru[/email]
или на
[email]neo@team666.net[/email]
Цитата:
Originally posted by karlson
как при помощи Делфи7 отследить ображение какой нибудь программы к указанной дирректории
Заранее спасибо надеюсь крутые программеры заходящие на этот форум не подкачают
пишите на
[email]lox@xyligan.ru[/email]
или на
[email]neo@team666.net[/email]
как при помощи Делфи7 отследить ображение какой нибудь программы к указанной дирректории
Заранее спасибо надеюсь крутые программеры заходящие на этот форум не подкачают
пишите на
[email]lox@xyligan.ru[/email]
или на
[email]neo@team666.net[/email]
Посмотри три функции из WinAPI:FindFirstChangeNotification,
FindNextChangeNotification, FindCloseChangeNotification.
HANDLE FindFirstChangeNotification(
LPCTSTR lpPathName, // указатель на директорию
BOOL bWatchSubtree, // флаг на просомотр поддиректорий
DWORD dwNotifyFilter// фильтр просмотра
);
Пример для потока который отслеживает изменения:
Код:
также поиск можно делать по другим параметрам:
Код:
FILE_NOTIFY_CHANGE_FILE_NAME
FILE_NOTIFY_CHANGE_DIR_NAME
FILE_NOTIFY_CHANGE_ATTRIBUTES
FILE_NOTIFY_CHANGE_SIZE
FILE_NOTIFY_CHANGE_LAST_WRITE
FILE_NOTIFY_CHANGE_SECURITY
FILE_NOTIFY_CHANGE_DIR_NAME
FILE_NOTIFY_CHANGE_ATTRIBUTES
FILE_NOTIFY_CHANGE_SIZE
FILE_NOTIFY_CHANGE_LAST_WRITE
FILE_NOTIFY_CHANGE_SECURITY
подробнее читай в MSDN