Tôi đang thực hiện một ứng dụng được sử dụng để xóa các tệp Temp, lịch sử, v.v. khi người dùng đăng xuất. Vậy làm thế nào tôi có thể biết nếu hệ thống sẽ đăng xuất (trong C#)?Hãy đăng xuất khỏi sự kiện từ hệ thống
7
A
Trả lời
9
Có một tài sản trong Môi trường lớp mà nói về nếu quá trình tắt máy đã bắt đầu:
Environment.HasShutDownStarted
Nhưng sau khi một số googling tôi phát hiện ra rằng điều này có thể giúp cho bạn:
using Microsoft.Win32;
//during init of your application bind to this event
SystemEvents.SessionEnding +=
new SessionEndingEventHandler(SystemEvents_SessionEnding);
void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
if (Environment.HasShutdownStarted)
{
//Tackle Shutdown
}
else
{
//Tackle log off
}
}
Nhưng nếu bạn chỉ muốn xóa tệp tạm thời thì tôi nghĩ rằng việc phân biệt giữa tắt máy hoặc đăng xuất không phải là bất kỳ hậu quả nào đối với bạn.
0
6
Nếu bạn đặc biệt cần sự kiện log-off, bạn có thể sửa đổi các mã được cung cấp trong câu trả lời TheVillageIdiot như sau:
using Microsoft.Win32;
//during init of your application bind to this event
SystemEvents.SessionEnding +=
new SessionEndingEventHandler(SystemEvents_SessionEnding);
void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
if (e.Reason == SessionEndReasons.Logoff)
{
// insert your code here
}
}
Các vấn đề liên quan
- 1. Đề xuất hệ thống ghi nhật ký sự kiện phía máy chủ cho iOS
- 2. Dịch vụ Sự kiện Thông báo Hệ thống Windows & Sự kiện Tùy chỉnh
- 3. Sự kiện "touchmove" trên hệ thống android: Transformer Prime
- 4. Ghi nhật ký sự kiện trong các Hệ thống Nhúng
- 5. Đọc các sự kiện hệ thống tệp từ hạt nhân Linux mà không có Inotify
- 6. Thiết kế/Người điều phối mã cho Hệ thống đăng ký xuất bản
- 7. Hệ thống sự kiện - Có thể xuất bản một trang khác khi trang đang được xuất bản?
- 8. Hãy khởi tạo hệ thống log4j đúng cảnh báo
- 9. Đăng xuất khỏi Xcode Organizer?
- 10. Hệ thống đăng nhập với Codeigniter
- 11. Xuất DSN hệ thống ODBC từ máy tính Windows 2003?
- 12. Việc đăng xuất khỏi JS SDK không đăng xuất khỏi PHP SDK
- 13. Hệ thống Đăng nhập/Đăng ký với php và mysql
- 14. Sự kiện phát hiện Hệ thống đánh thức từ chế độ ngủ trong C#
- 15. Symfony2: Sau sự kiện đăng nhập thành công, hãy thực hiện bộ hành động
- 16. hệ thống đăng nhập PHP an toàn?
- 17. Hệ thống đăng nhập cookie/phiên
- 18. hệ thống đăng nhập ít mật khẩu
- 19. Đăng xuất Sự cố đăng xuất bằng facebook iOS sdk
- 20. Sự kiện thoát khỏi trang chặn
- 21. Đăng xuất khỏi AppStore trên iOS Simulator
- 22. Đăng xuất người dùng khỏi máy chủ
- 23. Hãy nhấp nhãn trong jQuery Flot "plotclick" sự kiện
- 24. Hệ thống vs ShellExecute - Sự khác biệt?
- 25. Làm cách nào để nhận các sự kiện hệ thống tệp của Windows trong Java?
- 26. C# Lệnh Chạy Hệ thống từ xa
- 27. Hệ thống ghi đè.Diagnostics.Trace.WriteLine để đăng nhập vào một tệp
- 28. Tệp nhật ký hệ thống Android
- 29. Cách kiểm tra hệ thống dựa trên lệnh và sự kiện với Masstransit
- 30. Cách nhận sự kiện khi người dùng thay đổi văn hóa của hệ thống
Cũng nên lưu ý, trên Vista + bạn có rất ít thời gian để làm công cụ trong quá trình shutdown, do đó hãy chắc chắn rằng bạn không thể chặn hoặc chờ vì bất kỳ lý do nào (ví dụ: cố gắng xóa một tệp có thể nằm trên mạng chia sẻ, v.v.) –
cảm ơn @Paul, khi đó bạn nên thực hiện một mục nhập ở đâu đó để cửa sổ rõ ràng các công cụ trên khởi động lại hoặc đăng nhập tiếp theo? – TheVillageIdiot