Khi người dùng lưu tệp từ ứng dụng của tôi, họ hiện không thể lưu vào các vị trí bị hạn chế (như C :). Tôi nghĩ rằng đây là một hạn chế tốt, nhưng tôi muốn cung cấp một nhắc nhở UAC để nâng cao đặc quyền và cho phép người dùng lưu trong một khu vực hạn chế.Làm thế nào để hiển thị lời nhắc UAC cho tệp lưu vào vị trí bị hạn chế bằng cách sử dụng C#?
Tôi đã nhìn thấy rất nhiều câu trả lời xung quanh chủ đề này liên quan đến việc sinh ra một quy trình mới với đặc quyền nâng cao bằng cách sử dụng 'runas'. Ngoài ra, có vẻ như điều này có thể được thực hiện bằng cách mạo danh một người dùng khác. Từ những gì tôi hiểu, cả hai phương pháp đó đều yêu cầu người dùng cung cấp thông tin xác thực người dùng.
Điều tôi muốn làm là cơ bản những gì bản thân Windows thực hiện. Khi bạn cố gắng sao chép một tập tin vào C: \ trong Windows 7 (giả sử bạn đã có UAC thiết lập để mức mặc định của nó), bạn nhận được dấu nhắc sau:
Khi bạn nhấp vào nút Tiếp tục với lá chắn UAC, tệp được sao chép vào C: \ không có lời nhắc cho thông tin đăng nhập (giả sử bạn đã đăng nhập với đặc quyền quản trị viên).
Làm cách nào để sao chép hành vi này trong ứng dụng của tôi cho người dùng quản trị? Họ không nên mạo danh bất kỳ người dùng nào khác vì họ đã có đặc quyền quản trị viên. Bất cứ ai có thể cung cấp chi tiết về những gì Windows đang làm trong quá trình này? Họ có sinh ra một quá trình explorer.exe mới với các đặc quyền nâng cao không?
Một số nguồn cảm hứng: http://stackoverflow.com/questions/573086/how-to-elevate-privileges-only-when-required –