Microsoft MVP성태의 닷넷 이야기
글쓴 사람
김광흠 (4uraz at naver.com)
홈페이지
첨부 파일
 

안녕하세요?

System.IO.FileSystemWatcher 를 이용해서 NotifyFilters.LastAccess, Changed이벤트로 외부 응용프로그램으로 부터 실행되는
 특정 사운트파일이 실행되는것을 감시하는 기능을 구현 하려 합니다.

fsutil behavior set DisableLastAccess 0 로 레지스트리 값도 변경 해 주었고, FileInfo.LastAccessTime의 값을 사용하려합니다.

그런데... 사운드를 탐색기에서 실행(윈도우미디어플레이어로)하면 파일속성의 '엑세스한 날짜'의 값이 전혀 변화가 없어서 이벤트가 작동하지 않습니다.

아무리 시도를 해 봐도 FileSystemWatcher 로는 안되는것 같아서, 제가 간과한 부분이 있거나, 또는 다른 해결 방안이 있으면 도움을 구합니다.








[최초 등록일: ]
[최종 수정일: 11/9/2018]


비밀번호

댓글 작성자
 



2018-11-10 11시42분
(날짜가 너무 지나서 이미 했을 것 같지만 ^^;) 설정 후 재부팅은 하셨나요? 일단, 문서상으로 보면 딱히 그와 함께 더 해줄 것은 없는 것 같습니다.
정성태
2018-11-12 01시20분
[김광흠] 당연히 재부팅은 했습니다..
해당 파일을 직접 탐색기 창에서 더블 클릭 하여 실행 하고 파일 속성에서 '엑세스한 날짜'의 값이 변하는지를 확인해 보면 젼동이 없습니다...

현재는 win32 API를 이용해서 Hooking으로 해결 하고자 공부 중 입니다.
[guest]
2018-11-12 02시14분
혹시 재부팅한 다음, 다음의 명령어 출력 결과가 어떻게 나오나요?

fsutil behavior query disablelastaccess

다음의 글을 보니까, 재부팅 후 80000003/80000006 등의 값으로 (외장 하드가 있는 경우) 재설정이 된다고 합니다.

NtfsDisableLastAccessUpdate
; https://www.tenforums.com/general-support/108928-ntfsdisablelastaccessupdate.html
정성태

NoWriterDateCnt.TitleFile(s)