检查电子应用程序是否在Windows上以管理员权限启动 [英] Check if electron app is launched with admin privileges on windows

查看:35
本文介绍了检查电子应用程序是否在Windows上以管理员权限启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法检查电子应用是否以管理员权限启动?

我只找到了电子sudo库来使用管理员权限执行命令。

但我有多个命令要执行,我不想每次都提示用户。

那么如何使用电子邮件检查应用程序是否以管理员权限启动

最好是在软件中执行命令例如:.isAdminPrivilegesUsed(可以是在Windows上执行的脚本),返回true或false,如果返回false:

我将提示用户他必须使用管理员权限重新启动软件并将其关闭

推荐答案

我检查了如何从节点执行此操作,发现了以下答案:How to know if node-webkit app is running with Administrator/elevated privilege?

我查看了答案,下载了节点窗口并进行了尝试。然而,该解决方案显示了UAC对话框,并始终以"用户拥有管理权限"作为响应。

我深入研究了处理isAdminUser命令的node-windows代码,发现它试图运行Net Session,如果没有权限,则试图以更高的权限运行它,从而导致UAC对话。

我拉出执行提升的部分,最终得到以下代码片段:

var exec = require('child_process').exec; 
exec('NET SESSION', function(err,so,se) {
      console.log(se.length === 0 ? "admin" : "not admin");
    });
我通过正常运行应用程序并使用"以管理员身份运行"对此进行了测试。上面的代码在不以管理员身份运行时正确显示"非admin",在以管理员身份运行时正确显示"admin"。

这应该适用于问题中引用的.isAdminPrivilegesUsed方法的内容。

这篇关于检查电子应用程序是否在Windows上以管理员权限启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