精华内容
下载资源
问答
  • 以管理员权限添加启动项
    千次阅读
    2019-07-04 18:43:19

    C#设置程序开机启动方法链接
    但是当程序默认需要管理员权限启动时,64位程序通过注册表设置开机启动的方法无效了,32位的程序还是有效的,

    这是几种解决方法:

    1.将启动参数写入到32位注册表里面去
    在64位系统下我们64位的程序访问此 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    注册表路径,是可以正确访问的,32位程序访问此注册表路径时,默认会被系统自动映射到
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run这个路径里面去。

    因为32位需要管理员权限的程序通过注册表设置开机启动可以正常启动,所以我尝试将64位程序也将启动参数写入到HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run节点里面去,重启软件时,发现可以正常启动了,不知道这是微软的bug还是什么。

    2.通过其他程序启动自己
    再写一个程序比如luancher.exe,将此程序设置为开机启动,但是此程序不要添加管理员权限,启动此程序时,此程序通过“runs”参数启动需要管理员权限的程序,这样就可以解决问题。

                    ProcessStartInfo processStartInfo = new ProcessStartInfo()
                    {
                        FileName = 路径,
                        CreateNoWindow = false,
                        ErrorDialog = false,
                        UseShellExecute = true,
                        Verb = "runas",
                    };
                  Process process = Process.Start(processStartInfo);
    

    3.计划任务启动程序
    如果程序本身需要管理员权限启动,那么比较推荐使用使用这一种方式,不需要管理员权限的比较推荐其他方式,因为使用计划任务启动程序时,windows 不会弹出讨厌的“允许某某程序对你的电脑进行修改吗的窗口”,下面是代码实现,注意需要安装nuget包TaskScheduler,转自
    https://blog.csdn.net/weixin_34384557/article/details/87536874。

    [Conditional("RELEASE")]
    private void RegisterTask()
    {
        const string TaskName = "App";
        var logonUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        const string taskDescription = "每当用户登录后自动运行App";
        const string deamonFileName = @"C:\Program Files (x86)\App\App.exe";
     
        using (var taskService = new TaskService())
        {
            var tasks = taskService.RootFolder.GetTasks(new System.Text.RegularExpressions.Regex(TaskName));
            foreach (var t in tasks)
            {
                taskService.RootFolder.DeleteTask(t.Name);
            }
     
            var task = taskService.NewTask();
            task.RegistrationInfo.Description = taskDescription;
            task.Triggers.Add(new LogonTrigger { UserId = logonUser });
            task.Principal.RunLevel = TaskRunLevel.Highest;
            task.Actions.Add(new ExecAction(deamonFileName, Program.Environment));
     
            taskService.RootFolder.RegisterTaskDefinition(TaskName, task);
        }
    }
    

    上面是我以前参考别人的例子拿过来的,任务计划启动如果需要的可以参考我这篇博文里面有c++和c#的例子可以直接拿来使用。链接

    更多相关内容
  • win10系统部分程序需要使用管理员权限运行,比如需要操作系统盘内的ProgramData文件、修改注册表HKEY_LOCAL_MACHINE下的键值等等,下面介绍几种可以以管理员权限运行的方法。 本文内容 方法一:在软件开发生成程序...

    win10系统部分程序需要使用管理员权限运行,比如需要操作系统盘内的ProgramData文件、修改注册表HKEY_LOCAL_MACHINE下的键值等等,下面介绍几种可以以管理员权限运行的方法。

    本文内容

    方法一:在软件开发生成程序时,添加管理员权限

    方法二:使用打包安装程序在注册表中添加管理员

    方法三:在程序属性中修改管理员权限

    方法一:在软件开发生成程序时,添加管理员权限

    在软件开发过程中,也可以给程序添加管理员权限,本文以QCreator为例,首先创建UAC.manifest的文本文件,在该文件中添加以下代码:

    <?xml version='1.0' encoding='UTF-8' standalone='yes'?> 
    <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
    <requestedPrivileges> 
    <requestedExecutionLevel level='requireAdministrator' uiAccess='false' /> 
    </requestedPrivileges> 
    </security> 
    </trustInfo> 
    </assembly>

    再新建temp.RC文件,在RC文件中添加以下代码:

    IDI_ICON1 ICON DISCARDABLE "/Images/Logo.ico"
    #ifdef QT_NO_DEBUG
    1 24 DISCARDABLE "UAC.manifest"
    #endif

    其中,IDI_ICON1 ICON DISCARDABLE "/Images/Logo.ico"是给应用程序添加图标,下面代码是在Release编译模式下,添加管理员权限,最后在Qt的PRO工程文件添加RC文件,RC_FILE += temp.rc,至此已完成代码添加管理员权限功能。

    方法二:使用打包安装程序在注册表中添加管理员

    使用Visual Studio2010自带的打包功能,在安装程序时添加注册表,以管理员权限运行程序。需要依次添加下列项,

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers,在此项下,新建字符串值,名称为:[TARGETDIR]XX.exe,值为:RUNASADMIN,这样在安装程序后,运行应用程序则是以管理员权限运行。

     

    方法三:在程序属性中修改管理员权限

    右键应用程序,在属性对话框选择"兼容性"-->“以管理员身份运行此程序”,同样可以达到以管理员权限运行程序功能。

    展开全文
  • 有人说,直接右键,以管理员权限启动不就可以了! 这样确实可以解决,但是我们要站在普通用户的角度来看一些问题,如果一些操作失败,用户不知道是权限不足的原因呢?用户不会开启管理员权限呢?作为开发者,有些...

    前言

    我们知道,在有些时候,我们的程序是需要管理员权限的,没有管理员权限有些操作就无法执行。
    有人说,直接右键,以管理员权限启动不就可以了!
    这样确实可以解决,但是我们要站在普通用户的角度来看一些问题,如果一些操作失败,用户不知道是权限不足的原因呢?用户不会开启管理员权限呢?作为开发者,有些东西必须站在用户的角度来看。

    软件:VS2012

    操作

    首先得写好窗体式程序

    扣代码…
    扣代码…
    扣代码…
    重要的事情说三遍!!!

    正常生成的exe文件
    在这里插入图片描述

    拥有管理员权限的exe文件
    在这里插入图片描述
    可以观察图标的右下角有没有管理员Logo

    • 没有就代表没有管理员权限
    • 有就代表应有最高管理员权限

    生成

    点击项目,点击属性
    在这里插入图片描述
    点击安全性,打开ClickOnce
    在这里插入图片描述
    然后关掉属性界面,查看解决方案多了一个app.manifest文件
    在这里插入图片描述
    打开app.manifest把默认的配置修改一下,通过代码的注释,可以知道需要修改的节点是【requestedExecutionLevel】
    在这里插入图片描述
    注释已经说得很详细了
    在这里插入图片描述

    asInvoker : 如果选这个,应用程序就是以当前的权限运行。

    highestAvailable: 这个是以当前用户可以获得的最高权限运行。

    requireAdministrator: 这个是仅以系统管理员权限运行。

    找到<requestedExecutionLevel level="asInvoker" uiAccess="false" />
    把其改为<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

    这里是重点!!!

    这时候修改完成,按下F5进行调试,通常会收到如下的错误提示:【ClickOnce 不支持请求执行级别“requireAdministrator”】。

    事情好像发生了相互矛盾,上面开启【ClickOnce】便自动创建了app.manifest,现在修改了app.manifest却提示:ClickOnce 不支持请求执行级别“requireAdministrator”。

    解决方法是:只要把【启用ClickOnce安全设置】不勾选就可以了。
    在这里插入图片描述

    如果操作步骤正确,按下F5进行调试,会弹出如下的提示框,VS具有提升的权限

    展开全文
  • 一、Inno Setup 打包的文件以管理员权限运行 1.1 在 Visual Studio 中打开设置为启动项的项目属性 点击 链接器 --> 清单文件 --> UAC 执行级别,输入 requireAdministrator (/level='requireAdministrator') ...

    作者:虚坏叔叔
    博客:https://xuhss.com

    早餐店不会开到晚上,想吃的人早就来了!😄

    一、Inno Setup 打包的文件以管理员权限运行

    1.1 在 Visual Studio 中打开设置为启动项的项目属性

    点击 链接器 --> 清单文件 --> UAC 执行级别,输入
    requireAdministrator (/level='requireAdministrator')

    在这里插入图片描述

    1.2 在 Inno Setup 安装目录中找到文件 SetupLdr.e32

    用软件 ResourceHacker 打开。

    1.3 如下图,点开清单,找到

    在这里插入图片描述

    <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
    

    改为

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
    

    改完点击编译,然后再保存。

    1.4 在Inno Setup 的打包编译脚本Setup节点中增加

    [Setup]
    PrivilegesRequired=admin
    

    1.5 点击编译,这样编译出来的程序在安装时,就会自动提示获取管理员权限

    在这里插入图片描述

    二、总结

    • 本文主要介绍用innosetup打包 打出来的包没有管理员权限无法正常的运行软件功能的问题
    • 如果觉得文章对你有用处,记得 点赞 收藏 转发 一波哦~

    💬 往期优质文章分享

    🚀 优质教程分享 🚀

    • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
    • 🎄比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
    • 🎄可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
    学习路线指引(点击解锁)知识定位人群定位
    🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
    💛Python量化交易实战 💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
    ❤️ C++ QT结合FFmpeg实战开发视频播放器❤️难度偏高分享学习QT成品的视频播放器源码,需要有扎实的C++知识!
    💚 游戏爱好者九万人社区💚互助/吹水九万人游戏爱好者社区,聊天互助,白嫖奖品
    💙 Python零基础到入门 💙Python初学者针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门

    🚀 资料白嫖,温馨提示 🚀

    关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

    请添加图片描述

    展开全文
  • ubuntu 中的管理员权限

    千次阅读 2021-05-15 09:07:28
    管理员权限,也称为root权限,root用户, 超级用户等,是指对于这个机器进行安装程序/设置的帐号,与使用程序的一般用户(如user)对应。在ubuntu系统里,一般情况下,只有一个管理员--root用户。这个root用户默认是...
  • win10 打不开软件管理员权限不够

    千次阅读 2021-07-11 00:49:32
    为什么win10双击程序打不开,只能以管理员身份运行我们先找到需要以管理员运行的软件,然后,点击右键属性,打开文件所在的位置,对软件本身进行设置。在win10中始终以管理员身份运行程序。右键点击软件,属性,点击...
  • ubuntu 以管理员身份运行程序

    千次阅读 2021-05-16 15:32:18
    桌面环境: gnome管理员权限,也称为root权限,root用户,超级用户等,是指对于这个机器进行安装程序/设置的帐号,与使用程序的一般用户(如user)对应。在ubuntu系统里,一般情况下,只有一个管理员--root用户。这个...
  • C#程序以管理员权限运行

    千次阅读 2018-12-10 16:25:28
    C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下也无法对系统目录、系统注册表等可能...
  • 1、VBS命令:以管理员权限运行VBS脚本 直接将其添加到VBS文件开头 Set WshShell = WScript.CreateObject("WScript.Shell") If WScript.Arguments.Length = 0 Then Set ObjShell = CreateObject("Shell....
  • MSI安装包管理员权限

    千次阅读 2019-10-08 19:09:36
    从Vista开始,系统引入了UAC用户控制功能,即普通用户运行...这时,我们可以利用注册表,为msi安装包添加以管理员身份运行“的功能。参考教程:(Win8.1测试环境,7-zip.msi演示为例,该方法也支持Win7/Wi...
  • 之前在《Win10 如何以管理员身份设置开机自启程序(1)》一文中介绍了:通过Windows“任务计划程序”来实现以管理员身份开机自启。但是,但是,遇到一台奇怪的Win10系统,上边的策略行不通。一旦设置管理员运行,就...
  • Qt应用程序自启动管理员权限

    千次阅读 2017-03-02 14:38:49
    启动当然是可以禁止的,通过软件管理或者手动删除对应的注册表中的键值即可!但是为了系统的服务或者操作上的方便,我们往往需要在开机的时候自启动一些服务。Qt程序也不例外,在发布Qt程序的时候,我们通常也...
  • 开机自启动程序: int checkAutoRun() { HKEY hKey; char pFileName[MAX_PATH] = { 0 }; char pValue[MAX_PATH] = { 0 }; DWORD dataType = REG_SZ; DWORD dataSize = MAX_SIZE;; //得到程序自身的全路径 ...
  • Win10 如何以管理员身份设置开机自启程序(1)

    万次阅读 多人点赞 2017-09-27 23:33:44
    最近一个项目在win10上部署时遇到问题,即如何设置以管理员身份开机自启。现把解决方法整理如下:首先,为了进行验证,我编了一个简单的程序test.exe(在C盘系统文件中创建一个文件):#include #include <fstream>...
  • 1、将Python脚本加入开机启动项 (1)首先,需要新建一个.bat文件(用来运行脚本),格式如下,斜体加粗部分为python脚本的位置(写完之后保存),保存的文件名为start.bat(可以按自己的需求进行命名): python D:\...
  • 如何让exe以管理员权限运行

    千次阅读 2015-12-22 18:09:36
    为一个exe编写dll程序,这个exe运行的时候没有管理员权限,但是dll中的代码执行的时候又需要管理员权限,所以很纠结。 解决办法最终是通过注册表来实现的。 原理和步骤演示: 1.运行: regedit.exe   找到HKEY...
  • (特别提醒:创建新用户一定要用管理员权限的帐号) 支持系统:win7/8/8.1/10(下面举例 win7系统 和 win10系统) 创建新用户添加管理员用户(方法一) 添加新用户 点击“开始按钮”-->选择“控制面板”点击...
  • 这里是在VS2017下面操作为例,程序需要管理员权限运行,manifest是改动最小的方式。这里RTVS项目为例进行讲解。添加manifest配置文件项目右键添加新建,如下图所示:修改manifestUAC权限控制项目结构如下:需要...
  • 1.程序的启动权限问题 2.你操作的可能32位的目录,不让你改64位的目录 32位是“HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\”,(多了一层“WOW6432Node”) 64位的才是 “HKEY_LOCAL_MACHINE\SOFTWARE\...
  • bcdedit添加win7启动项

    千次阅读 2013-11-21 13:11:53
    公司的电脑是日文win7系统,安装在C盘。 后来有需求,在E盘安装了中文win7,只是偶尔用用。...用管理员权限执行cmd,然后执行bcdedit命令。 建议先查看命令说明和进行备份 bcdedit /? bcdedit /export "C:\Dat
  • 由于日常需要,有时会编辑host文件,切换到管理员权限再编辑有点麻烦,干脆将“管理员权限打开”添加到右键菜单里。可以实现右键点击文件时,右键菜单里显示”Notepad++打开该文件(管理员权限)&amp;amp;quot; ​...
  • 键入:regedit依次展开“[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters] ”,在右侧空白处右击鼠标,从其右键菜单中选择“新建”-“DWORD值(32位)”。然后将新...
  • 因此在系统启动时,由于daemon程序需要管理员权限,所以在用户登录授权后,会弹出如下的用户账户控制窗口。 该弹出的UAC窗口,如果用户不手动点击确认按钮,会导致程序启动失败。实际应用中的情况是RDP远程启动时...
  • C# 使用管理员权限

    千次阅读 2018-04-02 10:11:33
    1、从A程序启动B程序,当B程序需要管理员权限的时候代码如下A程序里面启动B程序的代码如下ProcessStartInfo startInfo = new ProcessStartInfo();startInfo.FileName = B.exe; //设置程序启动路径startInfo.Working...
  • 很多时候,我们的程序因为需要管理员权限的问题而导致运行失败。这时候可以使用右键菜单,选中程序,“管理员身份运行”,如下图所示。 虽然问题是可以解决,但是经常有时候客户不清楚如何操作,还是会带来麻烦...
  • ubuntu 添加开机启动项

    千次阅读 2016-02-21 16:48:15
    1、使用本地开机文件设置开机启动项大多数linux发行版提供了一个本地开机文件专门让系统管理员添加开机是运行的脚本。不同linux发行版次脚本的位置不同。 发行版 文件位置 debian /etc/init.d/rc.local fedora ...
  • Win7的盗版系统较多,义务为我们提升到了管理员权限。而Win10原生宣称免费,所以默认就是分清权限的,最明显的,是具有管理员权限的程序图标右下角都会出现一个盾牌。  那么,我们能不能让我们的程序也天生具有...
  • Windows系统怎么添加Ubuntu启动项?

    千次阅读 2016-11-16 08:41:07
    Windows系统怎么添加Ubuntu启动项? 1、下载grub4dos软件包,提取文件grldr 和grldr.mbr到C盘根目录 2、某些版本的windows可能已经有用到其他版本的grldr(里面包含BIOS和MBR信息),因其和grub4dos自带的...
  • 用bcdedit为Windows 7系统添加ISO启动项

    千次阅读 2016-09-06 18:54:12
    利用WIN7自带的bcdedit命令和grub4dos为系统添加ISO启动菜单,可以直接在启动时加载ISO文件。例如启动时直接加载某些PE光盘。 工具/原料 WIN7系统 grub4dos软件 要加载的ISO文件 ...
  • 启动任务计划程序(Win+R运行 taskschd.msc 或通过控制面板-系统与安全-管理工具-计划任务) 在右侧操作栏里点【创建基本任务】弹出如下窗口 填写基本任务名称,触发器选择【计算机启动时】 下一步选择【启动程序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,774
精华内容 23,909
热门标签
关键字:

以管理员权限添加启动项