2010-02-28 24 views
11

Tôi cần chặn khi hệ thống cố gắng truy cập vào tệp và làm điều gì đó trước khi nó xảy ra.Cách chặn truy cập vào một tệp trong Chương trình .NET

+0

Tôi có thể thề câu hỏi này vừa được hỏi gần đây, nhưng tôi không thể tìm thấy nó. –

+0

Bạn đã xem lớp FileSystemWatcher chưa? –

+0

FileSystemWatcher cung cấp cho tôi quyền truy cập sau, tôi cần phải có quyền truy cập trước – FBSC

Trả lời

7

Bạn có thể sử dụng FileSystemWatcher - nhưng điều này không cho phép bạn chặn sự kiện và thực hiện mọi thứ trước khi bàn tay - nó chỉ thông báo cho bạn sau khi một tệp hoặc thư mục cụ thể bị ảnh hưởng theo một cách nào đó.

Chặn truy cập tệp không phải là điều bạn có thể thực hiện dễ dàng.

Bạn có thể viết file system filter driver, là một DLL không được quản lý mà O/S sẽ tải có thể intercept operations on files or folders. Tuy nhiên, đây không phải là một nhiệm vụ tầm thường.

Bạn đang cố gắng đạt được điều gì, có lẽ có một giải pháp thay thế đơn giản hơn?

0

Câu hỏi thú vị. Loại truy cập nào? Đọc, viết, xóa, sao chép?

  • Nếu bạn cần ngăn chặn quyền truy cập vào tệp thì bảo mật sẽ là cách. Sau đó, bạn có thể nắm bắt quyền truy cập và thực hiện nhiệm vụ cho một công cụ thực hiện đặc quyền cao hơn. Chẳng hạn như một dịch vụ đang chạy với tư cách là người dùng có đặc quyền cao hơn.

  • Nếu bạn muốn ngừng truy cập cấp hệ thống thì bạn cần có IFS filter.

  • Nếu tất cả quyền truy cập là thông qua mã của bạn, thì tôi khuyên bạn nên sử dụng thư viện để ngăn truy cập.

  • Và như những người khác đã đề cập, có FileSystemWatcher, nhưng tôi nghĩ rằng quyền truy cập bài đăng này không trước đây.

+1

Trong thực tế, tôi muốn thay đổi tệp đã xuất nếu người dùng có trong danh sách ... – FBSC

2

Sử dụng chỉ net nó là không thể

Các vấn đề liên quan