Tôi đang viết một ứng dụng Windows 8 mà chủ yếu sẽ chạy trong nền. Ứng dụng này sẽ dành riêng cho máy tính (ví dụ: không có máy tính bảng hoặc điện thoại, trong trường hợp có sự khác biệt). Nó cần để có thể xem một thư mục được chỉ định trong khi nó đang chạy trong nền và được thông báo khi có một sự thay đổi trong thư mục đó. Bởi vì nó là một ứng dụng Windows cửa hàng tôi không thể sử dụng một FileSystemWatcher
, mà sẽ được hoàn hảo trong tình hình của tôi. Ngoài ra, tôi không thể sử dụng bộ hẹn giờ để xem thư mục vì những thay đổi này sẽ xảy ra sau mỗi 10-15 giây và bộ hẹn giờ không hỗ trợ thời gian ngắn hơn 15 phút. Tôi có những lựa chọn nào khác?Làm cách nào để theo dõi một thư mục có thay đổi trong nền của Ứng dụng Windows?
Trả lời
Vì bạn không thể sử dụng bộ hẹn giờ kích hoạt sau mỗi 15 giây, điều duy nhất tôi có thể đề xuất là chạy vòng lặp đơn giản, trước khi vòng lặp kiểm tra thời gian hệ thống từ đồng hồ hệ thống. vòng lặp nó kiểm tra sự khác biệt giữa đồng hồ hệ thống hiện tại và giá trị được lưu trữ ban đầu. Khi bạn nhận được đến 15 giây vòng lặp dừng lại và bắt đầu mã kiểm tra thư mục. Nếu mã trong vòng lặp là đơn giản và sử dụng một cuộc gọi Sleep
nó không nên mất hầu như bất kỳ tài nguyên hệ thống.
Tôi hy vọng điều này sẽ giúp ích cho bạn!
Bận chờ đợi? Ít nhất cũng đề nghị anh ta đặt một số loại lệnh 'Sleep' trong vòng lặp, nếu được cho phép ... nếu không nó sẽ giết CPU, và lấy pin xuống với nó! Vòng lặp rỗng không ** không ** sử dụng "hầu như bất kỳ tài nguyên hệ thống nào". Nó giữ bộ vi xử lý (hoặc ít nhất một lõi) chạy với công suất 100% liên tục. –
@MattiVirkkunen Tôi tin rằng anh ta giả định rằng tôi sẽ đặt tương đương 'Sleep'. Tôi biết rằng nó sẽ giết CPU nếu không. – Garrett
@MattiVirkkunen vâng tôi đã giả định điều đó. Tôi sẽ chỉnh sửa câu trả lời của tôi chỉ để làm rõ – FrostyFire
Bạn đã xem các tác vụ nền của Windows Apps chưa? Có một câu hỏi ở đây: Windows 8 Live Tile Background Agent Using C#
- 1. Làm cách nào để theo dõi thư mục Windows để thay đổi?
- 2. Cách sử dụng QFileSystemWatcher để theo dõi một thư mục để thay đổi
- 3. Sử dụng FileSystemWatcher để theo dõi một thư mục
- 4. Nhấp vào Theo dõi Ứng dụng Windows
- 5. Cách tối ưu để theo dõi những thay đổi trong một thư mục có kqueue() là gì?
- 6. Làm cách nào để theo dõi các thay đổi nội dung của clipboard trong C#?
- 7. Sử dụng Delphi để theo dõi các thay đổi được thực hiện cho thư mục?
- 8. Làm cách nào để thay đổi phần mở rộng của nhiều tệp trong một thư mục?
- 9. Cách đáng tin cậy để theo dõi các thay đổi tệp trong thư mục bằng cách sử dụng .NET framework
- 10. Thay đổi tên thư mục ứng dụng của yeoman
- 11. Làm thế nào để thay đổi màu nền của trang xaml trong ứng dụng wp7?
- 12. Cách xem một thư mục con của thư mục có thay đổi không
- 13. thay đổi thư mục virtualenv trên windows
- 14. Theo dõi thay đổi trong thuộc tính
- 15. Làm thế nào để thay đổi thư mục trên giao diện điều khiển ứng dụng
- 16. Làm cách nào để thêm nút theo dõi twitter trong ứng dụng iPhone của tôi?
- 17. Có cách nào để xóa cơ chế theo dõi thay đổi cho một thực thể không?
- 18. là nó có thể theo dõi thư mục bằng cách sử dụng mã java?
- 19. Làm cách nào để thay đổi thư mục bằng cách sử dụng Paramiko?
- 20. Cách theo dõi ngày thay đổi trong Java
- 21. Cách thay đổi màu nền trong ứng dụng android
- 22. Làm cách nào để tăng một tên thư mục bằng cách sử dụng Windows batch?
- 23. Làm cách nào để thay đổi thư mục đích của lệnh fileset của Ant?
- 24. JFileChooser thay đổi thư mục mặc định trong Windows
- 25. Theo dõi thay đổi trong Visual Studio
- 26. Làm cách nào để cài đặt ứng dụng vào thư mục dữ liệu/ứng dụng thay vì thư mục hệ thống/ứng dụng trong bản dựng AOSP?
- 27. Làm thế nào để đổi tên một thư mục trong Mercurial và tiếp tục theo dõi tất cả các tập tin thay đổi
- 28. làm thế nào để thay đổi màu nền của viewController trong mục tiêu-c
- 29. ứng dụng theo dõi android
- 30. Làm thế nào để thay đổi thư mục cache Netbeans?
Bạn có thể chạy chương trình nền để kiểm tra và trả lại bất kỳ khi nào có thay đổi. Điều đó sẽ bị giới hạn trong khoảng 15 phút. – FrostyFire
@JABFreeware Vì vậy, tôi sẽ phải viết một chương trình khác có thể xem thư mục, gói nó vào tệp thực thi, thêm tệp thực thi vào ứng dụng của tôi, làm cho ứng dụng của tôi chạy ứng dụng, sau đó yêu cầu ứng dụng của tôi lắng nghe thư từ tệp thực thi? – Garrett
Một giải pháp là không đưa ứng dụng của bạn vào một cửa hàng có mục đích ngăn cản bạn làm những gì bạn muốn làm. –