Tôi đang phát triển ứng dụng C# cần phát hiện xem người dùng có đang chạy với tư cách quản trị viên nâng cao hay không. Tôi đã thử số solution do Steven đề xuất.Không thể phát hiện xem người dùng có đang chạy với đặc quyền cao hay không, khi không có cửa sổ bật lên UAC
Tôi đã kiểm tra giải pháp trên 5 máy và hoạt động tốt trên 4 máy.
Có một máy không bao giờ hiển thị thông báo thông báo UAC, mặc dù tôi đã đặt Điều khiển tài khoản người dùng thành Always notify me
.
Khi kiểm tra mã trên máy đó, ngay cả khi tôi chọn run as administrator
, nó không hoạt động và phương thức IsProcessElevated
trả về sai.
Có vấn đề gì với máy cụ thể đó không?
Có cách nào để xác định xem người dùng có được nâng lên hay không, trên loại nền tảng đó?
Tôi sẽ kiểm tra xem máy có tất cả các gói dịch vụ mới nhất, v.v. sau đó thử lại. –
có một số giải pháp thay thế để kiểm tra UAC [ở đây] (http://stackoverflow.com/questions/95912/how-can-i-detect-if-my-process-is-running-uac-elevated-or-not). Có thể thử một trong số đó và xem liệu nó có hiệu quả không? – Default
Nghe có vẻ như tôi có điều gì đó sai với máy tính đó, không phải mã. Bạn sẽ nhận được nhắc nhở UAC nếu bạn cấu hình nó một cách rõ ràng để nhắc. Bạn không phải. Điều đó chỉ ra một vấn đề với chính hệ thống. –