zoukankan      html  css  js  c++  java
  • Qt之开机自启动及拥有管理员权限

    源地址:http://blog.sina.cn/dpool/blog/s/blog_a6fb6cc90101feia.html

    Windows开机自启动的程序很多,包括系统软件、杀毒软件、一些其他安装软件等等。当然可以禁止,通过软件管理或者手动删除对应的注册表中的项即可!但是为了系统的服务或者操作上的方便,我们往往需要开机自启动一些服务。 以下是开机的启动项:

    Qt之开机自启动及拥有管理员权限X


    Qt也不例外,在发布Qt程序的时候,我们通常也需要开机自启动自己的程序,那么如何实现呢?主要采用修改注册表的方式。
    代码比较简单:
    #define REG_RUN 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run'
    void SettingDialog::setAutoStart(bool is_auto_start)
    {
    QString application_name = QApplication::applicationName();
    QSettings *settings = new QSettings(REG_RUN, QSettings::NativeFormat);
    if(is_auto_start)
    {
    QString application_path = QApplication::applicationFilePath();
    settings->setValue(application_name, application_path.replace('/', '\'));
    }
    else
    {
    settings->remove(application_name);
    }
    delete settings;
    }
    相信这段代码大家都能看懂,就不多做解释了!
    查看注册表:
    (1)运行:regedit
    (2)找到对应的路径REG_RUN
    Qt之开机自启动及拥有管理员权限
    里面的内容并没有加进去,当然是因为我们并没有调用自启动的方法!
    可根据setAutoStart的不同参数来添加或者删除注册表中的项。
    调用方法后:

    这样以来,大部分工作已经做完!
    修改注册表的时候,可能会注册失败,杀毒软件或者Windows也会进行提示:是否禁用或者允许程序更改。。。好的,怎么解决呢?
    (1)让程序拥有管理员权限
    (2)设置电脑的UAC级别
    关于(1),何为程序拥有管理员权限?即程序运行的时候不需要右键->以管理员权限运行就可默认以此权限运行。在VS2008以后,配置比较简单,工程右键->属性->链接器->清单文件->UAC执行级别
    (requireAdministrator)即可。
    (3)Creator配置需要在pro中添加QMAKE_LFLAGS += /MANIFESTUAC:'level='requireAdministrator'uiAccess='false''
    重新生成之后,可执行程序就会发生相应的变化(旁边多了一个小盾牌)!
    Qt之开机自启动及拥有管理员权限Qt之开机自启动及拥有管理员权限
    关于(2),可参考UAC及其设置来对UAC进行设置。
    注:
    技术在于交流、沟通,转载请注明出处并保持作品的完整性。
    作者:╰☆奋斗ing❤孩子` 原文:http://blog.sina.cn/dpool/blog/s/blog_a6fb6cc90101feia.html?vt=4

  • 相关阅读:
    June 26th 2017 Week 26th Monday
    June 25th 2017 Week 26th Sunday
    June 24th 2017 Week 25th Saturday
    June 23rd 2017 Week 25th Friday
    June 22nd 2017 Week 25th Thursday
    2018最佳网页设计:就是要你灵感爆棚!!!
    图片素材类Web原型制作分享-Pexels
    想要打动HR的心,UX设计师求职信究竟应该怎么写?
    【UXPA大赛企业专访】Mockplus:“设计替代开发”将成为现实
    2018年最好的医疗网站设计及配色赏析
  • 原文地址:https://www.cnblogs.com/lanye/p/5363595.html
Copyright © 2011-2022 走看看