作者:ffsystem

作为(糟糕的)程序猿,习惯写代码解决一些简单事务。正常用批处理就能解决大部分工作,复杂一点用AutoIt 3。

有时候要分发给别人,就需要一个界面。外行你程序写得如何他看不懂,也不想搞懂。他只看你界面是否花哨,来判断你行不行。没办法只是个看脸的时代,只好给程序整整容。

但是简单的事情,上VS、用.net;或者用java就太无趣了,而且那玩意整好看一点也麻烦。

AutoIt3很好用,但界面,但比较传统,找到一个国产的程序,快手AAuto,好像既轻量级、又能html给程序整容(刚学,评价没价值)。所以就学了用一下。

这个语言,网上资料不容易找,主站论坛,新手提问,也不太容易。所以写一点学习笔记,帮助自己,希望对学习这门语言的人也有一点帮助。

如何让程序在运行时请求管理员权限(UAC)

当我们调用系统命令(如net)来完成操作时,需要管理员权限,这就需要主程序请求管理员权限,快手如何才能让程序在运行时请求管理员权限呢?

一、判断程序是否以程序员权限运行:

函数:process.admin.isRunAs()

二、声明以管理员运行:

1.写好程序后“发布”。

Demo:

import win.ui;
import process.admin; /*DSG{{*/
mainForm = ..win.form(text="AAuto Form";right=599;bottom=399)
mainForm.add(
button={cls="button";text="检查";left=185;top=213;right=426;bottom=318;font=LOGFONT( h=-19 );z=1};
static={cls="static";text="本程序要求以管理员特权运行";left=125;top=75;right=529;bottom=116;font=LOGFONT( name='宋体';h=-29 );transparent=1;z=2}
)
/*}}*/ mainForm.button.oncommand = function(id,event){ mainForm.msgbox( process.admin.isRunAs()); } mainForm.show()
return win.loopMessage();

2.修改工程目录中.build文件夹下*.Manifest.xml,*指的是你的工程名。

--------------------------------------------------------------------------------

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
   <requestedPrivileges>
      <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
   <!--
      可任选以下配置之一指定一个进程权限:
      <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
      
      requireAdministrator 为管理员权限,
      highestAvailable 为可以获取到的最高权限,
      asInvoker 为默认值,即调用进程当前权限,一般不需要显式指定,指定后会禁用虚拟化。
      
      虚拟化指Vista以后系统禁止写 Program File目录,启用虚拟化则重定向到%localappdata%\VirtualStore目录,
      而注册表 HKEY_LOCAL_MACHINE\Software 则重定向到HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\Software
   -->
   </requestedPrivileges>
</security>
</trustInfo>

------------------------------------------------------------------

将红色的一行<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 从注释中,移动到注释外,让这行生效。

3.重新发布程序。

这时候程序在运行时,自动请求管理员权限。

 除非注明,ffsystem文章均为原创,转载请以链接形式标明本文地址
本文地址:http://www.cnblogs.com/ffsystem/p/4085580.html

[快手(AAuto)学习笔记]如何让程序在运行时请求管理员权限(UAC)的更多相关文章

  1. VC学习笔记: 1. Window程序内部运行机制

    0. 内容结构 API与SDK 窗口与句柄 消息与消息队列 WinMain函数 1. API与SDK 这里 API是指由Windows操作系统提供给应用程序的编程接口: Windows系统提供的API ...

  2. JAVA学习笔记系列2-Java程序的运行机制

    计算机高级语言的类型主要有编译型和解释型两种,而java语言是两种类型的结合. java首先利用文本编辑器编写java源程序,源文件后缀名为.java,再利用编译器(javac)将源程序编译成字节码文 ...

  3. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  4. windows程序 UAC设置,程序运行提示使用管理员权限运行的方法

    在近期的任务中需要对光盘中的程序运行时获取管理员权限运行程序.这个功能的实现需要改变工程的配置. 在vs2015中,使用鼠标右击解决方案管理器中的工程->属性->链接器->清单文件. ...

  5. 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制

    内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...

  6. 更为复杂C程序的运行时结构

    运行环境 win 10 企业版 1809 17763.194,MinGW V3.14 32位,Bundled V3.13.2,Bundled GDB V8.2. 在C语言中,栈的方向是从高地址向低地址 ...

  7. 图解简单C程序的运行时结构

    程序在内存中的存储分为三个区域,分别是动态数据区.静态数据区和代码区.函数存储在代码区,全局变量以及静态变量存储在静态数据区,而在程序执行的时候才会在动态数据区产生数据.程序执行的本质就是代码区的指令 ...

  8. 微信小程序学习笔记一 小程序介绍 & 前置知识

    微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...

  9. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

随机推荐

  1. 我的Android进阶之旅------>如何获取系统中定义了那些权限

    在Window控制台中输入如下命令可以看到Android系统中列出的所有权限(如果自定义权限注册成功,在这里也会找到这些自定义的权限) adb shell pm list permissions C: ...

  2. Ext部署在本地tomcat下运行例子

    我本地用的ext6+,从官网下载好Ext后解压到D盘,然后打开tomcat的server.xml,在Host标签内配置 <Context path="/ext-6.2.0" ...

  3. Python赋值魔法技巧

    实验环境: [root@localhost ~]# python -V Python 2.7.5 1.序列解包 多个赋值操作可以同时进行 >>> x,y,z = 1,2,3 > ...

  4. TCP标准模板

    伪代码 #创建一个TCP服务器 ss = socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字上 ss.listen() #监听连接 inf_loop: #服务器无线循环 c ...

  5. 33_为应用添加多个Activity与参数传递

    1\ 2\ 3\ 4\ 2 3

  6. 尽量不要在viewWillDisappear:方法中移除通知

    1.iOS7新增加了导航控制器侧滑手势,当触发侧滑返回时,会调用系统的viewWillDisappear:方法,取消侧滑返回时又会调用viewWillAppear:方法.   2.在做手势和通知等一系 ...

  7. [原创]java WEB学习笔记40:简单标签概述(背景,使用一个标签,标签库的API,SimpleTag接口,创建一个自定义的标签的步骤 和简单实践)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. 【leetcode刷题笔记】Binary Tree Level Order Traversal(JAVA)

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  9. Cache-Control常用类型

    可缓存性 no-cache 强制所有缓存了此响应的缓存用户,在使用已存储的缓存数据前,发送条件请求到原始服务器,若未过期,则使用缓存数据,否则重新获取 no-store 不存储有关客户端请求或服务器响 ...

  10. dedecms常用标签

    下面总结了58种常见的标签调用,包括关键描述调用.指定调用栏目.列表文章调用.频道栏目调用.当前栏目名称.栏目导航调用.模板路径调用.网站标题调用.友情链接调用.网站版权调用.网站备案调用.当前位置调 ...