0%

发布的应用程序如果有敏感操作,如果不是右键应用程序“以管理员身份运行”很可能导致程序出错,那么如何让aardio生成的exe自动申请管理员权限运行呢,方法如下:

方法一

自定义Manifest文件:

首先生成一次EXE文件,可以看到工程目录下自动生成了默认的 /.build/Manifest.xml
可以用记事本打开编辑此文件后在最后一行“</assembly>”之前添加如下代码保存再生成EXE即可。

1
2
3
4
5
6
7
8
9
10

<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>

方法二

aardio文件首行注释:

普通aardio文件,如果首行注释为”//RUNAS//“,那么在aardio中点击【运行】运行该代码时将会请求系统管理权限。

如果在工程的 main.aardio 启动文件首行添加 //RUNAS//,那么将会自动修改 “\.build\default.Manifest.xml“ 文件设置生成的EXE文件启动时需要管理权限。

附注

aardio最新版本标准库已提供 process.admin.isRunAs() 用于判断进程是否以管理方式运行,下面是示例代码:

1
2
3
4
5
6
import console;
import process.admin;

var isAdmin,isXp = process.admin.isRunAs()
console.log("是否Vista,WIN7,WIN8 管理员权限",isAdmin)
console.log("是否XP操作系统",!!isXp)

问题描述

hexo博客同时安装了hexo-abbrlink和hexo-asset-image插件,markdown语法相对路径的方式插入图片无法显示。

解决办法

打开hexo博客根目录下\node_modules\hexo-asset-image\index.js

修改

1
var endPos = link.length-1;

1
var endPos = link.length-5;

如下图:

QQ截图20201102221937

注意事项

修改完成之后,绝对路径不能用了,只能使用相对路径markdown语法才能生成正确的图片路径。

相对路径的目录间隔符必须使用“/”

如果设置了_config.yml里的post_asset_folder属性为true,并且使用Typora来写博客的话,可以设置一下偏好如下图。

image-20201102231226552

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import console; 
//1、只有@1时,既省略@2、@3会设为"[-\d]+",同时省略@3会设为tonumber函数,将匹配结果传给tonumber处理后push到一数组中最后返回这个数组
console.log('\n1、只有@1时,既省略@2、@3会设为"[-\d]+",同时省略@3会设为tonumber函数,将匹配结果传给tonumber处理后push到一数组中最后返回这个数组')
var arr = string.map("123 456 789")
console.log("结果为:")
console.dump(arr);
//2、@2可以是一个字符串类型的模式串,用来在@1中查找,匹配到的所有结果会被push到一个数组中最后返回这个数组
console.log('\n2、@2可以是一个字符串类型的模式串,用来在@1中查找,匹配到的所有结果会被push到一个数组中最后返回这个数组')
var arr = string.map("123 456 789","\d+")
console.dump("结果:",arr);
//3、@2可以是包含模式串数组,数组中的前面模式串匹配结果会做为后面模式串的查询字符串逐步缩减,返回值为最后模式串匹配结果数组
// 其内部为string.search实现
console.log('\n3、@2可以是包含模式串数组,数组中的前面模式串匹配结果会做为后面模式串的查询字符串逐步缩减,返回值为最后模式串匹配结果数组')
var arr = string.map("123 456 789",{"\d+\s";"\d\s"}) //先找形如 "123 " 再找形如 "3 "
console.dump("结果:",arr);
//4、@2可以是包含模式串的表,键名可为任意名称,键值为模式串,返回相同结构的表,每个键对应的值会更新为表中模式串的匹配结果
console.log('\n4、@2可以是包含模式串的表,键名可为任意名称,键值为模式串,返回相同结构的表,每个键对应的值会更新为表中模式串的匹配结果')
var arr = string.map("123 456 489",{a="4\d+";b="\d\s"}) //表的模式串间不存在关系,各自用模式串在@1中去匹配
console.dump("结果:",arr);
//5、@2模式串中可以用括号指定匹配分组,这将直接返回分组匹配到的字符串并将其push到返回的结果数组中
console.log('\n5、@2模式串中可以用括号指定匹配分组,这将直接返回分组匹配到的字符串并将其push到返回的结果数组中')
var arr = string.map("123 a456b c789d","a(\d+)b")
console.dump("结果:",arr);
//6、@2模式串中的匹配分组还可以设为多个,这将会同时将多个匹配结果做为数组push到结果数组中最终形成一个二维数组结果
console.log('\n6、@2模式串中的匹配分组还可以设为多个,这将会同时将多个匹配结果做为数组push到结果数组中最终形成一个二维数组结果')
var arr = string.map("123 a456b c789d","a(\d+)b\sc(\d+)d")
console.dump("结果:",arr);
//7、可以自定义@3映射函数,这会将@2模式串匹配到的结果做为参数传到@3映射函数,@3的返回值将push到返回数组中
console.log('\n7、可以自定义@3映射函数,这会将@2模式串匹配到的结果做为参数传到@3映射函数,@3的返回值将push到返回数组中')
var func = function(...){
console.log("匹配结果传过来了:",...)
return ...+"我是映射函数返回的";
}
var arr = string.map("123 456 789","\d+",func)
console.dump("结果:",arr);
//8、单独省略@3映射函数时,内部会设置一个函数代替@3其作用为直接返回匹配结果。最后匹配结果会 push 数组中最后返回这个数组
console.log('\n8、单独省略@3映射函数时,内部会设置一个函数代替@3其作用为直接返回匹配结果。最后匹配结果会 push 数组中最后返回这个数组')
var arr = string.map("123 456 789","\d+")
console.dump("结果:",arr);
console.pause(true);

