windows 下gcc编译的软件获取管理员权限

news2024/11/24 16:55:38

        每次运行程序的时候需要管理员权限,一般可以右键管理员模式运行,或者在属性里设置默认管理员权限运行。但是当需要移动执行文件的位置后,必须重新设置管理员权限。这种操作相对来说麻烦,有没有一种办法直接在exe中声明呢?

        如果是在vs20**系列的微软支持软件包,则可以直接在项目属性中声明,这个项目需要管理员权限运行,那么之后编译后的程序可以直接使用管理员权限运行了。但是还有一部分人群讨厌体态臃肿的VS 20**软件,更加喜欢gcc这列纯编译环境,然后使用类似于记事本的编辑环境,这类人群想要编译后的程序直接拥有管理员权限,应该如何操作。

        网络教程很多,代码或者说明比较长。咱们这里就直接列出代码和项目,更为方便。

        测试环境VS code、mingw64、win11

结构:这是项目中需要有的原始文件,编译后可能多一些其他文件,也会列出

        test                                                       项目文件

        |----main.cpp                                        主要执行程序

        |----uac.manifest                                  微软的环境描述(xml格式)

        |----uac.rc                                             微软的资源描述文件

接下来对每个文件的内容进行展示

main.cpp包含的内容:这里仅为提权,所以功能--无

// main.cpp
#include<iostream>
int main(int argc, char* argv[])
{
    return 0;
}

  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>

uac.rc包含的内容:这里的东西说明一下RT_MANIFEST这是一个宏,被winuser.h定义,感兴趣的可以跳转到winuser.h中查看。

#include <winuser.h>
1 RT_MANIFEST uac.manifest

编译命令:windres是mingw提供的一个工具,目的是编译微软的配套资料

windres --input-format=rc -O coff -i uac.rc -o uac.res

       此时项目文件中多了一个uac.res文件

         test                                                       项目文件

        |----main.cpp                                        主要执行程序

        |----uac.manifest                                  微软的环境描述(xml格式)

        |----uac.rc                                             微软的资源描述文件

        |----uar.res                                            二进制文件,可以使用十六进制阅读器打开如图

这里的实质就是uac.manifest资源文件中的内容,是一种可以被链接到执行文件中的东西。

编译命令:常规的编译命令,然后项目文件中会多一个代有管理员标志的可执行文件。

g++ -o main main.cpp uac.res

        至此,使用gcc编译win下可执行文件,并提升管理员权限的指导结束。

参考:但是更为精简,大段落的代码会让人不知从何处入手。

在MinGW或VS 2005 SP1环境下创建一个要求UAC权限的程序。 - bombless - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1258306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLO的网络结构组成

YOLOv5的CSP结构是 将原输入分成两个分支&#xff0c;分别进行卷积操作使得通道数减半&#xff0c; 然后一个分支进行Bottleneck * N操作&#xff0c;然后concat两个分支&#xff0c;使得BottlenneckCSP的输入与输出是一样的大小&#xff0c;这样是为了让模型学习到更多的特征。…

单调栈:LeetCode 907. 子数组的最小值之和

907. 子数组的最小值之和 给定一个整数数组 arr&#xff0c;找到 min(b) 的总和&#xff0c;其中 b 的范围为 arr 的每个&#xff08;连续&#xff09;子数组。 由于答案可能很大&#xff0c;因此 返回答案模 10^9 7 。 思路同乘法原理 LeetCode 828. 统计子串中的唯一字符-…

爱满荣山·和美岩窝-垃圾分类趣味微课堂

在利州区民政局的支持下&#xff0c;利州社工协会在荣山镇岩窝村开展儿童垃圾分类趣味小课堂。

几款令人惊叹的原创AI写作工具

人工智能&#xff08;AI&#xff09;的应用已经深刻地渗透到我们的生活中。其中&#xff0c;AI写作领域以其年轻且迅速发展的特性备受瞩目。探索其中的几款令人惊叹的AI写作工具&#xff0c;它们的功能之酷炫&#xff0c;绝对会让你眼前一亮&#xff01; 147SEO写作&#xff1a…

餐饮店点餐外卖小程序作用是什么

要说街道上各类门店多&#xff0c;那自然当属餐饮店&#xff0c;几乎每条通人的街道旁都有大小餐饮店&#xff0c;该行业是市场经济主要支撑之一&#xff0c;从业商家和品牌都很多&#xff0c;除了小餐饮店外&#xff0c;具备一定规模的门店也不少。 在市场激烈竞争及互联网深…

YOLOv7独家原创改进: AKConv(可改变核卷积),即插即用的卷积,效果秒杀DSConv | 2023年11月最新发表

💡💡💡本文全网首发独家改进:可改变核卷积(AKConv),赋予卷积核任意数量的参数和任意采样形状,为网络开销和性能之间的权衡提供更丰富的选择,解决具有固定样本形状和正方形的卷积核不能很好地适应不断变化的目标的问题点,效果秒殺DSConv 1)AKConv替代标准卷积进行…

pytest系列——pytest-xdist插件之多进程运行测试用例|| pytest-parallel插件之多线程运行测试用例

