2011-06-27 63 views

回答

3

當然可以。您可以運行該功能,如果它失敗並且GetLastError() == ERROR_ACCESS_DENIED,那麼您需要管理權限。

+0

GetLastError()從以前的錯誤列表中刪除檢索到的錯誤...隨後對GetLastError()的調用將重複返回相同的最後一個錯誤,直到發生另一個錯誤? – Jeremy

+0

有什麼辦法可以確定哪些功能需要管理權限,而無需在其上運行測試程序...也可以通過源代碼解析,並查找需要更高訪問權限的特定部分。例如,是否有爲了成功調用需要管理訪問的特定Win32 API函數的列表?謝謝! – Jeremy

+1

不,沒有實際的列表,因爲幾乎在所有情況下都取決於參數,以及參數代表什麼。例如,「CreateFile」可能需要或不需要管理員權限,具體取決於您要打開的文件以及該文件的ACL。因此,無論您需要閱讀函數的描述,以瞭解它是否使用ACL訪問任何內容或需要特殊的權限,或者您可以運行該函數並查看它是否在您身上執行。 – bdonlan

相關問題