当前位置: 首页 > news >正文

百度小程序可以根据网站的要求做东方资产营销网站

百度小程序可以根据网站的要求做,东方资产营销网站,wordpress 安装乱码,中国万维网官网域名注册网站QT中为程序加入超级管理员权限 Chapter1 QT中为程序加入超级管理员权限1. mingw编译器2. MSVC编译器3. CMAKE Chapter2 如何给QT程序添加管理员权限(UAC)的几种方法1、Qt Creator中方案一#xff1a;#xff08;仅适用于使用msvc编译器#xff09;方案二#xff1a;#x… QT中为程序加入超级管理员权限 Chapter1 QT中为程序加入超级管理员权限1. mingw编译器2. MSVC编译器3. CMAKE Chapter2 如何给QT程序添加管理员权限(UAC)的几种方法1、Qt Creator中方案一仅适用于使用msvc编译器方案二适用于mingw32编译器 2、vs中 Chapter3 Qt 程序添加管理员权限的几种方法二、使用添加管理员权限的小工具 Chapter4 QT编译出来的exe以管理员权限启动1、编译QT时遇到问题2、解决方法 Chapter5 给Qt程序添加管理员权限总结一定有你没见过的方式一、使用MSVC编译器二、使用MinGW编译器三、使用代码实现以管理员权限运行程序四、对第三章内容的补充 Chapter1 QT中为程序加入超级管理员权限 原文链接https://blog.csdn.net/u013441358/article/details/127452147 QT的一些文件操作注册表的操作等有些操作会无效主要是因为没有对C盘的相关权限。通过为程序加入超级管理员权限可以解决此问题。 1. mingw编译器 在pro工程文件中加入 RC_FILEmain.rcmain.rc是Qt项目的资源文件其内容示例如下 IDI_ICON1 ICON DISCARDABLE ./res/logo.ico 1 24 uac.manifest第一行是为程序添加图标第二行是增加超级管理员权限。 uac.manifest文件的内容示例如下 ?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0 trustInfo xmlnsurn:schemas-microsoft-com:asm.v3 security requestedPrivileges requestedExecutionLevel levelrequireAdministrator uiAccessfalse / /requestedPrivileges /security /trustInfo /assembly2. MSVC编译器 在QT工程文件中加入QMAKE_LFLAGS的增加配置 QMAKE_LFLAGS /MANIFESTUAC:\level\requireAdministrator\ uiAccess\false\\3. CMAKE 放在add_executable的后面 set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS/MANIFESTUAC:\levelrequireAdministrator uiAccessfalse\/SUBSYSTEM:WINDOWS)已经获得windows管理员权限的应用程序图标上会出现一个盾牌例如 Chapter2 如何给QT程序添加管理员权限(UAC)的几种方法 原文链接https://blog.csdn.net/A3872215/article/details/98039295 1、Qt Creator中 方案一仅适用于使用msvc编译器 在PRO文件中添加一行指令即可 QMAKE_LFLAGS /MANIFESTUAC:\level\requireAdministrator\ uiAccess\false\\MANIFESTUAC内容如下 ?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0 trustInfo xmlnsurn:schemas-microsoft-com:asm.v3 security requestedPrivileges requestedExecutionLevel levelrequireAdministrator uiAccessfalse / /requestedPrivileges /security /trustInfo /assembly 方案二适用于mingw32编译器 先创建一个 .manifest 文件如app.manifest文件内容如下 ?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0 trustInfo xmlnsurn:schemas-microsoft-com:asm.v3 security requestedPrivileges requestedExecutionLevel levelrequireAdministrator uiAccessfalse / /requestedPrivileges /security /trustInfo /assembly 然后在exe所在的目录中执行mt指令mt指令在VS自带的“开发人员命令提示”工具中 1 mt.exe -manifest app.manifest -outputresource:app.exe;#1注意exe和manifest文件要在同一目录中。 以上就是让Qt程序以管理员权限运行的两种方法。 2、vs中 方案一在你的工程右键属性找到linker–manifest file.之后设置UAC execution level为requireAdmistrator. Chapter3 Qt 程序添加管理员权限的几种方法 原文链接https://blog.csdn.net/weixin_39568531/article/details/104825816 二、使用添加管理员权限的小工具 /// permission.bat start cmd /k mt.exe -manifest RunningPermission -outputresource:iphelper.exe;#1 taskkill /f /t /im cmd.exeChapter4 QT编译出来的exe以管理员权限启动 原文链接https://blog.csdn.net/weixin_44618297/article/details/125975286 1、编译QT时遇到问题 2、解决方法 MinGW下加权限 这种方法需要先创建.manifest文件如app.exe.manifest,文件内容如下 ?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0trustInfo xmlnsurn:schemas-microsoft-com:asm.v3securityrequestedPrivilegesrequestedExecutionLevel levelrequireAdministrator uiAccessfalse //requestedPrivileges/security/trustInfo /assembly然后再创建一个.rc文件如app.rc这两个文件都需要放在Pro文件同级目录下rc文件内容如下 CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST app.exe.manifest最后在Pro文件中再附加如下代码 RC_FILE app.rc重新编译运行即可解决。 Chapter5 给Qt程序添加管理员权限总结一定有你没见过的方式 原文链接https://blog.csdn.net/zyhse/article/details/108166181 当我们写了一个Qt程序程序会在C盘某些目录下创建文件时会发现代码没有问题但是就是创建失败。而当我们对程序右键以管理员权限运行时又可以正常创建文件。 此时说明我们的程序默认不具备管理员权限故而无法对某些目录进行写入。 根据我们的编译器不同有如下2种情况。 一、使用MSVC编译器 在pro文件中添加如下一行 QMAKE_LFLAGS /MANIFESTUAC:\level\requireAdministrator\ uiAccess\false\\重新编译之后程序会带个盾牌标志。 但是会有个后遗症会发现我们在debug下无法进行调试了会弹出The CDB process terminated的错误 这是因为我们的QtCreator没有以管理员权限运行却对管理员权限的程序进行调试所以报错具体为什么我也不知道。 当重新以管理员权限运行QtCreator并进行调试就不会报错了。 然鹅每次启动QtCreator都以管理员权限太麻烦换作不清楚的人启动这个工程一定是一脸懵逼。 所以我们稍微修改下pro文件让程序仅仅在release模式下才以管理员权限运行。 CONFIG(release, debug|release){ QMAKE_LFLAGS /MANIFESTUAC:\level\requireAdministrator\ uiAccess\false\\ }这样debug就不受影响了。 二、使用MinGW编译器 1、创建文件uac.manifest 文件内容为 ?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0trustInfo xmlnsurn:schemas-microsoft-com:asm.v3securityrequestedPrivilegesrequestedExecutionLevel levelrequireAdministrator uiAccessfalse //requestedPrivileges/security/trustInfo /assembly2、创建资源文件res.rc 加入如下内容 1 24 uac.manifest3、修改pro文件 .pro文件加入如下内容 RC_FILE res.rc如果有其他ico等资源文件可以一起加入到res.rc文件中。 重新编译之后程序会带个盾牌标志。 也会有在第一章中提到的无法debug后遗症。 所以我们稍微修改下pro文件让程序仅仅在release模式下才以管理员权限运行。 CONFIG(release, debug|release){ RC_FILE res.rc }这样debug就不受影响了。 三、使用代码实现以管理员权限运行程序 以上2种方式比较常见。而且编译完之后exe会带盾牌标志。 下面介绍一种编译完不带盾牌但是依然以管理员权限运行程序的方式。 我们首先创建UAC.h如下 #ifndef UAC_H #define UAC_H#include ShlObj_core.h #include QCoreApplication// for IsUserAnAdmin() #pragma comment (lib, Shell32.lib)class UAC { public:// 以管理员权限启动一个新实例// true-启动了新实例// false-未启动新实例static bool runAsAdmin(){if (IsUserAnAdmin()){return false; // 当前程序正以管理员权限运行}QStringList args QCoreApplication::arguments(); // 获取命令行参数if (args.count() 2 || args[1] ! runas) // 不带参数或参数不为runas时即直接运行{// 获取应用程序可执行文件的路径QString filePath QCoreApplication::applicationFilePath();// 以管理员权限执行exe程序HINSTANCE ins ShellExecuteA(nullptr, runas, filePath.toStdString().c_str(),runas, nullptr, SW_SHOWNORMAL);if (ins (HINSTANCE)32){return true; // 程序新实例启动成功}}return false;} };#endif // UAC_H UAC类中只有一个方法runAsAdmin()实现以管理员权限启动一个新实例程序。 当执行到ShellExecuteA()函数时会请求以管理员权限启动一个新实例程序如下 点击“是”则表示允许启动此时ShellExecuteA()返回值大于32 点击“否”则表示禁止启动此时ShellExecuteA()返回值小于32。 我们在main.cpp中调用UAC类如下 #include QCoreApplication #include UAC.hint main(int argc, char *argv[]) {QCoreApplication a(argc, argv);// 以管理员权限启动一个新实例if (UAC::runAsAdmin()){return 0; // 启动成功当前程序退出} // 未启动当前程序继续return a.exec(); }我们双击执行生成的exe时首先就会请求以管理员运行一个新实例 若允许了那么当前程序就退出 若不允许则当前程序继续执行。 这样实现了启动时选择权限而后保留只有一个对应权限程序运行的效果与上述2种方式双击运行效果一致。 不同点 由于使用启动一个外部进程的方式来实现故生成的exe不会带盾牌标志。 后遗症 也有一个问题就是进行debug时允许管理员权限运行那么启动了新实例而当前程序退出所以是无法进行调试的。 只能选择禁止管理员权限运行才能对当前程序进行调试。 小贴士 我们发现很多大厂出品的软件也具有管理员权限但是人家exe是不带盾牌标志的。或许用户看到盾牌会觉得这货不是个善类。。。所以还是尽量伪装一下我们就是普通软件真的人畜无害 (‿◠) 这种方式就看大家的需要吧。 四、对第三章内容的补充 使用代码实现以管理员权限运行程序思路是源自磁盘测试开源软件CrystalDiskMark其github地址https://github.com/hiyohiyo/CrystalDiskMark 在DiskMark.cpp文件中存在如下原版代码我的代码在此基础上进行了一点修改方便调用。 BOOL RunAsRestart() {int count; #ifdef _UNICODETCHAR** cmd ::CommandLineToArgvW(::GetCommandLine(), count); #elseTCHAR** cmd ::__argv;count ::__argc; #endifif (count 2 || _tcscmp(cmd[1], _T(runas)) ! 0){TCHAR path[MAX_PATH];::GetModuleFileName(NULL, path, MAX_PATH);if (::ShellExecute(NULL, _T(runas), path, _T(runas), NULL, SW_SHOWNORMAL) (HINSTANCE)32){return TRUE;}}return FALSE; }BOOL CDiskMarkApp::InitInstance() {// ......if (! IsUserAnAdmin()){if (RunAsRestart()){return FALSE;}}// ...... }感兴趣可以自己去看看。
http://www.hkea.cn/news/14415931/

