2009-03-17 33 views
7

Tôi có một Dịch vụ Windows chạy ẩn khi PC khởi động. Tôi muốn hiển thị một biểu tượng trên khay hệ thống để cho phép cấu hình sau khi người dùng đã đăng nhập nhưng không thể tìm thấy cách thực hiện việc này.Tôi làm cách nào để Dịch vụ Windows hiển thị trong khay hệ thống?

Có sự kiện nào tôi nên tìm kiếm cho tôi biết rằng người dùng đã đăng nhập không?

Vì tôi hiểu Windows Services không thể có giao diện người dùng nên tôi cần khởi động ứng dụng để hiển thị biểu tượng khay sys? Làm thế nào tôi có thể chuyển các cập nhật cấu hình cho dịch vụ của mình.

Trả lời

11

Bạn sẽ muốn có ứng dụng "đại lý" riêng biệt cho việc này. Một dịch vụ Windows là toàn cầu, chạy ở mức hệ thống. Có thể có nhiều máy tính để bàn chạy trên hệ thống cùng một lúc, vì vậy trong khi có các cách cho phép các dịch vụ tương tác với lớp máy tính để bàn, nó không quan trọng để tương tác với "người dùng máy tính để bàn" theo cách tương tự như bạn làm với một ứng dụng đã bị ràng buộc vào một môi trường đăng nhập/máy tính để bàn cụ thể.

Ngoài ra còn có các rủi ro bảo mật liên quan đến việc có đường hầm dịch vụ vào môi trường máy tính (nó mở ra một đường dẫn đến tài khoản hệ thống trừ khi dịch vụ chạy trên một hạn chế hơn). mặc định.

+3

Đây là câu trả lời đúng. Một đường ống được đặt tên cung cấp một cách tốt để dịch vụ liên lạc với đại lý khay hệ thống. NHƯNG: hãy xem xét liệu dịch vụ của bạn có thực sự đủ tuyệt vời không [http://blogs.msdn.com/b/oldnewthing/archive/2010/12/15/10105142.aspx] để đánh dấu biểu tượng của riêng nó trong khay hệ thống. –

2

tôi sẽ tạo ra một ứng dụng thứ hai chạy và hiển thị chính nó trong khay hệ thống khi người dùng đăng nhập.

Bạn có thể mở Remoting với dịch vụ cửa sổ, và thông qua các bản cập nhật cấu hình thông qua phương pháp tiếp xúc từ các ứng dụng trong khay hệ thống.

5

Bạn sẽ cần một ứng dụng riêng để hiển thị biểu tượng khay. Bạn có thể giao tiếp với dịch vụ của bạn thông qua WCF cho phép dịch vụ lưu trữ một dịch vụ WCF hoặc thông qua ServiceController.

2

Thực ra, tôi không nghĩ rằng bạn CÓ THỂ hiển thị dịch vụ trong khay hệ thống. Các ứng dụng thực hiện điều này luôn sử dụng tác nhân hoặc công cụ quản lý khác.

Hầu hết thời gian ứng dụng chạy trong khay là một ứng dụng rất nhỏ cho phép truy cập vào cài đặt cho dịch vụ.

Tùy chọn cấu hình có thể được lưu trữ trong sổ đăng ký, tệp ini hoặc tùy chọn lưu trữ khác. Sau khi thay đổi cấu hình, tất cả những gì bạn cần làm là đảm bảo bạn khởi động lại dịch vụ của mình để có thể tải lại các cài đặt mới.

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