pytest之多进程运行测试用例(pytest-xdist) 前言 平常我们功能测试用例非常多时&#xff0c;比如有1千条用例&#xff0c;假设每个用例执行需要1分钟&#xff0c;如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时&#xff0c;会需要协调多个测试资源来把任务分成两…

让CHAT简单说明下软件工程师的工作性质

问CHAT&#xff1a;软件工程师的工作性质是什么&#xff1f; CHAT回复&#xff1a;软件工程师的工作性质主要包括以下几点&#xff1a; 1. 解决问题&#xff1a;软件工程师的很大一部分工作就是解决问题&#xff0c;这可能是来自客户的特定需求&#xff0c;也可能是软件开发过…

kali安装内网穿透工具并实现ssh远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh远程连接kali 1…

如何用CHAT配置linux的远程连接?

问CHAT&#xff1a;配置linux的远程连接 1.下载ssh 2.启动ssh服务 3.查看ssh服务状态 4.设置ssh服务开机自启动 5.设置windows的cmd下ssh 6.通过cmd的ssh命令远程到linux linux的ip:10.8.9.23 用户名:Li CHAT回复&#xff1a;以下是为配置Linux的远程连接的步骤说明&#xff1a…

一文读懂 | AI技术如何驱动企业供应链智能化,赋能企业降本增效?

近年以来&#xff0c;随着互联网技术的发展&#xff0c;AI的创新研究加速。随着大数据、云计算、物联网等信息技术的发展&#xff0c;以深度神经网络为代表的AI技术迅速发展&#xff0c;图像分类、语音识别、知识问答、无人驾驶等AI技术实现了从“不能用、不好用”到“可以用”…

利用广度优先或模拟解决米诺骨牌

本周推荐阅读 C二分算法&#xff1a;得到子序列的最少操作次数 题目 n 张多米诺骨牌排成一行&#xff0c;将每张多米诺骨牌垂直竖立。在开始时&#xff0c;同时把一些多米诺骨牌向左或向右推。 每过一秒&#xff0c;倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。同样…

分享:身份证阅读器在ARM Linux系统调用libwlt2bmp.so解码库实现身份证头像解码

头像解码库&#xff1a;libwlt2bmp.so 照片文件名&#xff1a;photo.bmp 原始身份证相片数据&#xff1a;574C66007E00320000F........&#xff08;此处省略&#xff09; 调用身份证阅读器Linux开发包&#xff0c;然后调用libwlt2bmp.so解码库文件&#xff0c;传入身份证原始…

谭巍主任贴心分享:想要HPV尽快转阴必吃的五种水果

HPV感染是常见的生殖道病毒感染&#xff0c;它可能导致宫颈癌等严重疾病。对于HPV感染者来说&#xff0c;转阴是预防和治疗的关键。北京劲松HPV诊疗中心主任谭巍认为除了接受正规的治疗和注意生活方式的调整外&#xff0c;饮食也是促进HPV快速转阴的重要方面。 一、苹果 苹果…

在思岚A1上复现gmapping

文章目录 软硬件条件laser_scan_matcher通过源码安装rplidar_ros通过源码安装设置参数启动效果预览 软硬件条件 软件&#xff1a;Ubuntu 20.04&#xff0c;ROS noetic 硬件&#xff1a;RPLidar A1. laser_scan_matcher通过源码安装 mkdir -p ~/catkin_ws/src cd ~/catkin_w…

特斯拉开源 Roadster 文件随便用;微软 Copilot AI 技术开放或不对大陆开放丨 RTE 开发者日报 Vol.92

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

【数字化转型方法论读书笔记】-数据中台落地实施之法

让数据中台真正落地是实现数字化转型的重中之重。企业做好数据治理、体系建设及人才配备等前期工作后&#xff0c;接下来要做的是数据中台实施落地的关键。 企业首先要掌握数据中台建设的三大核心要素&#xff1a;选对数据建设方式、厘清建设思路、避开数据中台建设误区&#…

Banana Pi最新的路由器板BPI-R4上市销售,基于MediaTek MT7988A

Banana Pi 发布了一款新的路由器板 Banana Pi BPI-R4&#xff0c;基于配备四核 Arm CPU 的 MediaTek MT7988A SoC。该板不仅仅是Raspberry Pi 的另一个替代品&#xff0c;而且是用于家庭网络和自动化的设备。 Banana Pi BPI-R4 的外形尺寸比单板计算机更像网络设备。对于那些希…

ubuntu22.04识别CH340的问题汇总

一、目的 自己的电脑装的是双系统&#xff0c;ubuntu22.04安装了很久好久没有&#xff08;WSL2确实解决了频繁依赖linux的问题&#xff09;。昨天尝试搞一下STM32MP135的系统搭建&#xff0c;开始启用ubuntu22.04。但是遇到了很多问题&#xff0c;其中一个问题就是CH340的驱动…

【JavaScript】3.2 JavaScript性能优化

文章目录 1. 避免全局查找2. 避免不必要的属性查找3. 使用快速的JavaScript方法4. 避免不必要的DOM操作5. 使用Web Workers进行后台处理总结 性能优化是任何编程语言的重要组成部分&#xff0c;JavaScript也不例外。在这个章节中&#xff0c;我们将探讨如何优化JavaScript代码&…