相关文章:

  • 东莞企石做网站事业单位网站备案
  • 进下加强新闻宣传网站建设西部数码网站备案
  • php开源建站系统延安网站设计公司
  • 给网站做接口做电影网站违法吗
  • 网站备案与域名关系免费注册帐号qq
  • 学校网站建设的目的网站备案 途径
  • 著名的淘宝客网站书画院网站建设
  • win系统做网站wordpress tag=
  • 章丘营销型网站设计公司网站建设的工作流程
  • 网站搭建哪家好wordpress 修改文件名
  • 鹰潭网站建设yt1983fifa17做任务网站
  • wordpress 家教主题seo排名查询
  • 南宁网站推广排名四合一小说网站搭建教程
  • 网站建设亇金手指专业禅城网站设计
  • 房地产图文制作网站WordPress热门排行榜插件
  • 单页网站系统上海频道网站建设公司
  • wordpress idown主题快照关键词优化
  • 电商网站建设技术可行性分析u钙网logo设计官网
  • 东莞国网站建设网站制作的详情表
  • 有专门做网站维护的职业吗网站页面制作视频
  • wordpress手机评论湛江seo排名外包
  • 黄岛网站建设哪家好网站域名后缀区别
  • 宽屏企业网站源码专业的建设机械网站
  • 太原网站开发定制彩票网站net网站开发
  • 会议网站建设方案模板WordPress一键开启全站SSL
  • 做培训的网站建设国外最大的设计网站
  • 做网站做一个什么主题的晋江网站有什么职业做
  • 企业网站后台内容如何修改如何自己建设一个网站
  • 网站开发模板wordwordpress好插件
  • 网站设计有限公司是干嘛的福永网站建设公司哪家好