• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >易语言 > 实现让易语言编译的32位程序在64位Windows7系统非管理员帐户中执行

实现让易语言编译的32位程序在64位Windows7系统非管理员帐户中执行

作者:易语言帮助手册 字体:[增加 减小] 来源:互联网 时间:2018-11-19

易语言帮助手册通过本文主要向大家介绍了易语言,编译等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

昨天有易语言开发者向我求助,说他用易语言编译的32位程序软件,发布给64位操作系统Win 7用户使用,因为该用户确定没有管理员权限,而程序启动时又要求必须输入管理员密码,如此陷入困境。 目标企业用户管理严格,要求为普通用户分配管理员权限是不切实际的,只能开发人员从软件开发的角度在技术上解决。

我听到这个问题后,第一感觉是微软用户帐户控制(UAC)引发的,估计通过给 exe 添加特定的 manifest 资源应该可以解决。于是我给了他一段代码,让他用 ResHacker 之类的软件添加到软件里面去,试一试能不能解决问题:

<?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="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

结果测试之后他发现,非常成功的解决了问题。修改后的软件发布给用户测试,启动时也不再提示输入管理员密码了,功能一切正常。

下面对比一下易语言编译时默认加入的 manifest 资源:

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

会发现两者有细微的区别:asInvoker 和 requireAdministrator 的区别。后者会要求软件启动时必须有管理员权限,否则拒绝工作。那能不能一刀切的要求易语言默认采用 asInvoker 呢?恐怕还是不行的,因为修改Windows注册表之类的行为还是必须得有管理员权限的(否则修改无效)。或许在某些条件下可以做一些智能判断?

附 ResHacker (Resource Hacker) 3.6 下载地址:

https://www.jb51.net/softs/2289.html

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解易语言写ec模块的方法
  • 简单的易语言多线程应用实例
  • 易语言修改IE协议头留言手机版网页
  • 易语言拖放对象组件应用详解
  • 易语言dll文件传递字节集参数解析
  • 易语言目录框的目录被改变后取得改变后的目录并在编辑框中显示
  • 易语言操作硬盘txt扫描删除
  • 易语言模拟客户组件post发送数据
  • 易语言BUG及解决办法
  • 易语言设置在驱动器框中显示指定的驱动器类型

相关文章

  • 2018-11-19易语言判断循环首命令使用讲解
  • 2018-11-19易语言取整命令使用讲解
  • 2018-11-19易语言从前或从后寻找指定字节集
  • 2018-11-19一步一步跟我学易语言之常数、常量和资源
  • 2018-11-19易语言批量检测QQ号昵称的方法(推荐)
  • 2018-11-19易语言设置选择夹表头的方向
  • 2018-11-19易语言寻找文本第一次出现的位置
  • 2018-11-19易语言改变外形框边框线宽度的方法
  • 2018-11-19安装自己的易程序到其它计算机的方案
  • 2018-11-19易语言使用颜色选择器修改窗口背景颜色

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 易语言使用信息框显示取出项目文本的方法
    • 零基础易语言入门教程(六)之逻辑型命令
    • 易语言在组合框中寻找包含指定文本的项目
    • 易语言调用MS SQL SERVER数据库方法
    • 易语言基础教程之简单的人机交互
    • 用易语言COM对象取文件版本
    • 解决易语言多线程出错的问题
    • 易语言向指定窗口发送信息并取回信息反馈值
    • 易语言相除命令使用讲解
    • 易语言设定编辑框内最多允许输入多少字节的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有