作者: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. hibernate Session的CRUD操作

    使用Session里面的方法进行CRUD操作 (1) 增加 save 方法 (2) 查找 get 方法(根据id查) (3) 修改 update 方法 (4) 删除 delete 方法 1.增加 /* ...

  2. linux c编程:Posix共享内存区

    Posix共享内存区:共享内存是最快的可用IPC形式.它允许多个不相关(无亲缘关系)的进程去访问同一部分逻辑内存.如果需要在两个进程之间传输数据,共享内存将是一种效率极高的解决方案.一旦这样的内存区映 ...

  3. eclipse安装Activiti Designer插件(转载:http://blog.csdn.net/qq_33547950/article/details/54926435)

    为了完成毕业设计,需要学习Activiti.万事开头难,果然刚开始就遇到了问题.<Activiti实战>和视频教程里提供的安装Activiti Designer插件方法(即下文方法一)不能 ...

  4. 自定义ionic弹出框

    <img width="64" height="64" src="img/timg.jpg" style="border-r ...

  5. Arduino 看门狗使用

    1.需要调用 #include <avr/wdt.h> 2.设置看门狗复位时间 wdt_enable(WDTO_2S); 代码时间定义的底层查看 #define WDTO_15MS 0 / ...

  6. python基础6 ----python函数

    python函数 一.函数的参数 1.函数的参数从调用的角度来讲可以分为形式参数和实际参数,也可叫形参和实参.     形参:变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元. ...

  7. MySQL——存储过程

    核心知识点: 1.什么存储过程?它都有哪些优点? 2.存储过程的语法和参数? 3.存储过程有哪些操作? 4.存储过程常用的控制语句? 一.存储过程概论 SQL语句需要先编译然后执行,而存储过程是一组为 ...

  8. 培训笔记——Linux历史

    1.  计算机有分时与实时操作系统的区分,如Dos为实时操作系统,你只能给它下达一个命令,这个命令执行完了,你才能下达下一个命令:像Linux和我们用的Windows就是分时操作系统,特点是可以并发 ...

  9. c的详细学习(11)文件

    为了提高数据输入/输出的处理效率,可以将程序运行时所需要的原始数据从文件中读取,并将程序运行的结果写入到文件中.     (1)文件概述     1)基本概念 文件是指存储在外部介质上数据的集合,可以 ...

  10. python的property属性

    最近看书中关于Python的property()内建函数属性内容时<python核心编程>解释的生僻难懂,但在网上看到了一篇关于property属性非常好的译文介绍. http://pyt ...