2011-06-27 64 views

回答

3

当然可以。您可以运行该功能,如果它失败并且GetLastError() == ERROR_ACCESS_DENIED,那么您需要管理权限。

+0

GetLastError()从以前的错误列表中删除检索到的错误...随后对GetLastError()的调用将重复返回相同的最后一个错误,直到发生另一个错误? – Jeremy

+0

有什么办法可以确定哪些功能需要管理权限,而无需在其上运行测试程序...也可以通过源代码解析,并查找需要更高访问权限的特定部分。例如,是否有为了成功调用需要管理访问的特定Win32 API函数的列表?谢谢! – Jeremy

+1

不,没有实际的列表,因为几乎在所有情况下都取决于参数,以及参数代表什么。例如,“CreateFile”可能需要或不需要管理员权限,具体取决于您要打开的文件以及该文件的ACL。因此,无论您需要阅读函数的描述,以了解它是否使用ACL访问任何内容或需要特殊的权限,或者您可以运行该函数并查看它是否在您身上执行。 – bdonlan

相关问题