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

 更新时间:2018年10月28日 14:28:57   作者:Liigo  
在本篇文章里我们给大家分享了关于实现让易语言编译的32位程序在64位Windows7系统非管理员帐户中执行的相关内容,有需要的朋友们可以测试下。

昨天有易语言开发者向我求助,说他用易语言编译的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

相关文章

  • 易语言取整数部分相关操作

    易语言取整数部分相关操作

    在本篇内容里小编给大家分享的是关于易语言取整数部分相关操作教学内容,大家可以学习参考下。
    2018-12-12
  • 易语言如果命令使用讲解

    易语言如果命令使用讲解

    今天小编就为大家分享一篇关于的易语言如果命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 一步一步跟我学易语言之关于程序

    一步一步跟我学易语言之关于程序

    今天小编就为大家分享一篇关于一步一步跟我学易语言之关于程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 易语言API助手使用方法

    易语言API助手使用方法

    在本篇内容里小编给大家分享了关于易语言API助手使用方法介绍,有兴趣的朋友们可以跟着学习下。
    2019-01-01
  • 易语言Ex_DirectUI自绘扫雷游戏源码

    易语言Ex_DirectUI自绘扫雷游戏源码

    今天小编就为大家分享一篇关于易语言Ex_DirectUI自绘扫雷游戏源码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 易语言读写数据库操作详解

    易语言读写数据库操作详解

    在本篇内容中小编给大家整理了关于易语言读写数据库操作的相关知识点,有兴趣的朋友们参考下。
    2018-11-11
  • 易语言桌面写字软件介绍

    易语言桌面写字软件介绍

    在本篇文章中小编给大家分享了关于易语言桌面写字软件制作相关知识点,有兴趣的朋友们学习下。
    2019-01-01
  • 易语言连续赋值命令使用讲解

    易语言连续赋值命令使用讲解

    今天小编就为大家分享一篇关于易语言连续赋值命令使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言修改窗口标题的两种方法

    易语言修改窗口标题的两种方法

    今天小编就为大家分享一篇关于易语言修改窗口标题的两种方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11
  • 易语言实现截图或右键二维码识别的代码

    易语言实现截图或右键二维码识别的代码

    今天小编就为大家分享一篇关于易语言实现截图或右键二维码识别的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-11-11

最新评论