string.map函数的基础用法,感谢圣地分享。

安装hexo-abbrlink插件

1
npm install hexo-abbrlink --save

修改站点根目录配置文件“_config.yml”

1
permalink: post/:abbrlink.html

在任意位置加上:

1
2
3
abbrlink:
alg: crc32 #support crc16(default) and crc32
rep: hex #support dec(default) and hex

可能出现文章undefined的情况

hexo clean,再生成hexo g

如果还不行就打开那个不对的文章md文件,看下最上面Front-matter里的配置是不是有什么不对的(主要注意:-后面空格)。

修改正确 保存生成就ok了。

问题描述

hexo d命令的时候提示:

1
2
3
$ hexo d
INFO Validating config
ERROR Deployer not found: git

解决办法

在hexo博客目录下输入以下命令:

1
$ npm install --save hexo-deployer-git

再次hexo d就成功了。

标题

1
2
3
4
5
6
# 标题1
## 标题2
### 标题3
#### 标题4
##### 标题5
###### 标题6

标题1

标题2

标题3

标题4

标题5
标题6

文字加粗

1
**我被加粗显示了**正常文字

我被加粗显示了正常文字

文字斜体

1
*我被显示成斜体了*正常文字

我被显示成斜体了正常文字

代码

代码块

1
2
3
4
```
console.log("我是一行代码!");
console.log("我是一行代码!");
​```
1
2
console.log("我是一行代码!");
console.log("我是一行代码!");

行内代码

1
选中文本按下`Ctrl`+`C`可以粘贴

选中文本按下Ctrl+C可以粘贴

引用

1
2
> 这是一行引用。
> 这是第2行引用。

这是一行引用。
这是第2行引用。

超链接

1
[baidu](https://www.baidu.com)

baidu

图片

1
![文本](QQ截图20201015210631.png)

文本

列表

无序列表

1
2
- 无序列表项1
- 列表项2
  • 无序列表项1
  • 列表项2

有序列表

1
2
1. 有序列表项1
2. 列表项2
  1. 有序列表项1
  2. 列表项2

水平分割线

1
------

表格

1
2
3
4
5
|      |      |      |
| ---- | ---- | ---- |
| | | |
| | | |
| | | |