在windows下,一般超级用户是管理员权限administrator;在linux下,一般超级用户是root。
- windows下,使用IsUserAnAdmin()函数进行判断;
- linux下,使用geteuid()函数进行判断。
编写一个UAC.h文件,使得在win/linux均可以进行判断,如下:
#ifndef UAC_H
#define UAC_H
#ifdef WIN32
// for IsUserAnAdmin()
#include <ShlObj_core.h>
#pragma comment (lib, "Shell32.lib")
#else
#include <unistd.h>
#endif
/**
* @brief runAsAdmin
* 判断当前程序是否以管理员权限运行,win下为administrator,linux下为root
* @return 是否以管理员权限运行
*/
bool runAsAdmin()
{
#ifdef WIN32
return IsUserAnAdmin(); // true, is admin
#else
return (geteuid() == 0); // true, is root
#endif
}
#endif // UAC_H
若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!
同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。