gpt4 book ai didi

windows - 检查 Electron 应用程序是否在 Windows 上以管理员权限启动

转载 作者:可可西里 更新时间:2023-11-01 13:28:44 46 4
gpt4 key购买 nike

有没有办法检查 Electron 应用程序是否以管理员权限启动?

我只找到 electron-sudo lib 以管理员权限执行命令。

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

那么如何检查应用程序是否启动并具有管理员权限using electron

最好的办法就是在软件内执行一个命令,例如:.isAdminPrivilegesUsed(可以是在 Windows 上执行的脚本)返回真或假,如果为假:

我会提示用户必须以管理员权限重启软件并关闭

最佳答案

我检查了如何从 Node 执行此操作并找到了这个答案:How to know if node-webkit app is running with Administrator/elevated privilege? .

我查看了答案,下载了 node-windows 并进行了尝试。但是,该解决方案会打开 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");
});

我通过正常运行应用程序并使用“以管理员身份运行”来测试它。上面的代码在未以管理员身份运行时正确显示“not admin”,以管理员身份运行时正确显示“admin”。

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

关于windows - 检查 Electron 应用程序是否在 Windows 上以管理员权限启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322862/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com