国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 易語言 > 正文

實現讓易語言編譯的32位程序在64位Windows7系統非管理員帳戶中執行

2024-07-21 02:54:35
字體:
來源:轉載
供稿:網友

昨天有易語言開發者向我求助,說他用易語言編譯的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注冊表之類的行為還是必須得有管理員權限的(否則修改無效)。或許在某些條件下可以做一些智能判斷?


注:相關教程知識閱讀請移步到易語言教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清原| 武冈市| 凭祥市| 嘉祥县| 宜昌市| 屏山县| 尖扎县| 明水县| 峨山| 罗田县| 中阳县| 鹿邑县| 长垣县| 吉木萨尔县| 佛山市| 丁青县| 金坛市| 昌平区| 峨山| 永川市| 安徽省| 棋牌| 凤庆县| 依兰县| 越西县| 甘肃省| 晋城| 永平县| 南开区| 盈江县| 扶沟县| 沙雅县| 平遥县| 棋牌| 恭城| 拜城县| 开原市| 洛浦县| 铜山县| 濉溪县| 平湖市|