Tôi cần xác định xem chương trình của tôi có đang chạy với đầy đủ quyền quản trị hay không. Bởi vì tôi có nghĩa là nếu uac được bật (cho win vista/7) mà tôi cần phải xác định xem chương trình thực sự có quyền quản trị (như nếu người dùng nhấp chuột phải và chọn "chạy như quản trị") và không giới hạn bởi uac. Làm thế nào để làm điều này trong C + +?Phát hiện xem chương trình có đang chạy với đầy đủ quyền quản trị viên
17
A
Trả lời
11
- Win9x: Mọi người đều là "admin"
- NT4: OpenThreadToken/OpenProcessToken + GetTokenInformation(...,TokenGroups,...) on DOMAIN_ALIAS_RID_ADMINS SID in a loop
- 2000+: OpenThreadToken/OpenProcessToken + CheckTokenMembership trên DOMAIN_ALIAS_RID_ADMINS SID
lựa chọn thay thế khác là: IsUserAnAdmin hoặc AccessCheck
Không cần kiểm tra công cụ TOKEN_ELEVATION * trong mã thông báo để kiểm tra quá trình hiện tại nhưng rất hữu ích nếu bạn cần tìm hiểu xem người dùng có thể nâng cao hay không vì họ có mã thông báo chia tách, v.v.
Các vấn đề liên quan
- 1. Chạy tệp Java với tư cách Quản trị viên với đầy đủ các đặc quyền
- 2. Làm thế nào để đảm bảo chương trình thiết lập sẽ chạy với quyền quản trị viên?
- 3. Cách đặt "Chạy chương trình này với tư cách quản trị viên" theo lập trình
- 4. Phát hiện xem người dùng có phải là quản trị viên
- 5. Cách yêu cầu quyền của quản trị viên khi chương trình bắt đầu?
- 6. Cách kiểm tra xem quy trình có quyền quản trị
- 7. Bắt đầu Quy trình với quyền quản trị viên trong C#
- 8. Làm cách nào để chương trình của tôi có thể phát hiện xem chương trình có đang chạy trên một miền cụ thể không?
- 9. Chạy trình biên dịch python (py2exe) với tư cách là quản trị viên trong Vista
- 10. Thêm cổng với netsh trong WCF làm quản trị viên miền không có đặc quyền quản trị
- 11. Chạy Visual Studio mà không có quyền quản trị
- 12. Win C#: Chạy ứng dụng với tư cách quản trị viên không có dấu nhắc UAC
- 13. Chính xác 'Chạy làm quản trị viên' làm gì?
- 14. Phát hiện số quá trình đang chạy với cùng tên
- 15. Chương trình Java có thể phát hiện rằng nó đang chạy thấp trên không gian heap?
- 16. Làm cách nào để biết liệu quy trình của tôi có đang chạy với tư cách Quản trị viên không?
- 17. Nhận danh sách quy trình đang chạy đầy đủ (Visual C++)
- 18. SFML 1.6 không có quyền quản trị
- 19. 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
- 20. Java: chạy với tư cách là quản trị viên
- 21. Django: phát hiện đăng nhập quản trị viên ở chế độ xem hoặc mẫu
- 22. IntelliJ có bắt đầu quá trình với quyền quản trị không?
- 23. C#: Cách phát hiện xem trình đọc màn hình có đang chạy không?
- 24. Cài đặt Inno: Cách đặt trình cài đặt "Chạy với tư cách quản trị viên"?
- 25. Kiểm tra xem người dùng hiện tại có phải là quản trị viên
- 26. Thời gian chạy chương trình đang chạy
- 27. Lấy danh sách đầy đủ các quy trình của Windows trong C
- 28. Tại sao ping hoạt động mà không có đặc quyền quản trị viên?
- 29. Cách thực hiện tác vụ hàng loạt với Quản trị viên đang hoạt động
- 30. Chạy ứng dụng .NET với tư cách là quản trị viên
Không đặt [thẻ] vào dòng chủ đề. Đó là những gì mà Thẻ dành cho. – abelenky
Bạn chỉ có thể thử thực hiện thao tác bạn cần. – ruslik
có thể trùng lặp của [Làm thế nào để kiểm tra xem một quá trình có đặc quyền nâng cao trong Windows 7 bằng cách sử dụng C++ bản địa?] (Http://stackoverflow.com/questions/4196552/how-to-check-if-a-process-has-elevated -privileges-in-windows-7-using-native-c) –