-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.xml
1 lines (1 loc) · 195 KB
/
index.xml
1
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ARAE</title><link>https://blog.arae.cc/</link><description>Recent content on ARAE</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Tue, 22 Nov 2022 21:36:21 +0800</lastBuildDate><atom:link href="https://blog.arae.cc/index.xml" rel="self" type="application/rss+xml"/><item><title>Maye Lite Script Help</title><link>https://blog.arae.cc/post/25848.html</link><pubDate>Tue, 22 Nov 2022 21:36:21 +0800</pubDate><guid>https://blog.arae.cc/post/25848.html</guid><description>Maye Lite Script 基于 JavaScript ,支持 JavaScript 98% 以上的语法。 !!!每个脚本实例中必须包含 mz.exit(); 退出命令,否则脚本实例将会一存在。 简介 Maye Lite Script Framework , 采用多线程调用多进程执行方式(开启minSpareChildProcess),与同类不同之处在于采用不调用退出命令不退自动退出的方式,该方式可随意操控脚本在想要的时候完全退出并释放资源。 代码编辑器 附加快捷键 Ctrl+S 保存,子窗口生效(以便及时调试使用) Ctrl+Alt+Z 自动换行 Ctrl+D 复制 结构体与常量 // 此处为方便辨别以cpp方式展现,实际使用时自行转换为js方式 const int NULL = 0; // int 类型空值 const string NULLSTR = &quot;&quot;; // string 类型空值 const int S_OK = 0; struct POINT { int x; int y; }; struct RECT { int left; int top; int right; int bottom; }; struct SIZE { int cx; int cy; }; 基础 exit() // void exit(); // 用作退出脚本实例并释放内存,每个脚本都应存在该命令,否则脚本实例将一直存在并占用内存 mz.exit(); Delay() // void Delay(int ms); // 延时,延时执行后续命令 // @param int ms 延迟时间(毫秒) mz.Delay(1000); Sleep() // void Sleep(int ms); // 延时,延时执行后续命令 // @param int ms 延迟时间(毫秒) mz.Sleep(1000); 按键 SendString() // void SendString(string str); // 模拟输入字符串(适用于大部分游戏) // @param string str 要输入的字符串 mz.SendString('test'); SendVKeyDown() // void SendVKeyDown(vk virtualKey); // 模拟按下指定的VirtualKeyCode。 // @param vk virtualKey 要模拟发送的 VirtualKeyCode (VK.XX) 值 mz.SendVKeyDown(VK.KEY_A); SendVKeyUp() // void SendVKeyUp(vk virtualKey); // 模拟释放指定的VirtualKeyCode。 // @param vk virtualKey 要</description></item><item><title>Maye Lite 一个更轻更简洁的快速启动工具</title><link>https://blog.arae.cc/post/25842.html</link><pubDate>Fri, 12 Nov 2021 18:22:15 +0800</pubDate><guid>https://blog.arae.cc/post/25842.html</guid><description>Maye Lite是一款更轻更简洁的快速启动工具。它的功能非常单一化,只专注于文件的快速启动。没有繁杂的功能,操作中也不会产生任何垃圾文件,绿色无污染,是用户提升Windows操作体验的好帮手。 功能 多文件拖拽添加启动 快捷键唤醒 快捷键运行项目 快捷方式编辑 lnk、url文件解析 SYSTEM权限运行 分类 排序 跨分组拖拽项目 自定义主题 完全自定义UI(CSS) 运行 运行脚本(简单高效的自动化处理方式) 多模式快捷键 特色 相较于Maye,Lite版采用c++开发,拥有更快的响应速度,且大幅度提升界面绘制速度,并且重新设计的内存缓存机制,稳定性更强。 相关截图 设置 设置界面懒得写,自行参考「Maye Lite 配置项」进行设置。 参数变量 Maye Lite 支持 Win环境变量同时并内置 2 个 参数变量 (变量尾不含 \ ) ,涉及范围:目标、起始位置、启动参数、图标。 变量名 说明 支持版本 %mp% 当前目录 1.0.0.3+ %mr% 当前盘符 1.0.0.3+ 搜索命令 命令头 说明 [&gt;] 执行终端命令,如:&gt;ping arae.cc [&lt;] 调用运行,如:&lt;c:/ 打开c盘 [s ] 可用搜索列表 [bd ] 通过 百度 搜索 [b ] 通过 必应 搜索 [g ] 通过 谷歌 搜索 [d ] 通过 DuckDuckGo 搜索 ps:主窗口显示后,直接输入即可,无需手动打开搜索页。 更新日志 查看更新日志 下载 -&gt; 安</description></item><item><title>Maye Lite 配置项</title><link>https://blog.arae.cc/post/25841.html</link><pubDate>Thu, 11 Nov 2021 19:56:32 +0800</pubDate><guid>https://blog.arae.cc/post/25841.html</guid><description>配置项类型需完全匹配,且保证json可正常解析,否则会发生无法预知错误(懒得写容错-.-) !修改配置前需保证MayeLite完全退出,且当前编辑文件为最新版,并保证编码为utf-8 配置文件路径 MayeLite运行目录\cfg.json IsDebug bool 开启调试功能,如非必要请勿开启,此功能会造成运行缓慢与一些未知问题。 x int 窗口相对于主屏幕的x距离 y int 窗口相对于主屏幕的y距离 cx int 窗口的宽度 cy int 窗口的高度 HotKey string 唤醒快捷键,如:Alt+Space (1.0.0.6 及以下版本生效) 唤醒快捷键,如:VK.LALT+VK.SPACE (1.0.0.7+ 版本生效) InputModeTriggerKey int 输入模式触发键 (触发键需要在300ms内按下才会生效),搭配脚本输入更香😆 (1.0.0.7+) 0 空格键 (默认) 1 TAB键 2 回车键 3 左 Ctrl 键 4 右 Ctrl 键 5 左 SHIFT 键 6 右 SHIFT 键 7 左 Alt 键 8 右 ALT 键 9 左 Windows 键 10 右 Windows 键 theme string 主题文件,theme目录下的css,需填写完整名称(如使用默认主题直接删除此项即可),如:dark.css NotifyIconType int 托盘图标类型 -1 隐藏 0 彩色 (默认) 1 白色 2 黑色 TabHoverSwitchDelay unsigned int Tab悬停切换延时 0 关闭 &gt;0 开启(毫秒),推荐50+ IsNotifyIconHoverShow bool 是否开启托盘悬停唤醒。 IsTopMost bool 是否开启窗口置顶。(1.0.0.2+) IsRunAfterHide bool 是否运行后隐藏。(1.0.0.</description></item><item><title>Arae Package 简单有索引的包构建工具</title><link>https://blog.arae.cc/post/25840.html</link><pubDate>Wed, 13 Oct 2021 17:56:49 +0800</pubDate><guid>https://blog.arae.cc/post/25840.html</guid><description>Arae Package Arae 是一种简单的文件归档格式,它的工作方式类似于 Asar ,可以将所有文件连接在一起而不进行压缩,同时支持随机访问。 特征 支持随机访问 使用 JSON 存储文件信息 支持文件加密 支持大文件 (支持tb级大文件) 高速解析 (结构简单的tb级文件小于100ms) 支持文件合并 支持文件分片 使用简单 部分截图 下载 蓝奏 : https://wwa.lanzoui.com/injlBvats3g 赞助 点击进入赞助页 &gt;&gt; 备注 玩electron时突然发现易语言的常量、图片、声音存东西太麻烦,就搞了这东西(懒使我变强🤣) ps:目前支持 c艹与易语言调用,分别采用hpp与ec方式封装,以后可能会增加其他语言或dll(大概率不可能🤦♂️)。</description></item><item><title>Chrome的密码管理用着太麻烦,开个新坑"NextPass"</title><link>https://blog.arae.cc/post/25839.html</link><pubDate>Thu, 22 Jul 2021 23:51:22 +0800</pubDate><guid>https://blog.arae.cc/post/25839.html</guid><description>Chrome的密码管理用着太麻烦,其他的怕有安全问题,就想着自己弄个,对没错,我是被迫的(¬_¬ ) 至于名字就暂定 NextPass 2021/06/15:开坑,建文件夹。 2021/07/03:找了一圈ui框架,还是决定跟maye一样。。。 2021/07/10:建立文件/文件夹:index.html; main.less; main.js; 2021/07/15:借鉴了一圈同类软件,决定用三栏布局。 2021/07/22:闲着没事把布局撸出来了,目前暂定4级分类。 2021/07/22 NextPass 布局图 (展开/收缩) 2021/07/23:第二栏完成,一天一个真轻松🤦♂️ 2021/07/23 NextPass 布局图 (展开/收缩)</description></item><item><title>Maye 修改分类位置在顶部/底部时的宽度</title><link>https://blog.arae.cc/post/25838.html</link><pubDate>Sat, 20 Mar 2021 20:12:11 +0800</pubDate><guid>https://blog.arae.cc/post/25838.html</guid><description>在使用的 sikn/***.less 文件内加入 /* * 将 '100' 替换为你要设置的宽度 */ .container.type-top, .container.type-bottom { .list-tab-item { width: 100px !important; } }</description></item><item><title>DeLog 调试信息查看器</title><link>https://blog.arae.cc/post/25836.html</link><pubDate>Tue, 23 Feb 2021 14:48:17 +0800</pubDate><guid>https://blog.arae.cc/post/25836.html</guid><description>又是一个因用着不爽而自己写的作品,DbgView好是好但对过长的输出支持不好,还不支持查看原始数据,长度还有限制,而且监视来自其他pc的输出数据太麻烦,unicode/utf8这种编码也不太好用。 截图 流程图 界面说明 主列表 # 数据唯一ID(非序号,序号可参见状态栏Count/Line) Time 数据发送时间 Host 数据来源主机地址 Source 数据来源PID/Name Debug Print 数据 数据显示 Edit-1 原始数据 Edit-2 可视数据 状态栏 hWnd 窗口句柄 Server tcp状态 DeBug OutputDebugString监听状态 Client 输出客户端数量 Queue 队列内等待加入的数量 Count 列表内数据数量 Line 列表选中行 Lenght 选中数据长度 LenghtRaw 选中原始数据长度 (发送过来的数据) API // 初始化,内部会自动调用 // host 接收端 域/ip,默认本机 void LogOutputInit( LPCSTR host ); // 设置主机 // host 接收端 域/ip,默认本机 BOOL LogOutputSetHost( LPCSTR host ); // 输出(Ansi) // DebugPrint 输出数据 // Source 来源(可空) BOOL LogOutputA( LPCSTR DebugPrint, LPCSTR Source ); // 输出(Unicode) // DebugPrint 输出数据 // Source 来源(可空) BOOL LogOutputW( LPCWSTR DebugPrint, LPCWSTR Source ); // 输出(Utf-8) // DebugPrint 输出数据 // Source 来源(可空) BOOL LogOutputU( LPCWSTR DebugPrint, LPCWSTR Source ); // DLL: // DeLog_DLL.dll 下载 &nbsp;下载:蓝奏云 / 密码:123</description></item><item><title>易语言输出增强 AMZ-Plugin</title><link>https://blog.arae.cc/post/25837.html</link><pubDate>Tue, 23 Feb 2021 14:01:38 +0800</pubDate><guid>https://blog.arae.cc/post/25837.html</guid><description>balabalabal&hellip;. 易语言AMZ专用输出增强插件。 截图 下载 &nbsp;下载:蓝奏云 / 密码:123</description></item><item><title>适用于 Maya 的搜索引擎收集</title><link>https://blog.arae.cc/post/25835.html</link><pubDate>Sat, 02 Jan 2021 15:01:03 +0800</pubDate><guid>https://blog.arae.cc/post/25835.html</guid><description>相关文档:Maya 自定义搜索引擎 内置搜索引擎: bd|百度|true||https://www.baidu.com/s?wd=%s b|必应|true||https://cn.bing.com/search?q=%s g|谷歌|true||https://www.google.com.hk/search?q=%s d|DuckDuckGo|true||https://duckduckgo.com/?q=%s 本地: e|Everything|false||C:\Program Files\Everything\Everything.exe@@-s &quot;%s&quot; 综合: wx|微信|true||http://weixin.sogou.com/weixin?type=2&amp;query=%s tt|头条|true||https://www.toutiao.com/search/?keyword=%s sg|搜狗|true||https://www.sogou.com/web?query=%s 360|360搜索|true||https://www.so.com/s?q=%s y|Yandex|true||https://yandex.com/search/?text=%s kk|夸克|true||https://quark.sm.cn/s?q=%s dj|多吉|true||https://www.dogedoge.com/results?q=%s mj|秘迹|true||https://mijisou.com/search?q=%s m|Magi|true||https://magi.com/search?fr=opensearch&amp;q=%s m</description></item><item><title>Maye 自定义搜索引擎</title><link>https://blog.arae.cc/post/25834.html</link><pubDate>Tue, 29 Dec 2020 17:33:16 +0800</pubDate><guid>https://blog.arae.cc/post/25834.html</guid><description>相关文档:适用于 Maya 的搜索引擎收集 例子 key|搜索|true|so1|https://www.baidu.com/s?wd=%s key1|搜索1|||https://www.baidu.com/s?wd=%s key2|搜索2||so3|http://127.0.0.1/12345/?%s 调用本地程序: test|本地测试|||C:\Users\...\Desktop\test.exe@@%s 参数说明 位置 参数名 可否为空 可用值 说明 备注 1 key false - 调用关键词 - 2 name false - 显示名称 - 3 encode true true/false 是否对关键词进行编码 - 4 ico true - 显示图标 无需输入后缀,文件必须为png格式,位置:./cache/search/ 5 url false - 提交地址 用&quot;%s&quot;代替搜索字词,本地路径@@分隔路径与运行参数</description></item><item><title>Win8.1+ 动态DPI获取</title><link>https://blog.arae.cc/post/25833.html</link><pubDate>Sat, 26 Dec 2020 00:46:47 +0800</pubDate><guid>https://blog.arae.cc/post/25833.html</guid><description>GetDeviceCaps这个不知道从哪个版本开始就获取不到准确的DPI了(修改后未注销),特意跑去翻文档重写了一份。 .版本 2 .子程序 getDpi, 整数型, 公开, 获取Dpi .局部变量 fpFun, 整数型 .局部变量 hWnd, 整数型 .局部变量 hdc .局部变量 hMonitor .局部变量 nDpiX .局部变量 nDpiY hWnd = GetDesktopWindow () ' ; win8.1+ fpFun = GetProcAddress (Shcore, “GetDpiForMonitor”) .如果真 (fpFun > 0) hMonitor = MonitorFromWindow (hWnd, #MONITOR_DEFAULTTOPRIMARY) .如果真 (GetDpiForMonitor (hMonitor, 0, nDpiX, nDpiY) = #S_OK) 返回 (nDpiX) .如果真结束 .如果真结束 ' ;低版本 hdc = GetDC (hWnd) nDpiX = GetDeviceCaps (hdc, #LOGPIXELSX) ' nDpiY = GetDeviceCaps (hdc, #LOGPIXELSY) ReleaseDC (hWnd, hdc) 返回 (nDpiX)</description></item><item><title>解决因 管理员运行 无法接收 WM_DROPFILES 消息问题</title><link>https://blog.arae.cc/post/25832.html</link><pubDate>Fri, 11 Dec 2020 16:55:10 +0800</pubDate><guid>https://blog.arae.cc/post/25832.html</guid><description>这毛病好像时从 Vista 开始的,好像跟安全权限机制体系有关。 .版本 2 .DLL命令 ChangeWindowMessageFilterEx, 逻辑型, &quot;user32&quot;, &quot;ChangeWindowMessageFilterEx&quot; .参数 hwnd, 整数型 .参数 message, 整数型 .参数 action, 整数型 .参数 pChangeFilterStruct, 整数型 .DLL命令 ChangeWindowMessageFilter, 逻辑型, &quot;user32&quot;, &quot;ChangeWindowMessageFilter&quot; .参数 message .参数 dwFlag .版本 2 .子程序 _ChangeMessageFilter .局部变量 hDllLib .局部变量 fpFun hDllLib = LoadLibraryA (“user32.dll”) fpFun = GetProcAddress (hDllLib, “ChangeWindowMessageFilterEx”) .如果真 (fpFun > 0) ChangeWindowMessageFilterEx (var.hWnd, #WM_DROPFILES, 1, 0) ChangeWindowMessageFilterEx (var.hWnd, #WM_COPYDATA, 1, 0) ChangeWindowMessageFilterEx (var.hWnd, #SPI_SETANIMATION, 1, 0) ChangeWindowMessageFilterEx (var.hWnd, #WM_COPYGLOBALDATA, 1, 0) .如果真结束 FreeLibrary (hDllLib)</description></item><item><title>Maya 新玩法:通过 CSS 设置背景图</title><link>https://blog.arae.cc/post/25831.html</link><pubDate>Tue, 01 Dec 2020 06:17:22 +0800</pubDate><guid>https://blog.arae.cc/post/25831.html</guid><description>在使用的 sikn/***.less 文件内加入 /* * 将 'C:/1.png' 替换为你的图片路径 */ .container { background-image: url('file:///C:/1.png'); background-repeat: no-repeat; background-position: center; background-size: cover; background-attachment: fixed; } /* * 这里推荐通过调整背景颜色透明度实现,而非这种方式 */ .top, .left, .right { opacity: .7; } .search { opacity: .9; }</description></item><item><title>Maye 一个简洁小巧的快速启动工具</title><link>https://blog.arae.cc/post/25830.html</link><pubDate>Sun, 01 Nov 2020 16:11:38 +0800</pubDate><guid>https://blog.arae.cc/post/25830.html</guid><description>GoTo MayeLite Maye是一款体积小巧、简单易用的快速启动工具。不要看体积小巧,它的功能还是非常多样化的,比如:多文件拖拽添加启动、快捷键呼出、自动多列显示、lnk文件解析等等。软件没有繁杂的功能,操作中也不会产生任何垃圾文件,绿色无污染,只专注于文件的快速启动,是用户提升Windows操作体验的好帮手。 功能 -- 功能 多文件拖拽添加启动 快捷键呼出 快捷键运行项目 列表滚轮滚动 自动多列显示 快捷方式编辑 lnk、url文件解析 参数变量、环境变量 开机启动 分类 排序 跨分组拖拽项目 自定义布局 自定义主题 自定义缩放 运行 特色 -- 特色 1、简单,恰到好处 不需要过多的思考,不需要过多的学习,上手便能熟练使用,一试便知,你一定会喜欢上它。 2、功能,短小精悍 麻雀虽小却五脏俱全,Maye苗条的身材下隐藏着巨大的能量。无限的潜能,期待你的发掘。 3、外观,精妙绝伦 简约而不简单,每一处细节均精心打磨,每一处体验都深入人心,每一步操作皆无比轻松。 4、惬意,发自内心 如春风,如夏雨,如秋叶,如冬雪。心旷神怡,妙不可言。这种感觉,绝无仅有。 5、效果,立竿见影 一分钟,桌面回归整洁。彻底摆脱图标的困扰,尽情享受属于你的桌面。 6、未来,无限可能 在通往无比强大</description></item><item><title>ETS2、ATS 1.37+ 音量配置解析</title><link>https://blog.arae.cc/post/25829.html</link><pubDate>Fri, 29 May 2020 17:51:00 +0800</pubDate><guid>https://blog.arae.cc/post/25829.html</guid><description>位置: \profiles\****\config_local.cfg \steam_profiles\****\config_local.cfg 数值: 名 默认 s_master_volume 1 主音量 s_truck_engine_volume 0.51 车头引擎音量 s_truck_exhaust_volume 0.67 车头排气音量 s_truck_effects_volume 0.8 车头效果音音量 s_truck_noise_volume 0.7 车头噪音音量 s_trailer_volume 0.62 挂车噪音音量 s_traffic_volume 0.76 交通音量 s_world_volume 0.5 环境音音量-1 s_ambient_volume 0.6 环境音音量-2 s_interior_volume 0.8 内部声音音量 s_radio_volume 0.5 电台音量 s_navigation_volume 0.5 语言导航音量 s_music_volume 0.5 音乐音量 s_ui_volume 0.5 游戏声音音量 s_ui_music_volume 0.05 菜单界面的音乐音量 s_voiceover_volume 0.05 启动画面(实测修改无效)</description></item><item><title>迫于Rolan越来越“难用”我决定自己写个</title><link>https://blog.arae.cc/post/25828.html</link><pubDate>Mon, 25 Nov 2019 17:03:37 +0800</pubDate><guid>https://blog.arae.cc/post/25828.html</guid><description>2019-12-01: 无意间翻出几年前的坑,占用小响应快是真的好用,现在这个一言不合就飙内存 (展开/收缩) 2019-11-29: 今天闲着没事套个壳发现看着几乎一样 2019-11-29 半成品图 (展开/收缩) 2019-11-25:因我现在用的版本出现只能双击启动程序的问题,就决定自己写个高仿版 但等界面写好后就想弃坑了 2019-11-25 半成品图 (展开/收缩)</description></item><item><title>欧卡2 & 美卡 常用命令</title><link>https://blog.arae.cc/post/25827.html</link><pubDate>Wed, 04 Sep 2019 19:21:00 +0800</pubDate><guid>https://blog.arae.cc/post/25827.html</guid><description>单机 名称 参数 描述 g_set_skybox &lt;skybox_idx&gt; 设置天空 g_set_weather &lt;weather_index&gt; [i | f] 设置天气。weather_index0 - 晴天1 - 雨天i - 逐渐改变,f - 强制改变 g_set_time &lt;时&gt; [分] [remove_traffic] 设置时间。remove_traffic0 - false1 - true warp &lt;speed&gt; 设置游戏速度。 min: 0.0001; max: 60.0; 名称 类型 默认 配置 描述 g_traffic float 1.0 global 交通强度。0.0 - 禁用10.0 - 最大 g_bad_weather_factor float 0.07 profile 降雨概率。 g_income_factor float 1.0 profile 收益因子 (min: 0.0; max: 1.0; ) Documentation/Engine/Console/Commands Documentation/Engine/Configuration variables 在线 名称 描述 /fix 修复车辆</description></item><item><title>AMZ 扩展插件管理平台</title><link>https://blog.arae.cc/post/25800.html</link><pubDate>Tue, 01 Jan 2019 12:00:00 +0800</pubDate><guid>https://blog.arae.cc/post/25800.html</guid><description>支持库介绍 一个基于 易语言 深度定制开发的扩展插件管理平台 相关截图 最新版本界面可能与截图有出入。 Win10显示效果更佳 更新说明 [点击进入查看](/post/25763.html) -- 安装/使用 将“AMZ”、“lib”两个目录复制到易语言根目录下 打开易语言 菜单-&gt;工具-&gt;支持库配置 选择“. AMZ ”支持库 打开易语言 菜单-&gt;工具-&gt;AMZ Settings 勾选将使用的插件 重启易语言 更新方法 到官方Q群文件内下载最新版本助手安装/更新包 删除更新包 AMZ\Config.ini 文件, 如修改过&rsquo;自定义命令名&rsquo;插件配置文件,删除更新包 \AMZ\plugin\mz.r1.cc\Config.ini 文件 将 AMZ、lib目录覆盖到易语言根目录即可, 插件使用方法 打开易语言 菜单-&gt;工具-&gt;AMZ Settings 勾选要使用的插件后重启易语言 插件设置根据设置页面提示是否要重启易语言 注:AMZ(包括内置插件)基于官方原版开发,第三方修改版可能无法正常运行。 插件开发 点击进入查看 插件冲突说明 有的易友加载[AMZ]后,发现易语言关闭不了、关闭会崩溃、或其它的一些问题,这些可能是跟其它的支持库起冲突了,目前发现跟有[ET]支持库有冲突。 确定是否是支持库冲突造成的流程:按住Shift键,然后双</description></item><item><title>AMZ 扩展应用html配置接口</title><link>https://blog.arae.cc/post/25799.html</link><pubDate>Sat, 08 Dec 2018 14:06:19 +0800</pubDate><guid>https://blog.arae.cc/post/25799.html</guid><description>自动保存 自动报错目前仅支持 input textarea select 基础标签。 使用方法: &lt;input type=&quot;text&quot; amz-autosave amz-name=&quot;背景色&quot; value=&quot;#fff&quot; /&gt; 其中 amz-autosave 属性代表开启自动保存功能,amz-name=&quot;&quot; 属性为保存的键名。 其他接口 注:动作参数不区分大小写。 // 定义通讯接口,其中参数一必须为 'api' var SendMsg = function (p1, p2, p3, p4, p5) { return parent.SendMsg(p1, p2, p3, p4, p5); }; /** * 获取AMZ版本 * * AMZver * Major * Minor * Patch * Tag * Name */ // 获取AMZ版本,例子 var AMZver = SendMsg('API', 'AMZver', 'Name'); // AMZ 完整字符串版本 如:3.1.1_Beta /** * 读写配置项 * * Save * 配置项名 * 写入值( \n会被替换为 #换行符# ) * * Read ( #换行符# 会被替换为\n ) * 配置项名 * 默认值 */ // 读写配置项,例子 // 写配置项 SendMsg('API', 'Save', 'dataJson', JSON.stringify(dataJson)); // 读配置项 var dataJson = SendMsg('API', 'Read', 'dataJson', ''); _ 更新日期:2018-12-8 _</description></item><item><title>AMZ 扩展应用文件命名规范</title><link>https://blog.arae.cc/post/25798.html</link><pubDate>Fri, 09 Nov 2018 13:46:01 +0800</pubDate><guid>https://blog.arae.cc/post/25798.html</guid><description>dll插件命名 如目录名为mz.r4.compile则将dll插件文件命名为mz.r4.compile.dll html配置命名 如目录名为mz.r4.compile则将dll插件配置文件命名为mz.r4.compile.html 小提示 默认配置文件名为Config.ini</description></item><item><title>AMZ (API)公共扩展插件编写接口</title><link>https://blog.arae.cc/post/25797.html</link><pubDate>Fri, 21 Sep 2018 23:23:22 +0800</pubDate><guid>https://blog.arae.cc/post/25797.html</guid><description>由 AMZ 预定义或二次封装的一些接口,balabalabala&hellip; .版本 2 .DLL命令 amz_api_OpenSet, , "AMZ.fne", "amz_api_OpenSet", 公开, 打开 设置 .参数 szGuid, 文本型, , 插件的GUID,可空 .DLL命令 amz_api_OutText, , "AMZ.fne", "amz_api_OutText", 公开, 向输出框发送文本 .参数 szStr, 文本型 .DLL命令 amz_api_OutText_1, , "AMZ.fne", "amz_api_OutText_1", 公开, 向输出框发送文本,无版权 .参数 szStr, 文本型 .DLL命令 amz_api_OutTextError, , "AMZ.fne", "amz_api_OutTextError", 公开, 向输出框发送文本,带错误提示声音 .参数 szStr, 文本型 .DLL命令 amz_api_OutTextEmpty, , "AMZ.fne", "amz_api_OutTextEmpty", 公开, 清空输出框内容 .DLL命令 amz_api_GetRunFunc, 整数型, "AMZ.fne", "amz_api_GetRunFunc", 公开, 获取 IDE功能函数地址 .DLL命令 amz_api_GetHwnd, 整数型, "AMZ.fne", "amz_api_GetHwnd", 公开, 取易语言自身控件句柄,后期创建的可能获取不到,如果出现重复的ID类型可填写上层ID类名进行二次获取 .参数 nIDDlgItem, 整数型, , 控件ID .参数 szClassName, 文本型, , 类名,可空 .DLL命令 amz_api_GetHwnd_OutText, 整数型, "AMZ.fne", "amz_api_GetHwnd_OutText", 公开, 获取 输出框句柄 .DLL命令 amz_api_GetEhWnd, 整数型, "AMZ.fne", "amz_api_GetEhWnd", 公开, 获取 易语言主窗口句柄 .DLL命令 amz_api_GetPID, 整数型, "AMZ.fne", "amz_api_GetPID", 公开, 获取 易语言进程PID .DLL命令 amz_api_GetEver, 小数型, "AMZ.fne", "amz_api_GetEver", 公开, 获取 易语言版本号 .DLL命令 amz_api_GetDir_E, 文本型, "AMZ.fne", "amz_api_GetDir_E", 公开, 获取目录 易语言主目录 .DLL命令 amz_api_GetDir_AMZ, 文本型, "AMZ.fne", "amz_api_GetDir_AMZ", 公开, 获取目录 AMZ目录 .DLL命令 amz_api_GetDir_Plugin, 文本型, "AMZ.fne", "amz_api_GetDir_Plugin", 公开, 获取目录 自身插件目录 .参数 szGuid, 文本型, , 插件的G</description></item><item><title>AMZ 通知消息代码</title><link>https://blog.arae.cc/post/25796.html</link><pubDate>Tue, 21 Aug 2018 16:19:37 +0800</pubDate><guid>https://blog.arae.cc/post/25796.html</guid><description>通知消息代码是沿用自 EIDEA 2.X 的事件处理方式,可避免过多不必要的导出函数与一些未知错误。 AMZ_EVENT_START 代码:10001 参数: 一:易语言窗口句柄 二:自身进程PID 三:主线程ID 返回: NULL 说明: 「AMZ事件_启动」初始化插件(仅在首次启动时加载类似于 &ldquo;_启动子程序&rdquo; ) AMZ_EVENT_READY 代码:10002 参数: 无 返回: NULL 说明: 「AMZ事件_准备就绪」IDE首次准备就绪时,触发此事件 AMZ_EVENT_MSG_ARRIVE 代码:10003 参数: 一:收到的消息(可用 &ldquo;指针到文本()&rdquo; 转换为文本型) 返回: NULL 说明: 「AMZ事件_收到消息」收到消息,配合 &ldquo;amz_api_IPC_SendMsg()&rdquo; 命令可以自由向其他E程序插件发送消息,但发送端不会收到消息。 AMZ_EVENT_CONFIG_CHANGE 代码:10004 参数: 无 返回: NULL 说明: 「AMZ事件_配置被更改」配置被更改,当用户更改了设置时,触发此事件 AMZ_EVENT_CLICK_MENU 代码:10005 参数: 一:菜单数值 返回: NULL 说明: 「AMZ事件_菜单被点击」菜单被点击事件时,触发此事件 AMZ_EVENT_KEYBOARD 代码:10006 参数: 一:键代码 二:按键状态 (1=按下,2=放开,3=单击) 返回: -1拦截,否则放行 说明: 「AMZ事件_操作键盘」当用户操作键盘时,触发此事件 AMZ_EVENT_TOOLS_ITEM_CLICK 代码:10007 参数: 一:数值 返回: NULL 说明: 「A</description></item><item><title>AMZ 扩展应用目录命名规范</title><link>https://blog.arae.cc/post/25795.html</link><pubDate>Mon, 20 Aug 2018 21:43:49 +0800</pubDate><guid>https://blog.arae.cc/post/25795.html</guid><description>扩展应用目录命名需要遵循一定的规则,如果违反这些规则,可能会造成扩展应用无法正常载入。 规范 目录名中允许数字、字母、短横线-、下划线_、小数点.,但尽量不用出现其他字符(如空格、中文字符等),同时建议字母全部统一使用小写字母。 命名参数 参数 必填 默认值 说明 mz. true - 命名空间,必须存在于目录名最前面,否则不会被加载。 R1. ~ R4. false R4. 优先级,其中 R1~R2 启动时加载,R3~R4 就绪后加载。 栗子 如 智能编译 插件将其目录命名为 mz.R3.missing.compile。 mz. AMZ命名空间 R3. 优先级「中下」 (大小写随意) missing. 开发者名,这里可以随意定义,如 arae.cc. 将其定义为网址,或不定义 (你想怎样就怎样..) compile 插件名 &lt;!-- 正确 --&gt; mz.R4.arae.cc.pluginname mz.R4.missing.pluginname mz.r4.arae.cc.plugin_name mz.r4.missing.plugin_name mz.r4.plugin_name mz.plugin_name &lt;!-- 错误 --&gt; R4.mz.arae.cc.pluginname mz.R4.arae.cc.pluginname. mz_R4_missing_pluginname mz-r4-arae.cc.plugin_name r4.missing.plugin_name r4-plugin_name plugin_name &lt;!-- 如果你想给自己找点乐,那就随便了 --&gt; 小提示 如果插件目录名前面没有 mz. 这两个迷一样的字符,那么你的插件也可能也会是个迷&hellip; 不是特殊情况尽量少用 R1~R2 晚一点其实也不错的 目录名不要太长也不要太短</description></item><item><title>20180820-文章删除记录</title><link>https://blog.arae.cc/post/25794.html</link><pubDate>Mon, 20 Aug 2018 21:38:04 +0800</pubDate><guid>https://blog.arae.cc/post/25794.html</guid><description>已恢复 共计110项 已删除文章列表 200行JS代码实现超级简单的区块链 8行代码在Python3中实现多核并行执行 API - SendMessageA简单示例运用 API 拦截窗口关闭&amp;最大化&amp;最小化消息 Crazy Kids Delphi7简单DirectUI界面源码 E language is what? EDB易数据库查看器 Faded (Conor Maynard Cover) H5 video 视频标签属性详解 HashMap —— 高效随机存取数据结构 ,文本索引必备 Hello Venus - 我是艺术(I'm Ill) hook禁止外部程序创建新窗口[易语言源码] MDI窗口支持库源码,支持静态编译嗷 PHP导出Excel、CSV文件,并解决显示不正常等问题 p站找的几张图 Win10提示威胁服务已经停止,立即重启的解决方法 Windows10关闭80端口占用 [教程]防止模块被反编译的有效方法(吴总提供): [转]易语言 360免杀方法心得总结 “大牛”不可缺少的三种文献精读思维模式 《ありがとう》中文名《感谢》 【WebKit内核】EasyCKL开源浏览器库 6.1 支持调试运行了 一分钟明白 VS manifest 原理 不懂技术的人不要对懂技术的人说这很容易实现 为什么“程序猿”常有而“程序媛”不常有? 为什么我们不要 .NET 程序员 为什么程序员都是夜猫子 为什么谷歌要执行严格的代码编写规范 为啥</description></item><item><title>前端上传图片并实现预览</title><link>https://blog.arae.cc/post/25793.html</link><pubDate>Thu, 26 Jul 2018 20:51:45 +0800</pubDate><guid>https://blog.arae.cc/post/25793.html</guid><description>在实际项目应用中,经常会使用到上传图片,并且可以让用户直接预览图片。对于此种做法有两种方法可以实现:一是前后台交互,后台将图片地址返回前端; 二是,使用FileReader对象——允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容;此种方法可以优化图片加载速度,减少方法一占用带宽的问题; &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;title&gt;&lt;/title&gt; &lt;script src=&quot;js/jquery-1.8.3.min.js&quot;&gt;&lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;input type=&quot;file&quot; id=&quot;file&quot; /&gt; &lt;img class=&quot;img&quot; id=&quot;img&quot; src=&quot;&quot; alt=&quot;&quot; /&gt; &lt;script&gt; var File = document.getElementById('file'); File.onchange = function(e){ var file = this.files[0]; console.log(this.files[0]) var reader = new FileReader(); reader.readAsDataURL(file); reader.onloadend = function (e) { console.log(e.target) document.getElementById('img').setAttribute(&quot;src&quot;,e.target.result); //e.target.result就是最后的路径地址 }; } &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; 关键是reader.readAsDataURL(file)这句,可以把图片转成base64格式,让img标签读取</description></item><item><title>JavaScript如何判断变量是数组还是对象</title><link>https://blog.arae.cc/post/25792.html</link><pubDate>Fri, 15 Jun 2018 15:26:38 +0800</pubDate><guid>https://blog.arae.cc/post/25792.html</guid><description>方法一 通过判断变量的类型,并且变量的length属性(除了有一种例外是arguments对象–当给函数传参时数据存储的地方) var arr=[2,3,4]; var obj={&quot;name&quot;:&quot;maomao&quot;,&quot;age&quot;:20}; console.log(typeof arr); //object console.log(typeof obj); //object console.log(arr.length); //3 console.log(obj.length); //undefined console.log(obj.name); //maomao //这里说明在对象中并没有length属性,所以是未定义。 方法二 使用toString方法将对象转换成其他类型的string,该例很好的证明了arguments对象不是数组,而是对象 var arr=[2,3,4]; var obj={&quot;name&quot;:&quot;maomao&quot;,&quot;age&quot;:20}; // console.log(arr.toString()); //'2,3,4' // console.log(obj.toString()); //[object Object] function sum(a,b){ // console.log(arguments); // console.log(typeof arguments); //object // console.log(arguments.length); //2 根据具体调用函数传的实参决定 // console.log(arguments.toString()); //[object Arguments] return a+b; } alert(sum(3,4)); 方法三 —&gt;不可行 instanceof 指出对象是否是特定类的一个实例。 结论:instanceof 检测一个对象A是不是另一个对象B的实例的原理是:查看对象B的prototype指向的对象是否在对象A的[[prototype]]链上。如果在,则返回true,如果不在则返回false。不过有一个特殊的情况,当对象B的prototype为null将会报错(类似于空指针异常)。 var arr=[2,3,4,&quot;haa&quot;]; var obj={&quot;name&quot;:&quot;maomao&quot;,&quot;age&quot;:20}; console.log(arr instanceof Array); //true console.log(obj instanceof Object); //true console.log(arr instanceof Object); //true // ---这里跟网上的不同,不知道是什么原因 console.log(obj instanceof Array); //false 方法四 ECMAScript 5中可以使用isArray来判断 var arr=[2,3,4,&quot;haa&quot;]; var obj={&quot;name&quot;:&quot;maomao&quot;,&quot;age&quot;:20}; console.log(Array.isArray(arr)); //true console.log(Array.isArray(obj)); //false //注意没有isObject这种方法 暂时 方法五 使用isPrototypeOf()函</description></item><item><title>12 个免费图片快速优化和压缩工具</title><link>https://blog.arae.cc/post/25790.html</link><pubDate>Sun, 27 May 2018 08:56:28 +0800</pubDate><guid>https://blog.arae.cc/post/25790.html</guid><description>图像压缩工具允许轻松的进行压缩,编辑和调整图片大小。这些工具支持多种图像格式,如JPEG,PNG,GIF,可以重新大小根据您的需要他们,让您的网站和 Web 应用程序的拥有更快的载入速度。 在这里,编制了12个最佳的图片压缩工具,所有这些都将帮助你压缩你的网站上的图像,节省带宽和提高网站的性能。 1. JPEGMini JPEGmini是一项正在申请专利的照片再压缩技术,可显着缩小照片尺寸而不影响其感知质量。 该技术适用于基准JPEG领域,可生成与任何浏览器,照片软件或支持标准JPEG格式的设备完全兼容的文件。 2. Shrink O’ Matic Shrink O’ Matic是一款AIR应用程序,可轻松(批量)调整图像大小(缩小)。 它处理JPG,GIF和PNG。 只需拖放图像,就可以随意调整大小! 选项允许您选择输出大小,旋转(支持EXIF数据),名称和位置,格式和水印。 3. Riot Radical Image Optimization Tool(简称RIOT)是一款免费的图像优化工具,可让您在保持最小文件大小的同时在视觉上调整压缩参数。 它使用并排(双视图)或单视图界面来实时比较原始图像和优化图像,并即时查看生成的文件大小。 它轻巧,快速且简单易用,但对于高级用户而言功能强大。 您将能够控制压缩,颜色数量,元数据设置等等,</description></item><item><title>H5 video 视频标签属性详解</title><link>https://blog.arae.cc/post/25788.html</link><pubDate>Sat, 05 May 2018 17:46:18 +0800</pubDate><guid>https://blog.arae.cc/post/25788.html</guid><description>前言 HTML5标签video在PC上显示很简单,就一个标签加资源,很少需要关心其它属性。但放到移动设备上,video的标准,Android和ios有很多区别,另外还有很多各家浏览器特定的属性. video属性 &lt;video id=&quot;video&quot; src=&quot;video.mp4&quot; controls = &quot;true&quot; poster=&quot;images.jpg&quot; /* 视频封面 */ preload=&quot;auto&quot; webkit-playsinline=&quot;true&quot; /* 这个属性是ios 10中设置可以让视频在小窗内播放,也就是不是全屏播放 */ playsinline=&quot;true&quot; /* IOS微信浏览器支持小窗内播放 */ x-webkit-airplay=&quot;allow&quot; x5-video-player-type=&quot;h5&quot; /* 启用H5播放器,是wechat安卓版特性 */ x5-video-player-fullscreen=&quot;true&quot; /* 全屏设置,设置为 true 是防止横屏 */ x5-video-orientation=&quot;portraint&quot; /* 播放器支付的方向, landscape横屏,portraint竖屏,默认值为竖屏 */ style=&quot;object-fit:fill&quot;&gt; &lt;/video&gt; src: 视频的地址 controls: 加上这个属性,Gecko 会提供用户控制,允许用户控制视频的播放,包括音量,跨帧,暂停/恢复播放。 poster: 属性规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。如果未设置该属性,则使用视频的第一帧来代替。 preload: 属性规定在页面加载后载入视频。 webkit-playsinline和playsinline: 视频播放时局域播放,不脱离文档流 。但是这个属性比较特别, 需要嵌入网页的APP比如WeChat中UIwebview 的allowsInlineMediaPlayback = YES webview.allowsInlineMediaPlayback</description></item><item><title>新模板暂时弃坑</title><link>https://blog.arae.cc/post/25787.html</link><pubDate>Sat, 21 Apr 2018 22:51:48 +0800</pubDate><guid>https://blog.arae.cc/post/25787.html</guid><description>布局想的好好的写出来之后就感觉特 别扭,暂时丢这以后再说</description></item><item><title>几个SteamKEY,攒了好长时间</title><link>https://blog.arae.cc/post/25786.html</link><pubDate>Mon, 09 Apr 2018 20:59:33 +0800</pubDate><guid>https://blog.arae.cc/post/25786.html</guid><description>几个SteamKEY,攒了好长时间,一大堆廉价游戏+DLC@pp{滑稽} ① == [1~3] ② == [4~6] ③ == [7~9] ④ == [A~C] ③IAL②-FBKFT-86①E8 BML①X-NNVTE-①GEHZ 4②WWP-VJQCL-00X②Y EBLK③-TBIEA-RA0②E Y①4DV-D03HN-JQG②Z PHBZ②-LRZQB-LB①LC C7Y①0-PZA27-K③7VT XE②BM-TQ④RK-NMGQB ARC①6-YS56H-J④6SV 80④0W-5③XBY-Y①TMH C③SFB-TW②3C-HHK④J</description></item><item><title>使用 Async/Await 让你的代码更简洁</title><link>https://blog.arae.cc/post/25785.html</link><pubDate>Tue, 03 Apr 2018 12:42:41 +0800</pubDate><guid>https://blog.arae.cc/post/25785.html</guid><description>写在文章前 这篇文章翻译自 ASYNC/AWAIT WILL MAKE YOUR CODE SIMPLER,写于2017年八月的文章,并由某专栏提名为17年十大必读文章。在掘金上没找到这篇文章的翻译(其实没仔细找),就想试着自己翻译一下。 背景 AJAX (Asynchronous JavaScript And XML) 首先来进行一点科普。 在90年代末期, Ajax是异步JavaScript的第一个重大突破。 这个技术可以让网站在html加载之后获取和展示新的数据。对于当时大部分网站的那种需要重新下载整个个页面来展示一个部分内容的更新来说,它是革命性的创新。这项技术(在jQuery中通过捆绑成为辅助函数而闻名)在整个21世界主导了web开发,同时ajax在今天也是网站用来检索数据的主要技术,但xml却被json大规模的取代 NodeJS 当NodeJS在2009年第一次发布的时候,服务端的一个主要的关注点就是允许程序优雅的处理并发。当时大部分的服务端语言使用阻塞代码完成的这种方式来处理I/O操作,直到它结束处理I/O操作之后再继续进行之前的代码运行。取而代之,NodeJS利用事件循环体系,使用了一种类似ajax语法的工作方式:一旦非阻塞的异步操作完成之后,就可以让开发者分配的回调函数被触发。 Promises 几年之后,一个新的叫做“promis</description></item><item><title>200行JS代码实现超级简单的区块链</title><link>https://blog.arae.cc/post/25783.html</link><pubDate>Tue, 20 Mar 2018 10:35:20 +0800</pubDate><guid>https://blog.arae.cc/post/25783.html</guid><description>市面上有一个关于区块链的白皮书,有200多页,实在太长看不下去,本文通过JavaScript源码实现一个简单的区块链框架,带你入门区块链的相关知识。 区块链的基本概念非常简单:一个分布式数据库维持不断增长的有序记录列表。然而当我们谈论区块链时,我们也会谈论我们用区块链所要解决的问题,这二者通常很容易弄混淆。流行的基于区块链的项目如比特币和以太坊就是这种情况 。术语“区块链”通常与交易、智能合约或加密货币等概念紧密相关。 这使得理解区块链是一项必然要艰巨的任务。特别是源码级别的理解。在这里,我将介绍一个使用200行代码实现的超级简单的区块链——NaiveChain。 块结构 第一个逻辑步骤是确定块结构。为了让事情尽可能简单,我们只包含最必要的:索引(index),时间戳(timestamp),数据(data),哈希(hash)和上一个哈希(previousHash)。 class Block { constructor(index, previousHash, timestamp, data, hash) { this.index = index; this.previousHash = previousHash.toString(); this.timestamp = timestamp; this.data = data; this.hash = hash.toString(); } } 块哈希 该块需要被哈希运算以保持数据的完整性。SHA-256被用来做哈希算法处理块的内容。需要注意的是这个哈希与“挖矿” 无关,因为没有解决工作量证明(Proof Of Work )的问题。 var calculateHash = (index, previousHash,</description></item><item><title>Bing每日壁纸API接口「十个国家版本」</title><link>https://blog.arae.cc/post/25782.html</link><pubDate>Wed, 14 Mar 2018 23:49:26 +0800</pubDate><guid>https://blog.arae.cc/post/25782.html</guid><description>前言 (瞎BB..) 这次在原有的国内版(中国)、国际版(美国)基础上又加了日本、印度、巴西、法国、德国、加拿大、澳大利亚、英国八个地区版本,不过就是图片重复率有点高,建议随便选个一直用@pp{你懂的} 接口在调用的时候空参数默认为「国际版(美国)302到图片地址」,而且POST方法仅支持返回JSON。 接口(API) 接口: //api.arae.cc/?p=bing 参数: s 地区版本,默认 0 ,可空 0 =&gt; 美国 EN-US 1 =&gt; 中国 ZH-CN 2 =&gt; 日本 JA-JP 3 =&gt; 印度 EN-IN 4 =&gt; 巴西 PT-BR 5 =&gt; 法国 FR-FR 6 =&gt; 德国 DE-DE 7 =&gt; 加拿大 EN-CA 8 =&gt; 澳大利亚 EN-AU 9 =&gt; 英国 EN-GB code json = 返回utf8 json数据(包括日期、地址、说明); null/undefined 或 其他则自动302到图片地址(可直接img标签调用); key 其实这个打算写出来自己用的,如果想用可以到留言板留言...具体格式参照api.arae.cc首页申请格式.. 返回参数说明 { &quot;time&quot;:&quot;20180313&quot;, /* 时间 */ &quot;startdate&quot;:&quot;2018-03-13&quot;, /* 开始时间 */ &quot;enddate&quot;:&quot;2018-03-14&quot;, /* 结束时间 */ &quot;region&quot;:&quot;ZH-CN&quot;, /* 缩写 */ &quot;url&quot;:&quot;***.jpg&quot;, /* 图片链接 */ &quot;text&quot;:&quot;****&quot; /* 图片相关说明 */ } 调用方法 GET: 返回 「中国版」 json数据(utf8) //api.arae.cc/?p=bing&amp;code=json&amp;s=1 { &quot;time&quot;:&quot;20180313&quot;, &quot;startdate&quot;:&quot;2018-03-13&quot;, &quot;enddate&quot;:&quot;2018-03-14&quot;, &quot;region&quot;:&quot;ZH-CN&quot;, &quot;url&quot;:&quot;https://www.bing.com/az/hprichbg/rb/ToroidalBubble_ZH-CN10711997835_1920x1080.jpg&quot;, &quot;text&quot;:&quot;小巴哈马浅滩中的大西洋花斑原海豚和气泡环,巴哈马 (© Hiroya Minakuchi/Minden Pictures)&quot; } 返回 「美国版」 json数据(utf8) //api.arae.cc/?p=bing&amp;code=json { &quot;time&quot;:&quot;20180314&quot;, &quot;startdate&quot;:&quot;2018-03-14&quot;, &quot;enddate&quot;:&quot;2018-03-15&quot;, &quot;region&quot;:&quot;EN-US&quot;, &quot;url&quot;:&quot;https://www.bing.com/az/hprichbg/rb/ToroidalBubble_EN-US9481815479_1920x1080.jpg&quot;, &quot;text&quot;:&quot;Atlantic spotted dolphins</description></item><item><title>HEXO.NexT 表情测试 - b1</title><link>https://blog.arae.cc/post/25778.html</link><pubDate>Wed, 07 Mar 2018 18:55:41 +0800</pubDate><guid>https://blog.arae.cc/post/25778.html</guid><description>这破东西之前弄过两三次,每次都比这个好@pp{阴险},最后忘记啥毛病都删了。。 调用代码大概就是@pp/{滑稽}(就当/不存在)中间那个pp方便以后添加其他表情,虽说有个别地方写死了@pp{你懂的}。。 @pp{滑稽}@pp{滑稽}@pp{滑稽}这个魔性的表情我都眼馋很久了@pp{滑稽}@pp{滑稽}@pp{滑稽} @pp{呵呵}@pp{哈哈}@pp{吐舌}@pp{太开心}@pp{笑眼}@pp{花心}@pp{小乖}@pp{乖}@pp{捂嘴笑}@pp{滑稽}@pp{你懂的}@pp{不高兴}@pp{怒}@pp{汗}@pp{黑线}@pp{泪}@pp{真棒}@pp{喷}@pp{惊哭}@pp{阴险}@pp{鄙视}@pp{酷}@pp{啊}@pp{狂汗}@pp{what}@pp{疑问}@pp{酸爽}@pp{呀咩爹}@pp{委屈}@pp{惊讶}@pp{睡觉}@pp{笑尿}@pp{挖鼻}@pp{吐}@pp{犀利}@pp{小红脸}@pp{懒得理}@pp{勉强}@pp{爱心}@pp{心碎}@pp{玫瑰}@pp{礼物}@pp{彩虹}@pp{太阳}@pp{星星月亮}@pp{钱币}@pp{茶杯}@pp{蛋糕}@pp{大</description></item><item><title>HTTP协议状态码</title><link>https://blog.arae.cc/post/25777.html</link><pubDate>Fri, 02 Mar 2018 19:09:22 +0800</pubDate><guid>https://blog.arae.cc/post/25777.html</guid><description>HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码的英文为HTTP Status Code。 1xx 信息/临时响应 表示临时响应并需要请求者继续执行操作的状态代码。 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。 100 Continue 状态:继续 说明:请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。 101 Switching Protocols 状态:切换协议 说明:请求者已要求服务器切换协议,服务器已确认并准备切换。 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不</description></item><item><title>Bing每日图片(壁纸)API接口</title><link>https://blog.arae.cc/post/25776.html</link><pubDate>Tue, 27 Feb 2018 00:22:20 +0800</pubDate><guid>https://blog.arae.cc/post/25776.html</guid><description>前言 (瞎BB..) [NEW] Bing每日壁纸API接口「十个国家版本」 Bing图片每日更新,对于这一点感觉挺不错的,如果能够把Bing每日图片作为博客背景是不是很不错呢? 在用的时候注意区分下国内版跟国际版,有时候图片一样,但是描述全是鸟文&hellip; 接口在调用的时候空参数默认为(国内版302到图片地址),而且POST方法仅支持返回JSON。 接口(API) 接口: //api.arae.cc/?p=bing 参数: s 1 = 国内; null/undefined 或 其他值:国际版; code json = 返回utf8 json数据(包括日期、地址、说明); null/undefined 或 其他则自动302到图片地址(可直接img标签调用); key 其实这个打算写出来自己用的,如果想用可以到留言板留言...具体格式参照api.arae.cc首页申请格式.. PS:分辨率是 1920x1080 调用方法 GET: 返回 [国内版] json数据(utf8) //api.arae.cc/?p=bing&amp;s=1&amp;code=json { &quot;time&quot;:&quot;20180226&quot;, &quot;url&quot;:&quot;https://www.bing.com/az/hprichbg/rb/CactiIslaPescado_ZH-CN11317505000_1920x1080.jpg&quot;, &quot;text&quot;:&quot;玻利维亚乌尤尼盐湖的仙人掌岛 (? Alex Saberi/Getty Images)&quot; } 返回 [国际版] 版json数据(utf8) //api.arae.cc/?p=bing&amp;code=json { &quot;time&quot;:&quot;20180226&quot;, &quot;url&quot;:&quot;https://www.bing.com/az/hprichbg/rb/WoolBaySeadragon_EN-US12559454946_1920x1080.jpg&quot;, &quot;text&quot;:&quot;A leafy seadragon in the waters off Wool Bay, Australia (? Alex Mustard/Minden Pictures)&quot; } 返回 [国内版] 图片 //api.arae.cc/?p=bing&amp;s=1 Html: &lt;img src=&quot;//api.arae.cc/?p=bing&amp;s=1&quot; title=&quot;Bing每日图片(壁纸) 国内版&quot;&gt; Markdown: ![&quot;Bing每日图片(壁纸) 国内</description></item><item><title>注释用的好,可能会挨打!?</title><link>https://blog.arae.cc/post/25773.html</link><pubDate>Fri, 23 Feb 2018 17:19:04 +0800</pubDate><guid>https://blog.arae.cc/post/25773.html</guid><description>一、概述 这是写在前面的话:在开发中的时候,应该、可能、或许会看到有趣的注释 遇到类似的注释能让开发更加的有乐趣,我提倡程序猿继续传承下去这个美好优良传统 二、正文 比如: /** * 描述:XXXX &lt;br&gt; * 作者: XXXX &lt;br&gt; * E-mail: XXXX &lt;br&gt; * 日期: XXXX 下午XXXX &lt;br&gt; */ public class Points implements Serializable { private static final long serialVersionUID = 1L; /** ************************************************************** * * * .=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-. * * | ______ | * * | .-&quot; &quot;-. | * * | / \ | * * | _ | | _ | * * | ( \ |, .-. .-. ,| / ) | * * | &gt; &quot;=._ | )(__/ \__)( | _.=&quot; &lt; | * * | (_/&quot;=._&quot;=._ |/ /\ \| _.=&quot;_.=&quot;\_) | * * | &quot;=._&quot;(_ ^^ _)&quot;_.=&quot; | * * | &quot;=\__|IIIIII|__/=&quot; | * * | _.=&quot;| \IIIIII/ |&quot;=._ | * * | _ _.=&quot;_.=&quot;\ /&quot;=._&quot;=._ _ | * * | ( \_.=&quot;_.=&quot; `--------` &quot;=._&quot;=._/ ) | * * | &gt; _.=&quot; &quot;=._ &lt; | * * | (_/ \_) | * * | | * * '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=' * * * * LASCIATE OGNI SPERANZA, VOI CH'ENTRATE * ************************************************************** */ /** * 请不要尝试修改属性lng和lat为别的数据类型,相信我,改了之后,你会后悔的。 * 至于原因,创建的时候我应该知道,现在只剩下上帝知道 */ private Integer id; private String markerId; // 标识符 private double lng; private double lat; private String type; private Integer status = 0; // 覆盖物状态:0未添加,1已添加,2已添加并且是已发送的覆盖物 默认值:0 private List&lt;Points&gt; list = new ArrayList&lt;Points&gt;(); ...... 再或者在结尾处加 /* * ┏┓ ┏┓ *┏┛┻━━━┛┻┓ *┃ ┃ *┃ ━ ┃ *┃ ┳┛ ┗┳ ┃ *┃ ┃ *┃ ┻ ┃ *┃ ┃ *┗━┓ ┏━┛ * ┃ ┃神兽保佑 * ┃ ┃代码无BUG! * ┃ ┗━━━┓ * ┃ ┣┓ * ┃ ┏┛ * ┗┓┓┏━┳┓┏┛ * ┃┫┫ ┃┫┫</description></item><item><title>jquery判断图片或者背景图片加载完毕</title><link>https://blog.arae.cc/post/25771.html</link><pubDate>Thu, 15 Feb 2018 13:37:24 +0800</pubDate><guid>https://blog.arae.cc/post/25771.html</guid><description>前端开发制作中有需要需要等到页面中的图片加载完毕后才执行某些事件,而使用jquery的load事件只是dom执行完毕,图片未必加载完成,如果要判断图片加载完毕,需要在图片标签上判断。 使用JavaScript判断图片加载完毕,如果图片在页面中的某个img标签中的话,可以用下面这个 $('img').on('load', function() { alert('new image loaded: ' + this.src); }); 原生js imgNode.onload = () =&gt; { alert('new image loaded: ' + this.src); }; (1)、单张图片(图片在文档中) // HTML &lt;img id='pic' src=&quot;../03.png&quot;&gt; //js $(document).ready(function(){ //jquery $('#pic').load(function(){ // 加载完成 }); //原生 onload var pic = document.getElementById('pic') pic.onload = pic.onreadystatechange = function(){ if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ // 加载完成 } }; }) 注: 1、IE8及以下版本不支持onload事件,但支持onreadystatechange事件; 2、readyState是onreadystatechange事件的一个状态,值为loaded或complete的时候,表示已经加载完毕。 3、如果引入jquery库可以考虑直接使用jquery的load事件来解决兼容问题。 (2)、单张图片(图片动态生成) //js var pic = new Image() pic.src = '../03.png' pic.onload = pic.onreadystatechange = function(){ if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ // 加载完成 } }; //jquery $('&lt;img/&gt;').attr('src', '../03.png').on('load', function() { $(this).remove(); // 防止内存泄露 //图片加载完毕 }); (3)、单张图片(结合ES6 Promise) //js new Promise((resolve, reject)=&gt;{ let pic = new Image() pic.src = '../03.png' pic.onload = function(){ // 加载完成 resolve(pic) } }).then((pic)=&gt;{ //code }) (4)、多张图片 var img = [], flag = 0,</description></item><item><title>Win10提示威胁服务已经停止,立即重启的解决方法</title><link>https://blog.arae.cc/post/25770.html</link><pubDate>Wed, 10 Jan 2018 22:59:50 +0800</pubDate><guid>https://blog.arae.cc/post/25770.html</guid><description>昨天手动将win10升级到1709,内部版本为16299.125。自带的杀毒软件Windows defender安全中心提示威胁服务已经停止,立即重启。病毒防护也无法启用,如图所示,点击立即重新启动,显示 发生未知错误 。虽然平常整个电脑管家啥的,但就稳定性还是系统自带的好,加上微软这几年的不断努力,系统自带的杀毒软件也越来越完善了,虽然这些年没有查出什么威胁,只是不能运行,万一哪天遇到了,心里还是怕怕的。 于是找度娘度了一番,发现很多法子都是修改组策略的方法来启动,但我从未更改过相关设置,按提示点进去看了,却发现都是“未配置”状态。另外还有命令提示符的方法,试了无效。无奈之下,之好翻墙请来谷哥来帮忙,终于在微软社区找到了个解决办法: Win + R 输入:regedit 定位路径:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender 查看是否存在DisableAntiSpyware这个键值,有就删掉。 按步骤修改好注册表,并重启,果然解决了,看来关键时候还是要找谷哥帮忙呀。</description></item><item><title>PHP导出Excel、CSV文件,并解决显示不正常等问题</title><link>https://blog.arae.cc/post/25765.html</link><pubDate>Mon, 09 Oct 2017 19:23:11 +0800</pubDate><guid>https://blog.arae.cc/post/25765.html</guid><description>最近一直在折腾PHP,无意间想实现个导出表格的功能。 不料用了header声明后的表格中文是乱码的,后来通过转字符、添加字母符号、style等方法才得以让excel导出后显示正常了。 为了解决部分MySQL环境设置问题,又添加了一个CSV的导出方法。 导出Excel代码 header(&quot;Content-type:application/vnd.ms-excel;charset=UTF-8&quot;); header(&quot;Content-Disposition:attachment;filename=xxxxx.xls&quot;); //输出标题 echo &quot;&lt;table border='1'&gt;&quot;; echo &quot;&lt;th&gt;&quot;.mb_convert_encoding($str, &quot;GBK&quot;,&quot;UTF-8&quot;).&quot;&lt;/th&gt;&quot;; echo &quot;&lt;th&gt;&quot;.mb_convert_encoding($str, &quot;GBK&quot;,&quot;UTF-8&quot;).&quot;&lt;/th&gt;&quot;; echo &quot;&lt;th&gt;&quot;.mb_convert_encoding($str, &quot;GBK&quot;,&quot;UTF-8&quot;).&quot;&lt;/th&gt;&quot;; #.... //输出每行的内容 for ($i=0; $i &lt; count($Data); $i++) { echo &quot;&lt;tr&gt;&quot;; for ($n=0; $n &lt; count($Data[$i]); $n++) { //添加 style='vnd.ms-excel.numberformat:@' 将内容作为字符串识别 echo &quot;&lt;td style='vnd.ms-excel.numberformat:@'&gt;&quot;; echo mb_convert_encoding($Data[$i][$n],&quot;GBK&quot;,&quot;UTF-8&quot;); echo &quot;&lt;/td&gt;&quot;; } echo &quot;&lt;/tr&gt;&quot;; } echo &quot;&lt;/table&gt;&quot;; 导出CSV代码 /** * 导出CSV文件 * @param string $fileName 文件名字 * @param string|array $data 导出数据,csv格式的字符串|数值数组 * @param string $to_encoding 目标转换编码 * @param string $from_encoding 当前编码 */ function exportCSV($fileName = '', $data = '', $to_encoding = 'gb2312', $from_encoding = 'utf-8') { $fileName = empty($fileName) ? date('YmdHis') : $fileName; // 文件标签 Header(&quot;Content-type: application/octet-stream&quot;); header(&quot;Content-type: application/vnd.ms-excel; charset=$from_encoding&quot;); Header(&quot;Content-Disposition: attachment; filename=$fileName.csv&quot;); $str = ''; if($data) { if(is_array($data)) { foreach ($data as $v) { if(is_array($v)) { foreach ($v as $vo) { $str .= (is_numeric($vo) ? &quot;'&quot;.$vo : $vo.&quot;&quot;).&quot;,&quot;; } $str = trim($str, &quot;,&quot;).&quot;\r\n&quot;; } else { $str .= (is_numeric($v) ? &quot;'&quot;.$v : $v).&quot;,&quot;; } } $str = trim($str, &quot;,&quot;).&quot;\r\n&quot;; } else { $str = $data; } } echo mb_convert_encoding($str, &quot;gb2312&quot;, &quot;utf-8&quot;); exit; } exportCSV($fileName=$str,$data = $Data); ?&gt;</description></item><item><title>8行代码在Python3中实现多核并行执行</title><link>https://blog.arae.cc/post/25767.html</link><pubDate>Thu, 21 Sep 2017 16:41:38 +0800</pubDate><guid>https://blog.arae.cc/post/25767.html</guid><description>python作为一个简单的脚本语言在工作中会经常用到,但奈何执行大量重复性任务时单线程效率低下,这时可以通过多线程并行执行大大提高代码执行效率。 Python3多核并行执行完整示例:(可以复制粘贴到IDLE运行一下) import threading, time from queue import Queue def basic_worker(queue): while True: item = queue.get() print(str(item)+&quot;\r\n&quot;) queue.task_done() def basic(): ts = time.time() queue = Queue() for i in range(3): t = threading.Thread(target=basic_worker,args=(queue,)) t.daemon = True t.start() for item in range(100): #创建任务队例 queue.put(item) queue.join() print('Took {}'.format(time.time() - ts)) #执行结束,输出执行时长 if __name__ == '__main__': basic() 并行计算主要是通过下面这8行代码来实现的: queue = Queue() #初始化一个队例 for i in range(3): t = threading.Thread(target=basic_worker,args=(queue,)) t.daemon = True t.start() for item in range(100): #创建任务队例 queue.put(item) queue.join() 上面的代码创建了3个线程(具体线程数量可根据任务复杂度及机器配置进行调整),并通过queue.put(item) 写入任务队例及所需参数,最后通过queue.join() 方法告诉程序queue写入完毕开始执行队例。 记得将basic_worker() 方法内的代码替换为你所需要执行的任务代码即可。</description></item><item><title>易语言->编程基础知识->数据类型</title><link>https://blog.arae.cc/post/25761.html</link><pubDate>Wed, 20 Sep 2017 18:59:29 +0800</pubDate><guid>https://blog.arae.cc/post/25761.html</guid><description>数据类型: 各种数值的数据都在内存中占用一定的存储空间。字节(byte) 是系统中最基本存储单位。数据类型所占字节数越多,所能够容纳数值的范围就越大。 数据类型的概念: 数据:是指能够输入到计算机中,并能够被计算机识别和加工处理的符号的集合,是程序处理的最小对象。例如:数值、字符、图形、图像和声音等都是数据。数据在程序中以常量或变量的方式被引用,不同的数据特点有不同的存储要求和处理算法。 上小学时,我们学过自然数,小数,分数等,其中,1,2,3这样的数叫自然数;-2,-1,0,1,2等的数叫整数;1.1,1.3,1.4,1.66这样的数叫小数。把数据进行这样的区分,在电脑语言里被称做数据类型。 易语言的数据类型从数据结构来区分,可分为基本数据类型、特殊数据类型。 基本数据类型有6种,包括数值型、逻辑型、日期时间型、文本型、字节集型、子程序指针型。 数值型数据又包括了字节型、短整数型、整数型、长整数型、小数型、双精度小数型。数值型数据都是由0-9数字,小数点组成的一个数值。 常用数据类型: 数据类型名称 占用字节 取值范围 字节型 1 0 ~ 255 短整数型 2 -32,768 ~ 32,767 整数型 4 -2,147,483,648 ~ 2,147,483,647 长整数型 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 小数型 4 -3.4E38 ~ 3.4E38 (7位小数) 双精</description></item><item><title>SkinSharp函数文档</title><link>https://blog.arae.cc/post/25760.html</link><pubDate>Sat, 16 Sep 2017 17:38:29 +0800</pubDate><guid>https://blog.arae.cc/post/25760.html</guid><description>错误代码 错误代码: SRET_OK 0 操作成功 SRET_ERROR 1 操作失败 SRET_ERROR_READ 2 皮肤文件读取失败 SRET_ERROR_PARAM 3 参数错误 SRET_ERROR_CREATE 4 创建皮肤失败 SRET_ERROR_FORMAT 5 皮肤格式错误 SRET_ERROR_VERSION 6 皮肤版本错误 SRET_ERROR_PASSWORD 7 皮肤密码错误 SRET_ERROR_INVALID 8 皮肤引擎错误 SkinH_Attach SkinH_Attach: 函数原型:int SkinH_Attach(); 功能:加载程序当前目录下的文件名为skinh.she的皮肤进行换肤 参数:无 返回值:成功返回0,失败返回非0 SkinH_AttachEx SkinH_AttachEx: 函数原型:int SkinH_AttachEx(LPCTSTR strSkin, LPCTSTR strPwd); 功能:加载指定路径的皮肤进行换肤 参数: strSkin 表示的是皮肤文件路径 strPwd 表示的是皮肤密钥 返回值:成功返回0,失败返回非0 SkinH_AttachEx SkinH_AttachEx: 函数原型:int SkinH_AttachEx(LPCTSTR strSkin, LPCTSTR strPwd); 功能:加载指定路径的皮肤进行换肤 参数: strSkin 表示的是皮肤文件路径 strPwd 表示的是皮肤密钥 返回值:成功返回0,失败返回非0 SkinH_AttachRes SkinH_AttachRes: 函数原型:int SkinH_AttachRes(BYTE* pShe, int nSize, LPCTSTR strPwd, int nHue, int nSat, int nBri); 功能:加载指定资源进行换肤并指定相应的色调,饱和度,亮度 参数: pShe 资源皮肤数据指针 nSize 资源皮肤数据长度 strPwd 皮肤密钥 nHue 色调,取值范围-180-180,默认值0 nSat 饱和度,取值范围-100-100,默认值0 nBri 亮度,取值范围-100-100,默认值0 返回值:成功返回0,失败返回非0 SkinH_Detach SkinH_Detach: 函数原型:int SkinH_Detach(); 功能:卸载换肤 (注意:在换肤或者程序退出时换肤库会自动卸载当</description></item><item><title>什么是现代化编程?</title><link>https://blog.arae.cc/post/25759.html</link><pubDate>Tue, 12 Sep 2017 11:53:08 +0800</pubDate><guid>https://blog.arae.cc/post/25759.html</guid><description>在我的青少年时期,我涉猎了编程基础和一些汇编。当我学习了 Turbo Pascal 之后这事更进了一步,它提供了一种最早期的集成开发环境(IDE)。我觉得这下合我心意了。实际上,IDE 是一种让你在一个友好的环境内,方便地编写、编译、调试和运行代码的程序。Turbo Pascal 没有太多的图形界面(它基于文本),但它有菜单和窗口。你可以进入调试模式,跟踪变量的值等等。 然后我转到了 Delphi (一种图形化的 Turbo Pascal),它拥有到今天看来仍然不错的出色 IDE。我用 Visual Basic 设计了一个“会报时的钟”,当时发表在 Bulletin Board Systems(使用 Windows 3.1 的一个系统)。那之后我发现了 Visual Studio。有好几年我的 C++ 编程都是借用的 Visual Studio。以上就是我一直使用的所有 IDE。 早在八十年代初,Smalltalk 就有了著名的强大图形化 IDE(Youtube 视频)。 我认为,使用 IDE 并不代表着“现代化”。现在的 IDE 和过去的 IDE 非常相像。虽然我们编程的内容改变了,但在很多情况下,我们如何编程却没有改变。在我的 Dell 笔记本电脑里装着最新版 Visual Studio。换做 20 年前的我,也能完美地轻松上手它。调试、代码补全、远程代码执行,它和以前很像。事实上,Visual Studio 从未与 Turbo Pascal 相差很大过。而我</description></item><item><title>什么样的编程最难?编程中的快餐式和探路式</title><link>https://blog.arae.cc/post/25758.html</link><pubDate>Sat, 17 Dec 2016 09:49:28 +0800</pubDate><guid>https://blog.arae.cc/post/25758.html</guid><description>说到 技术 这个词,它看起来很深奥其实是你不了解罢了,有些所谓的技术实际上并不一定多么聪明,只不过了解得比你清楚罢了。 什么样的编程最难? 写你不了解的东西。 举个例子,当你想写个EXE图标相关的程序,你就需要了解PE文件结构,还有EXE图标资源操作相关的现有API和接口。这就是一道门槛,难就难在你要查到相关资料,如果你能直接搜到现成可用的源代码,那是最幸运的。否则在不了解的情况下写,要么写不出来,要么只能用不那么正规的方法去实现,比如直接根据特征码进行操作。 写你不懂的东西。 这条和上面那条差不多,如果你要写的东西需要大量数学,而你数学也没学好,那么自然而然就会成为一道门槛。所以你就需要临时去学下你要用到的数学公式,可是首先你还要知道你需要用到哪些数学公式,所以本质上就等于写你不了解的东西。 写你需求不明确的东西。 你要写的是什么?如果你只能用抽象的概念来回答,那么当你写的时候就会发现,其实你连你的需求是什么都不知道。你要写的东西太复杂了,太万能了,太无限状态机了,没错,有限状态机很好写,可是如果你要写的是无限状态机,那也就是说,你要写的所有状态,你自己都不清楚,那你又要从哪里开始写呢?又要写到哪里是</description></item><item><title>易语言自定义命令(自定义核心支持库命令名)</title><link>https://blog.arae.cc/post/25757.html</link><pubDate>Sun, 13 Nov 2016 19:26:58 +0800</pubDate><guid>https://blog.arae.cc/post/25757.html</guid><description>此插件为Eapp平台专用插件,平台下载地址:572521856 (QQ群文件)</description></item><item><title>执行命令行说明</title><link>https://blog.arae.cc/post/25756.html</link><pubDate>Tue, 08 Nov 2016 08:35:02 +0800</pubDate><guid>https://blog.arae.cc/post/25756.html</guid><description>{p} = 相对于易语言根目录\AM\Cmd\,注意:后面带有 {f} = 当前编译出去的程序文件全路径 {hide} = 隐藏执行命令行执行的窗口,此标记必须放到第一行。 // = 屏蔽当前行的命令行,屏蔽后将不再执行此命令行。 命令例子: {hide} {p}upx.exe -1 {f} 命令例子说明: 1.隐藏执行窗口 2.执行upx压缩;-1为upx命令;{f}为编译文件路径。</description></item><item><title>API中数据结构大小计算法</title><link>https://blog.arae.cc/post/25755.html</link><pubDate>Sun, 23 Oct 2016 12:40:20 +0800</pubDate><guid>https://blog.arae.cc/post/25755.html</guid><description>我们在调用系统API函数的时候,经常会碰到一个问题,许多的API第一个参数都是结构尺寸(dwSize) 其他语言里有直接取数据结构尺寸大小的命令,但是易语言中没有,可能很多刚接触的易友当时一定很苦恼这个结构到底多大。 其实要计算结构尺寸很简单,首先了解下易语言中的各种数据类型。 易语言中分基本数据类型,复合数据类型两种。 不过我更喜欢把它分为固定长度类型和可变长度类型。 固定长度类型包括: 字节型,短整数型,整数型,长整数型,小数型,双精度小数型 逻辑型,日期时间型,子程序指针型。 可变长度类型包括: 文本型,字节集型,数组型,支持库自定义数据类型,用户自定义数据类型 固定长度类型就是他在程序中占用的内存字节数是固定的,而可变长度的则不固定,比如文本型,文本增加,内存占用就增加,减少就相应减少等等。而支持库提供的其他数据类型和用户自定义数据类型,也是有可能变大或者变小的,这些不能确定长度的就叫做可变长度类型了。 固定长度类型的可以直接代入计算: 字节型:1 字节 短整数型:2字节 整数型:4字节 长整数型:8字节 小数型:4字节 双精度小数型:8字节 逻辑型:4字节 日期时间型:8字节 子程序指针型:4字节 而对于可变长度的:文</description></item><item><title>身份证号码验证算法</title><link>https://blog.arae.cc/post/25754.html</link><pubDate>Sat, 22 Oct 2016 20:21:07 +0800</pubDate><guid>https://blog.arae.cc/post/25754.html</guid><description>做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。 (一)18身份证号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。 地址码 表示编码对象常住户口所在县(市、旗、区)的行政区域划分代码,按GB/T2260的规定执行。 出生日期码 表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。 顺序码 表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。 校验码计算步骤 (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, … , 16 ,先对前17位数字的权求和 Ai:表示第i位置上的身份证号码数字值(0~9) Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (表示第i位置上的加权因子) (2)计算模 Y = mod(S, 11) (3)根据模,查找得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2 (二)根据17位数字本体码获取最后一位校验码程序实例 public class Id18 { int[] weight={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; /</description></item><item><title>计算机更新这么快,怎么编程语言还是二十多年前的?</title><link>https://blog.arae.cc/post/25753.html</link><pubDate>Sat, 22 Oct 2016 20:13:36 +0800</pubDate><guid>https://blog.arae.cc/post/25753.html</guid><description>刚刚看了《Hackers &amp; Painters》觉得里面讲lisp语言未来会流行的那部分理论很有意思,也很有说服力。 下面讲讲我自己的想法: 机器性能本身是贬值的,按照摩尔定律,平均过去大约是每过18个月就能以原先一半的价钱买到相同性能的CPU,相对于这种贬值速度,人力资源的价值可以认为是固定不变的,也就是说人力资源相比于机器性能的价值越来越高。 所以人们在开发软件的过程中,相比于过去,越来越不重视代码的优化,具体可以参见Andy and Bill’s Law。 但是按这种逻辑,编程语言也会越来越接近自然语言,学习门槛越来越低,但是运行性能也越来越低。可是目前流行的编程语言都是很早以前发明的,都是设计给那时候的计算机运行的,为什么它们没有被现在发明的语言所淘汰? 各种热门语言的发明时间(排名不分先后,也未包含所有热门编程语言): Python 1991 Java 1995 Ruby 1990 PHP 1994 Javascript 1995 R 1993 而且奇怪的是这几种语言都集中在1990~1995之间。 发明得早的语言,并不等于为当时的机器设计的语言。发明得早的语言,现在还活跃的并不是它的最初版,而是持续改进后的成果。事实上,过去编程语言流行有过三次浪潮,驱动力各不相同。 第一波是50~70年代,这一波是数学驱</description></item><item><title>汉语编程能给我们带来什么?</title><link>https://blog.arae.cc/post/25752.html</link><pubDate>Sat, 22 Oct 2016 20:12:07 +0800</pubDate><guid>https://blog.arae.cc/post/25752.html</guid><description>每隔几天,就会有人在网媒上讨论中文编程的问题,甚至有编程的套件发布,每次都会引发一场大讨论。但是在程序员的圈子里,却很少看到有人关注这个话题。 为什么汉语编程这个话题总能引吸一些人的眼球呢?我们就开动脑筋,来想一想汉语编程能带来的好处。 1) 民族荣誉感增强,这种感觉就像是以后我们的子孙再也不用学习英文了,而是英国人,美国人,世界各国人民都挤破脑袋来学习汉语,中华民族可以把学习英语的大 把时间节约下来,去做更有意义的事情。这以后,你去国外旅游,当地人一听说你是中国来的,会说汉语,就好吃好喝好妹子的招待你,只求能和你有一个练习口语 的机会。万一你失业了,实在是找不着工作,你还可以找个地方传授别人通关汉语四六级的秘诀。 等到汉语编程取待英语编程的那一天,咱们一定要让老英老美把咱们中国人吃过的苦头挨个吃一遍。这个看来,上升到民族大义的高度,汉语编程还真值得下功夫。 2)汉语编程能降低中国人学习编程的门槛,中国的软件水平有机会领先世界。 对于第一点,帽子太大,我无法发表观点,大多数打着为国为民旗号的行动最后看来都是扯蛋,为自己才是真的。第二点中提到的降低中国人学习编程的门槛,看来更具现实意义。 但笔者调查发现,</description></item><item><title>为什么“程序猿”常有而“程序媛”不常有?</title><link>https://blog.arae.cc/post/25751.html</link><pubDate>Sat, 22 Oct 2016 20:08:21 +0800</pubDate><guid>https://blog.arae.cc/post/25751.html</guid><description>许多人对计算机科学界极客们有一种普遍的印象。这没什么——但假如这个领域内女生比男生多呢?你一定会想:什么?这一定是疯了! 喜欢《星际迷航》、不善社交与计算机编程能力的关系,其实值得怀疑。事实上,早期计算机编程工作主要由女性完成,人们认为女性的天赋十分适合这项工作。在 1967 年出版的计算机编程就业指导中,一位作者写道:“编程需要耐心、恒心、关注细节,这些正是女生的特点”。女性为计算机科学的发展做出了重要贡献,“直到 1980 年代,比尔·盖茨、史蒂夫·乔布斯等计算机领域的英雄人物才登场,‘极客’一词开始被用于形容技术型人才。”那么,是什么影响了女性对“计算机科学”的刻板印象呢? 华盛顿大学心理学家萨普纳·谢里扬(Sapna Cheryan)对“固有印象”是否阻碍女性进入计算机领域十分感兴趣。她和同事调查了本科生对计算机专业的兴趣发现,女生的兴趣普遍较小——考虑到该领域由男性主导,这一结果并不意外。但她们为什么不感兴趣就不太容易解释了:女生觉得“自己与计算机专业学生的典型形象不符”。研究者认为,这或许影响到学生在计算机专业中的归属感。所以说,正因为一些固有印象而“感到”自己不适合学习计算机,女生才对这一专业“不</description></item><item><title>微信小程序服务器端用什么语言开发?</title><link>https://blog.arae.cc/post/25750.html</link><pubDate>Thu, 29 Sep 2016 15:41:49 +0800</pubDate><guid>https://blog.arae.cc/post/25750.html</guid><description>微信小程序服务器端用什么语言开发? 首先,比如微信二次开发,可以用java或者php 来做服务器端语言来进行二次开发,那小程序呢?文档写着.js负责业务逻辑,难道服务器端就是纯JS实现? 包括对数据库的操作吗? 还是也可以用php? 其实文档中在request里面可以填写自己的网站地址,那么应该就可以从自己的服务器获取到数据,所以后端什么数据语言都可以。 那这样的话是不是跟ajax差不多啊, 后台PHP处理好后反馈给前端数据又怎么返回? 服务端语言和前端逻辑没啥关系吧,php,python都行。但是最好用 python,快速开发!php 开发后端会遇到很多问题的。 wx.request发起的是https请求。一个微信小程序,同时只能有5个网络请求连接。</description></item><item><title>一门编程语言的诞生总是有理由的</title><link>https://blog.arae.cc/post/25749.html</link><pubDate>Thu, 29 Sep 2016 15:35:39 +0800</pubDate><guid>https://blog.arae.cc/post/25749.html</guid><description>Kevin Kelleher suggested an interesting way to compare programming languages: to describe each in terms of the problem it fixes. The surprising thing is how many, and how well, languages can be described this way. Algol: Assembly language is too low-level. Pascal: Algol doesn&rsquo;t have enough data types. Modula: Pascal is too wimpy for systems programming. Simula: Algol isn&rsquo;t good enough at simulations. Smalltalk: Not everything in Simula is an object. Fortran: Assembly language is too low-level. Cobol: Fortran is scary. PL/1: Fortran doesn&rsquo;t have enough data types. Ada: Every existing language is missing something. Basic: Fortran is scary. APL: Fortran isn&rsquo;t good enough at manipulating arrays. J: APL requires its own character set. C: Assemby language is too low-level. C++: C is too low-level. Java: C++ is a kludge. And Microsoft is going to crush us. C#: Java is controlled by Sun. Lisp: Turing Machines are an awkward way to describe computation. Scheme: MacLisp is a kludge. T: Scheme has no libraries. Common Lisp: There are too many dialects of Lisp. Dylan: Scheme has no libraries, and Lisp syntax is scary. Perl: Shell scripts/awk/sed are not enough like programming languages. Python: Perl is a kludge. Ruby: Perl is a kludge, and Lisp syntax is scary. Prolog: Programming is not enough like logic. 易语言: 以上所有语言都是英文编程,没有中文编程简单易懂。</description></item><item><title>杀毒软件已经进入空前弱智与混沌状态</title><link>https://blog.arae.cc/post/25748.html</link><pubDate>Thu, 29 Sep 2016 15:31:14 +0800</pubDate><guid>https://blog.arae.cc/post/25748.html</guid><description>杀毒软件和病毒警报系统敏感化 迅雷安全中心是一个非常敏感非常变态的东西,10%的汉化软件将会报告是病毒,50%的带插件安装版本将会报是病毒,70%的超过600m的软件报告是病毒,90%的易语言的作品。这是个垃圾产品,不过也是为了网友好,网友可以选择不下载迅雷安全中心报告有问题的软件,不过将失去一个用好软件的机会,这随便你们,绿盟会注明它提示有病毒的给大家的,只要大家反馈。 卡巴,误报能力相当强,敏感过度了,瑞星也有跟风的嫌疑。 官方软件也报毒 以下是报毒过的官方软件: ppmate,影音风暴(有插件吧),酒精,nero,矮人dos工具箱,深山红叶工具箱,几个qq修改版,比如快乐无极版和狂人版,q宠保姆(由于加了壳) 还有不少写着官方版本也有“毒”,但是网友还是问为什么有毒,有的明明就是官方的下载地址,还破口大骂&hellip;实在无语,比如影音风暴,酒精和nero的官方版,最近骂的不少&hellip;.明明写着官方版,而且连接地址也是官方的,还&hellip;. 防毒软件要求太苛刻 当用一些壳来保护软件的时候,是“毒”; 狐狸少爷的软件都是“毒”; 开端口的软件是“毒”; 监控sniffer类软件都是“毒”</description></item><item><title>升级易语言支持库保证向下兼容性的几点总结</title><link>https://blog.arae.cc/post/25747.html</link><pubDate>Thu, 29 Sep 2016 15:24:11 +0800</pubDate><guid>https://blog.arae.cc/post/25747.html</guid><description>易语言支持库升级之后,要保证向下兼容性,主要是做到以下几点: 一:保证原有的易语言源程序(.e)能正常打开(兼容点1)、正常编译(兼容点2)、编译结果正确(兼容点3); 二:保证原有的易语言程序(.exe)能正常运行(兼容点4)、运行结果正确(兼容点5)。 这里说的“原有的易语言源程序”和“原有的易语言程序”是指,替换新版支持库文件之前,使用旧版支持库编写的易语言源程序,和使用该源程序编译生成的可执行程序。 本文主要就此问题结合具体情况进行分析和总结。 一,为支持库增加一条命令 新增加的命令,必须放在所有原有命令的后面,否则将违反兼容点2和4,更无法保证兼容点3和5。这是因为,在源程序和EXE中,记录的都是命令的索引,一旦在中间插入一条命令,将导致后面的命令索引全变了,进而导致非常严重的错位问题。只要记住,总是在所有命令的最后添加新的命令,就不会引入兼容性问题。具体到数据类型的成员方法,与上面的分种一致,因为它也是使用支持库中唯一的全局函数表的,但这里引入了一个新的细节,有一个 LIB_DATA_TYPE_INFO.m_pnCmdsIndex 用于指定方法在全局函数表中的命令索引,所以通过它可以调整各成员方法的顺序,这种做法通常不会引入兼容性问题。 二,为命令增加</description></item><item><title>E language is what?</title><link>https://blog.arae.cc/post/25746.html</link><pubDate>Thu, 29 Sep 2016 15:18:04 +0800</pubDate><guid>https://blog.arae.cc/post/25746.html</guid><description>易语言是什么? 有人说它是一门编程语言,有人说它是一个编译器,有人说它是一个集成开发环境(IDE),有人说它是一款软件开发工具。 说的都对,又都不全对。 其实,易语言就是这样一个综合体:它既是一门编程语言,又是一个编译器,又是一个集成开发环境(IDE),又是一款软件开发工具。准确地说,易语言是一个自成体系的软件开发平台。虽然易语言目前还不足以与强大的 Java、.NET 平台相抗衡,但它的的确确是一个“麻雀虽小、五脏俱全”的、自成体系的软件开发平台。</description></item><item><title>EIDEA介绍</title><link>https://blog.arae.cc/post/25745.html</link><pubDate>Wed, 14 Sep 2016 11:14:28 +0800</pubDate><guid>https://blog.arae.cc/post/25745.html</guid><description>支持库命令查找 支持直接搜索所有已加载的支持库命令 找到后自动定位 自动引用模块 双击快速引用常用模块 自动加载模块 可以添加你想自动加载的模块到自动加载分类上,当易语言启动时,就自动加载到易语言里。(目前只支持双击易语言主程序新建空程序时才能自动加载) 自定义添加分类功能,程序初始化时自动为你添加了“常用模块”分类 可以添加你经常使用的模块,方便随时加载到易语言,而不用到时找,浪费不必要的时间。 常用便签 看其名知其意,可添加你常用工具软件、易源码、目录。 支持无限分类。 自动备份 可自定义设置多长时间自动备份1次源码。 可指定自动备份的目录路径。 可设置备份时的文件名格式,最大备份的数量。 触发备份:源码的源文件有变动。(自动备份的原理,每次达到指定时间触发备份时,会先去读取你已保存源码的MD5,和最后一次备份的源码MD5进行对比是否一致,如果不一致则备份) 为什么没开了自动备份,但是不起效? 原因:源码未自动保存。 解决办法,可以开启自动保存功能,或者手动Ctrl+S进行保存,只有源码的源文件变了,才会触发备份。 自动保存 可自定义设置多长时间自动保存一次源码,防止源码因停电或其它原因丢失,造成不可挽回的结果。 模块查看器</description></item><item><title>易语言 取自定义数据类型的大小</title><link>https://blog.arae.cc/post/25744.html</link><pubDate>Sat, 10 Sep 2016 01:37:11 +0800</pubDate><guid>https://blog.arae.cc/post/25744.html</guid><description>先说一下易语言的变量储存机制 易语言有基本数据类型和复合数据类型两种 基本数据类型包括:1. 各种整数 2.各种浮点 3. 逻辑值 他们都是储存在栈上的 大小都是固定的 用不着取 复合类型一般储存在堆上 然后在栈上储存堆上数据的引用 其中有几种比较特殊:字符串 字节集 数组 这两种类型的大小虽然储存在堆上的某个地方 但都有专门的取大小函数 直接调用即可 剩下就是自定义数据类型 比如类或者结构 特别是类 类的数据成员都是私有的 假如你想知道别人写的一个模块里一个类的大小 不可能通过数数据成员的方法得到 那如何取到呢?有人可能提出用“取变量地址”这个函数 可惜的是 “取变量地址”取到的永远是栈上的地址 根据上面所说 栈上地址的内容就是堆上地址 但是易语言没有一个用指针取整数的函数 这就需要用一个系统api:RtlMoveMemory 这个函数跟c语言memcpy的功能一样 但是有了他问题就变得容易的多 声明一个整形变量a q是一个自定义的类或者结构 RtlMoveMemory (取变量地址 (a), 取变量地址 (q), 4) 这样a储存的就是ls在堆区的地址 之后用到一个api:LocalSize 我们都知道堆区内存分配必然用到LocalAlloc/GlobalAlloc 那么也能通过LocalSize取到大小 调</description></item><item><title>为啥这么多人喜欢用性感头像</title><link>https://blog.arae.cc/post/25743.html</link><pubDate>Fri, 09 Sep 2016 13:40:29 +0800</pubDate><guid>https://blog.arae.cc/post/25743.html</guid><description>●用没太刻意选择过的生活照作头像。 这类人对自己的接纳度比较高,对外貌也比较有自信,不一定长得好看,但是能接纳自己的本来面目。内心没藏太多秘密,也没做过什么见不得人的事儿,在网络世界和现实世界中差别不大。 ●用端端正正的证件照作头像。 为人中规中矩,不敢越雷池一步,其实内心很压抑。 ●用自己PS过的照片、艺术照、文艺范儿照、装可爱照作头像。 往往有较强的自我中心倾向,就是有点自恋啦!其实自恋的外表透露出自卑的内心,不太能接受真实的自己。 ●用又远又小的人像作头像图片。 注重隐私,害羞保守,防卫心较强,不易接近陌生人,基本上不太可能与人自来熟。 ●用部分脸的超级特写作头像。 自我感很强。其实很想被人认出来,在用伪艺术的形式来遮掩内心的真正渴望。 ●用童年照片作头像。 总觉得过去的事物比现在美好,容易伤感,不易改变。巨蟹座偏多。 ●用家人的照片作头像。 自我感很薄弱,有很强的依赖性,缺乏安全感,内心深处不愿长大,渴求庇护。 ●用男女朋友的照片作头像。 正陷在甜蜜而昏头昏脑的热恋中,爱得不能自拔,爱到失去自我。 ●用儿女照片作头像。 如果用小Baby的照片,大多是初为人母,难掩内心的幸福与喜悦。如果孩子都七八岁以上了,还把孩</description></item><item><title>我是如何走上编程的不归路的</title><link>https://blog.arae.cc/post/25741.html</link><pubDate>Thu, 08 Sep 2016 15:17:28 +0800</pubDate><guid>https://blog.arae.cc/post/25741.html</guid><description>正规读书十二载,在此之前从没接触过易语言,编程。至于是怎么走上编程这条路,并为之所倾心的,且听我细细道来。 那年,正是炫舞飞起的年代,各个网吧都是在玩炫舞、cf,你没个账号都不好意思和人家打招呼。那天,某场炫舞PK中,对手一直是perfect。噢,简直谢特啊!不敢相信!然后观战的围观群众就炸开锅了,他开G开G。当时也是太傻太年轻啊,啥也没争取,默认他赢了。比赛完后在心里默念,G是啥?开个G就这么牛了? 百度之后,对开挂这类东西有了初步了解。想着,要是我自己也做一个,哈哈,他们就要称我为大神了。 说干就干,打开电脑就开始搜关键词:入门编程。结果哔了狗,广告占多数。 而且让人眼花缭乱,C++,PHP,JAVA,PCL等等。最主要的是,所有语言都是这么夸自己的:我是最好的入门教材!我是最好的语言!画外音:咱还能要点脸不?重点是英语水平不过关,我也看不懂啊。现在回想起来,英语水平并不是很关键的问题,多看看也就懂了。 又搜,这次在关键词中加入了中文二字,中文编程入门,搜出来易语言。我到现在都还记忆很深刻的记得当时搜出来的标题:易语言中文编程,从入门到精通。 回想起当时,为何选择的是易语言呢,原因有三。一,我</description></item><item><title>颜值测试API,微软小冰颜值,颜值API</title><link>https://blog.arae.cc/post/25740.html</link><pubDate>Wed, 17 Aug 2016 14:56:22 +0800</pubDate><guid>https://blog.arae.cc/post/25740.html</guid><description>微软小冰颜值api http://kan.msxiaobing.com/Api/ImageAnalyze/Process?service=yanzhi 在使用前我们看一下效果 {&quot;msgId&quot;:&quot;1461905520063&quot;,&quot;timestamp&quot;:0,&quot;receiverId&quot;:null,&quot;content&quot;:{&quot;text&quot;:&quot;颜值7.2分,再接再厉!捯饬捯饬,说不定就是男神了呢~&quot;,&quot;imageUrl&quot;:&quot;http:\\\\/\\\\/mediaplatform.trafficmanager.cn\\\\/image\\\\/fetchimage?key=UQAfAC8ABAAAAFcAFgAGABYASgBAADgAMQBFAEQARABGAEEAMgBGADkAQgBGAEYAQwA4AEEANQAxADgAMAA4AEEANgA2ADMAMwBFADMAMAA3AEEA&quot;,&quot;metadata&quot;:{&quot;w&quot;:&quot;scv9isnfUnZbhOfPjNnUjOfir-3Ave_sisfqiuTo</description></item><item><title>EIDE助手-更新日志</title><link>https://blog.arae.cc/post/25763.html</link><pubDate>Fri, 29 Jul 2016 23:08:33 +0800</pubDate><guid>https://blog.arae.cc/post/25763.html</guid><description>3.0 [未发布] 点击转到3x页面 上次修改时间:2018-7-27 00:30:37 2.9 调整 &lsquo;状态夹-&gt;Tools&rsquo; 界面样式 增加 &lsquo;状态夹-&gt;Tools&rsquo; 前景色设置项 修复 &lsquo;状态夹-&gt;Tools&rsquo; 点击后无法跳出循环体 优化多进程通讯消息分发机制 优化SET.EXE设置程序,增加&rsquo;关于&rsquo;页面 修复 &lsquo;智能编译&rsquo; 一处逻辑错误导致无法编译/多次编译问题 修复 &lsquo;F1键展开当前命令参数表&rsquo; 部分情况下失效 SET.EXE设置程序,增加&rsquo;删除无效配置文件&rsquo;,位于 支持库设置-&gt;危险区 工具箱 -&gt; 屏幕取色,增加单击视图区恢复调色板功能 修复 &lsquo;优化配色方案&rsquo; 修改配色失败 修复 &lsquo;模块管理&rsquo; 在特定布局下无法获取句柄 修复 &lsquo;屏蔽修复优化-&gt;自动切换工作夹&rsquo; 失焦BUG 发布时间:2018-7-28 2.8 重写工具箱 -&gt; POST测试 优化工具箱 -&gt; 编码转换 修复模块管理 在特殊情况下出现错位问题 优化工具箱 -&gt; NASM 配色方案</description></item><item><title>EIDE助手(易语言支持库)</title><link>https://blog.arae.cc/post/25762.html</link><pubDate>Fri, 29 Jul 2016 11:56:20 +0800</pubDate><guid>https://blog.arae.cc/post/25762.html</guid><description>支持库介绍 EIDE支持库是一款基于易语言IDE开发的编程工具,提供了很多易语言便携功能。新版本EIDE插件支持库更名为APP助手。自带多种插件,如编程工具,快速引用模块,屏蔽相关信息,智能编译,智能语法等等。 独创插件加载继续,10+插件完美秒开 注:EIDE助手只是辅助支持库,不会增加任何代码编译到你的程序里面 相关截图 最新版本界面可能与截图有出入。 Win10显示效果更佳 更新说明 点击进入查看 安装/使用 将“AM”、“lib”两个目录复制到易语言根目录下 打开易语言 菜单-&gt;工具-&gt;支持库配置 选择“. APP ”支持库 打开易语言 菜单-&gt;工具-&gt;APP管理 勾选将使用的插件 重启易语言 助手更新方法 到官方Q群文件内下载最新版本助手安装/更新包 删除更新包 AM\AppConfig.ini 文件, 如修改过&rsquo;自定义命令名&rsquo;插件配置文件,删除更新包 AM\APP\CC_idy\Config.ini 文件 将 AM、lib目录覆盖到易语言根目录即可, 助手插件使用方法 打开易语言 菜单-&gt;工具-&gt;APP管理 勾选要使用的插件后重启易语言 插件设置根据设置页面提示是否要重启易语言 注:APP平台(包括内置插件)基于官方原版开发,第三方修改版可能无法正常运行。 助手插</description></item><item><title>时差因素!中国地区Win10免费升级于7月30日17:59截止</title><link>https://blog.arae.cc/post/25739.html</link><pubDate>Fri, 29 Jul 2016 11:48:42 +0800</pubDate><guid>https://blog.arae.cc/post/25739.html</guid><description>Win10免费升级服务将于美国当地时间7月29号截止,由于时差关系导致不同地区的截止时间不同。在中国地区,Win10免费升级服务将于7月30日17:59分截止,伦敦地区的截止时间则于明日上午的10:59分截止。 7月29日消息,微软Windows10操作系统免费升级大限为7月29日,该日期之后再想升级Win10要花费888元(Win10家庭版中国区零售价格)购买正版系统。时差关系,中国地区的免费升级将在7月30日17:59正式结束(本周六),还有30多个小时的升级时间,请抓紧最后机会! 在其他国家和地区的朋友们,根据时差不同,具体时间也会不同。 在这最后的30多个小时里面,没有升级的用户还会选择升级吗?当看到往后要花费888元来购买正版系统,估计很多用户都会去尝试升级,毕竟谁也不想和钱过不去。</description></item><item><title>易语言特征码定位工具源码</title><link>https://blog.arae.cc/post/25738.html</link><pubDate>Fri, 22 Jul 2016 09:28:51 +0800</pubDate><guid>https://blog.arae.cc/post/25738.html</guid><description>调用API函数实现文件的特征码定位。 链接: http://pan.baidu.com/s/1kU5mE4B 密码: mwdx</description></item><item><title>时钟事件执行时间超出时钟周期问题解释</title><link>https://blog.arae.cc/post/25737.html</link><pubDate>Thu, 21 Jul 2016 14:13:58 +0800</pubDate><guid>https://blog.arae.cc/post/25737.html</guid><description>时钟组件 作为定时器 系统会在设定时间发送 WM_TIMER 消息给消息队列,因为事件处理函数和窗口回调函数都是同线程, 在一个消息未处理完返回之前是不能处理其他事件消息的,也就是一个时钟事件函数未执行完返回之前,系统是不会发送下一个 WM_TIMER 消息到消息队列中的,所以第二个WM_TIMER消息也就是会被忽略掉。 将时钟周期设置为500 1.下面这个例子你会发现 a 和b是同步的数值是相等的就是这个道理 .局部变量 a, 整数型, 静态 .局部变量 b, 整数型, 静态 a = a + 1 调试输出 (“a”, a) 延时 (1000) b = b + 1 调试输出 (“b”, b) 2.第二个例子很有意思,你会发现程序一直在输出a ,而没有输出b,呵呵,你来猜猜是什么原因? .局部变量 a, 整数型, 静态 .局部变量 b, 整数型, 静态 a = a + 1 调试输出 (“a”, a) 延迟 (1000) b = b + 1 调试输出 (“b”, b) 第二个例子 和第一个例子的区别是把延时()换成了延迟(),想来看看这两个命令的作用和区别,他们的区别一个是相当于暂停当前线程向下执行,等待设定长时间后在向下执行,但并不处理事件消息; 另一个是在等待中并且处理事件消息。那么为什么会出现这样的结果呢,首先来看一下延迟()命令 他是在等待中处理消息队列中未决的消息,那么WM_T</description></item><item><title>程序猿专用代码注释:佛祖保佑,永无BUG</title><link>https://blog.arae.cc/post/25736.html</link><pubDate>Wed, 20 Jul 2016 02:17:56 +0800</pubDate><guid>https://blog.arae.cc/post/25736.html</guid><description>逛论坛发现这个,实在是高上大啊 // _ooOoo_ // o8888888o // 88&quot; . &quot;88 // (| -_- |) // O\ = /O // ____/`---'\____ // . ' \\| |// `. // / \\||| : |||// \ // / _||||| -:- |||||- \ // | | \\\ - /// | | // | \_| ''\---/'' | | // \ .-\__ `-` ___/-. / // ___`. .' /--.--\ `. . __ // .&quot;&quot; '&lt; `.___\_&lt;|&gt;_/___.' &gt;'&quot;&quot;. // | | : `- \`.;`\ _ /`;.`/ - ` : | | // \ \ `-. \_ __\ /__ _/ .-` / / // ======`-.____`-.___\_____/___.-`____.-'====== // `=---=' // // ............................................. // 佛祖保佑 永无BUG // 佛曰: // 写字楼里写字间,写字间里程序员; // 程序人员写程序,又拿程序换酒钱。 // 酒醒只在网上坐,酒醉还来网下眠; // 酒醉酒醒日复日,网上网下年复年。 // 但愿老死电脑间,不愿鞠躬老板前; // 奔驰宝马贵者趣,公交自行程序员。 // 别人笑我忒疯癫,我笑自己命太贱; // 不见满街漂亮妹,哪个归得程序员?</description></item><item><title>微软修复已存在19年的漏洞</title><link>https://blog.arae.cc/post/25735.html</link><pubDate>Fri, 15 Jul 2016 14:30:31 +0800</pubDate><guid>https://blog.arae.cc/post/25735.html</guid><description>微软发布补丁包修补漏洞,而据研究人员指出,微软修补的一个漏洞(BUG),在Windows95时代就已经存在,这个漏洞在黑市上价值几十万美元。 微软当然不会公开所修补的漏洞从何时存在于系统。 据美国华盛顿邮报网站报道,IBM公司X-Force部门的研究人员弗雷曼(RobertFreeman)进行了爆料。据称,微软本周二修补的一个漏洞中,包括一个存在了至少19年的漏洞,可以让黑客远程操控电脑,十分危险。 据称,这一漏洞在Windows95的第一版中就已存在,不过目前还没有证据证明黑客曾经利用过这个漏洞。 众所周知,有关攻击程序、软件漏洞等存在一个巨大的网络黑市,不良之徒和黑客组织相互交易。弗雷曼透露,这个存在了19年的漏洞,在黑市上价值六位数(几十万美元)。 华盛顿邮报指出,这一案例,也证明修补软件漏洞是一个极富挑战性的工作,即使是微软这样的公司,在严格审查之下,仍然会让漏洞漏网。 实际上,长寿的软件“BUG”不算新鲜事。 2010年,谷歌(微博)的一位工程师发现了一个“17岁”的Windows系统漏洞,存在于32位版系统中,可被黑客用来劫持电脑控制权。 今年九月份,在一个免费的工具软件中,研究人员发现了</description></item><item><title>和程序员打交道的十大禁忌</title><link>https://blog.arae.cc/post/25734.html</link><pubDate>Fri, 15 Jul 2016 14:08:33 +0800</pubDate><guid>https://blog.arae.cc/post/25734.html</guid><description>如果你正在读这篇文章,那么非常有可能是有人发给你了这条链接。这个人可能是你的朋友,同事,亲戚,父母,儿子,兄弟,表亲,姑嫂,外甥,或者恰巧帮你解决了电脑问题的一个人。他通常是程序员,系统管理员,或者 “擅长电脑”名声在外的某个人。 这篇文章的初衷是想要澄清跟程序员打交道的错误方式和禁忌。 不要“一遇到问题就去找程序员” 通常,技术问题通过阅读使用说明就可以解决。比如你刚买了一个新的播放器,想要把它连接到你的电视,你只需要找到使用手册里关于如何连接接口的那一页即可。 错误信息通常会被很清晰地列出来。通过仔细阅读并加以思考这个信息传达了什么来解决这个问题是非常有可能的。例如,如果你看到一条信息“你的硬盘已经快满了”,通常这就意味着你的硬盘要满了。为了安抚你的电脑,你需要删除一些你不再需要的文件(或者将它们转移到外部的移动硬盘中)。 不要认为“程序员对电脑无所不知” 朋友或某个亲戚可能很擅长电脑,但他们并非无所不知。一般他们也完全不知道怎么使用你电脑中出问题的程序,仅仅是使用一些简单的逻辑判断或google搜索来帮你找到解决方案。 实际上,用谷歌搜索已经足够了,因为它会引导你找到相关的论坛或者博客,早在你遇</description></item><item><title>为什么程序员都是夜猫子</title><link>https://blog.arae.cc/post/25732.html</link><pubDate>Fri, 15 Jul 2016 14:02:18 +0800</pubDate><guid>https://blog.arae.cc/post/25732.html</guid><description>一种很流行的说法是,程序员是把咖啡因转化成程序代码的机器。 说的是实情,随便问一个程序员,问他什么时候工作最有状态,估计他很有可能说是深夜。有人稍微早一点,有人更晚。有一种流行的趋势是凌晨4点起床,在破晓之前这段时间里做一些事情。而另一些人喜欢凌晨4点才睡觉。 所有这些的主要目的是躲避打搅。但是你把自己反锁在屋里不就行了?为什么对夜晚情有独钟? 我想,这事归纳下来有3点:工人的时间表,疲倦的大脑和明亮的电脑屏幕。 工人的时间表 Paul Graham 在2009年写了一篇关于 工人的时间表的文章——主要是说这个世界(主要)存在两种时间表。传统的管理者的时间表——一天的时间别分成了很多小时,一次十分钟的分心至多会浪费你1个小时的时间。 而另一种情况是程序员们所说的工人的时间表——生产东西的人的时间表。研究一个大型的抽象的系统,需要把整件事情装进大脑——这样的一些人类似于用珍贵的水晶玻璃搭建一间房子,一旦有人打搅你,整个结构都会滑落,摔成无数的碎片。 这就是为什么被打扰的程序员会如此的生气。 因为这是一种巨大的精力上的投资,在没有几个小时不被打搅的环境中的酝酿,你不可能开始工作。如果你好不容易在大脑中构建了整个要思考的事情的模</description></item><item><title>鲜为人知的编程真相</title><link>https://blog.arae.cc/post/25731.html</link><pubDate>Fri, 15 Jul 2016 13:53:06 +0800</pubDate><guid>https://blog.arae.cc/post/25731.html</guid><description>当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶: 一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入最终的产品的代码 — —不管他的技术水平有多高。 好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行。 ”一个卓越的车床工可以要求比一个一般的车床工多拿数倍高的工资,但一个卓越的软件写手的价值会10000倍于一个普通的写手。“ — — 比尔 盖茨 一个好的程序员的效率会是一个普通的程序员的十倍之上。一个伟大的程序员的效率会是一个普通程序员的20-100倍。这不是夸张 — — 1960年以来的无数研究都一致的证明了这一点。一个差的程序员不仅仅是没效率 — — 他不仅不能完成任务,写出的大量代码也让别人头痛的没法维护。 伟大的程序员只花很少的时间去写代码 — — 至少指那些最终形成产品的代码。那些要花掉大量时间写代码的程序员都是太懒惰,太自大,太傲慢,不屑用现有的方案去解决老问题。伟大的程序员的精明之处在于懂得欣赏和重复利用通用模式。好的</description></item><item><title>10个最“优秀”的代码注释</title><link>https://blog.arae.cc/post/25729.html</link><pubDate>Fri, 15 Jul 2016 13:48:46 +0800</pubDate><guid>https://blog.arae.cc/post/25729.html</guid><description>下面是stackoverflow网站上网友针对你看到过的最好的代码注释是什么样的?这个问题给出的回答的前10条: // 亲爱的维护者: // 如果你尝试了对这段程序进行‘优化’, // 并认识到这种企图是大错特错,请增加 // 下面这个计数器的个数,用来对后来人进行警告: // 浪费在这里的总时间 = 39h /** * 致终于来到这里的勇敢的人: 你是被上帝选中的人,英勇的、不辞劳苦的、不眠不修的来修改 我们这最棘手的代码的编程骑士。你,我们的救世主,人中之龙, 我要对你说:永远不要放弃,永远不要对自己失望,永远不要逃走,辜负了自己。 永远不要哭啼,永远不要说再见。永远不要说谎来伤害自己。 */ Exception up = new Exception(&quot;Something is really wrong.&quot;); throw up; // 一些修改1 - 2002/6/7 增加临时的跟踪登录界面 // 一些修改2 - 2007/5/22 我临时的犯傻 #define TRUE FALSE //逗一逗调试程序的傻瓜们 if (/*you*/ $_GET['action']) { //celebrate(恭喜) // 如果这段代码好用,那它是Paul DiLascia写的。 //如果不好用,我不知道是谁写的。 //写这段代码的时候,只有上帝和我知道它是干嘛的 //现在,只有上帝知道 // 晕了,以后再修改 // 神奇。勿动。 你有没有更绝的?</description></item><item><title>程序员的样子</title><link>https://blog.arae.cc/post/25728.html</link><pubDate>Fri, 15 Jul 2016 13:39:24 +0800</pubDate><guid>https://blog.arae.cc/post/25728.html</guid><description>往运行服务器上直接上传文件时程序员的样子 当凌晨3点还在修改bug时程序员的样子 当发现没有按CTRL-S就关闭了文件时程序员的样子 当使用正则表达式返回了想要的结果时程序员的样子 第一次使用CSS美化页面时的效果 当所有人都在办公室挥汗如雨的加班而你却能安然的回家度周末时的样子 当老板想找一个人来修改这个严重bug时程序员的样子 当经过了数小时的努力后第一次运行开发出的脚本时程序员的样子</description></item><item><title>坐得越久 死得越快</title><link>https://blog.arae.cc/post/25726.html</link><pubDate>Fri, 15 Jul 2016 13:26:20 +0800</pubDate><guid>https://blog.arae.cc/post/25726.html</guid><description>又一项研究显示,久坐对你的健康是真的、真的、真的非常有害。请买一个可站着工作的桌子吧! 一项对超过20万个澳大利亚人的研究结果给这样一个事实又增加了一份活体证明:坐得越久的人死得越快。研究同时还发现,锻炼不能改变这种趋势——尽管它能有效降低这种风险。 研究结果清晰的告诉我们这样一个简单的信息:多站立、少坐着,这样能延长你的寿命。 尽管那些每周锻炼超过5个小时的人的死亡风险会大大降低,但当他们坐的过久时,这种风险仍然会升高。 目前,“久坐对身体有害”已经被广泛的认可。最近几年的研究表明,在电脑屏幕前、电视前做得太久,或仅是闲坐太久,都会增加你死亡的风险。 这次的调查采取了一种更直接的方式,观察人们每日坐着的时间总和和他们在之后三年内死亡率之间的关系,希望能给久坐的危害程度标个数字。 结果让人震惊,每天坐着超过11小时的人在未来三年的死亡风险要比每天坐着少于4小时的人的死亡风险高出40%。这是经过了对年龄、体重、物理锻炼、健康水平等所有会影响到死亡风险的因素进行校正后得到的结果。同时得到的一个正比数据是:坐得越久,死亡风险越高。 这个研究是萨克斯研究所(Sax Institute)的45 and Up研究项目的组</description></item><item><title>为什么谷歌要执行严格的代码编写规范</title><link>https://blog.arae.cc/post/25725.html</link><pubDate>Fri, 15 Jul 2016 13:23:10 +0800</pubDate><guid>https://blog.arae.cc/post/25725.html</guid><description>我们在谷歌所做事情中另外一个让我感到异常有效、有用的制度是严格的编码规范。 在到Google工作之前,我一直认为编码规范没有什么用处。我坚信这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率的东西。 我是大错特错了。 在谷歌,我可以查看任何的代码,进入所有谷歌的代码库,我有权查看它们。事实上,这种权限是很少人能拥有的。但是,让我感到惊讶的却是,如此多的编码规范—缩进,命名,文件结构,注释风格—这一切让我出乎意料的轻松的阅读任意一段代码,并轻易的看懂它们。这让我震惊—因为我以为这些规范是微不足道的东西。它们不可能有这么大的作用—但它们却起到了这么大的作用。当你发现只通过看程序的基本语法结构就能读懂一段代码,这种时间上的节省不能不让人震撼! 反对编码规范的人很多,下面是一些常见的理由,对于这些理由,我以前是深信不疑。 这是浪费时间! 我是一个优秀的程序员,我不愿意浪费时间干这些愚蠢的事。我的技术很好,我可以写出清晰的、易于理解的代码。为什么我要浪费时间遵守这些愚蠢的规范?答案是:统一是有价值的。就像我前面说的—你看到的任何的一行代码—不论是由你写的,还是由你身边的同事,还是由一个跟你相差</description></item><item><title>不懂技术的人不要对懂技术的人说这很容易实现</title><link>https://blog.arae.cc/post/25724.html</link><pubDate>Fri, 15 Jul 2016 13:22:40 +0800</pubDate><guid>https://blog.arae.cc/post/25724.html</guid><description>“这个网站相当简单,所有你需要做的就是完成X,Y,Z。你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来。” 我时不时的就会收到这样的Email。写这些邮件的人几乎都是跟技术不沾边的人,或正在研究他们的第一个产品。起初,当听到人们这样的话,我总是十分的恼怒。他们在跟谁辩论软件开发所需要的时间?但后来我意识到,即使我自己对自己的项目预测要花去多少开发时间,我也是一筹莫展。如果连我自己都做不好,我何必对那些人恼怒呢? 真正让我郁闷的不是他们预估的错误。问题在于他们竟然认为自己可以做出正确的估计。作为开发人员,我们经常会发现,在软件开发的问题上,一个外行人会很自然的把复杂的事情估计的很简单。 这并不是为我们的愤怒找借口。但这引起了另外一个有趣的问题:为什么我们天生的预测复杂性的能力在遇到编程问题时会失灵? 为了回答这个问题,让我们来认识一下我们的大脑如何估计事情的。有些事情对于一些没有经验的人也很容易预估正确,但有些事情则不然。 我们来想想观看一个人弹吉他。即使你从来没有弹过吉他,在观看了一场弹奏《玛丽有只小羊羔(Mary had a Little Lamb)》的吉他表演后,你也能大概推测出这很简单</description></item><item><title>那些出现在电影中的程序代码</title><link>https://blog.arae.cc/post/25722.html</link><pubDate>Fri, 15 Jul 2016 13:09:06 +0800</pubDate><guid>https://blog.arae.cc/post/25722.html</guid><description>高科技无关的电影也偶尔会出现一些跟计算机相关的镜头。文本搜罗的是在各种电影中出现过的代码,它们有的是黑客脚本,有的是绝密文件,有的就是为了摆酷,文中对这些代码都有截屏,你是否能看出它们是什么语言? 《钢铁侠》,c语言 最近我重新看了一遍《钢铁侠》,发现了一些有趣的事情。在钢铁侠的人工心脏第一次“初始化启动”期间,在那个“恐怖分子”的洞穴里,一些长长短短的C语言代码出现在那个伪造的笔记本电脑屏幕上。 屏幕上的这些代码,尽管从语法上看是少了一些重要的字符,例如分号,但的确是有效的C语言代码。写的非常规范,以至于我想弄清楚这些代码是从哪里来的。 使用谷歌一搜,我就找到了它。这段代码实际上是这样的: send[0] = 0x65; send[1] = 1; send[2] = 3; send[3] = 5; send[4] = 7; send[5] = 11; if (rcx_sendrecv(fd, send, 6, recv, 1, 50, RETRIES, use_comp) != 1) { fprintf(stderr, &quot;%s: delete firmware failed\n&quot;, progname); exit(1); } /* Start firmware download */ send[0] = 0x75; send[1] = (start &gt;&gt; 0) &amp; 0xff; send[2] = (start &gt;&gt; 8) &amp; 0xff; send[3] = (cksum &gt;&gt; 0) &amp; 0xff; send[4] = (cksum &gt;&gt; 8) &amp; 0xff; send[5] = 0; if (rcx_sendrecv(fd, send, 6, recv, 2, 50, RETRIES, use_comp) != 2) { fprintf(stderr, &quot;%s: start firmware download failed\n&quot;, progname); exit(1); } /* Transfer data */ addr = 0; index = 1; for (addr = 0, index = 1; addr &lt; len; addr += size, index++) { 上面的这段代码来自一个乐高积木(LEGO,一种可编程的积木游戏)的固件下载程序,由斯坦福大学的Kekoa Proudfoot写于1998年。你可以从这里下载完成的程序</description></item><item><title>禁止WebBrowser网页跳转时发出的声音</title><link>https://blog.arae.cc/post/25721.html</link><pubDate>Fri, 15 Jul 2016 13:04:52 +0800</pubDate><guid>https://blog.arae.cc/post/25721.html</guid><description>默认情况下,IE内核的网页浏览框(WebBrowser、CHtmlView、CHtmlDialog等控件)在跳转网页、点击按钮时会发出声音,用CoInternetSetFeatureEnabled这个API可以禁止掉。 易语言代码: .版本 2 .子程序 禁止网页跳转声音 CoInternetSetFeatureEnabled (#FEATURE_DISABLE_NAVIGATION_SOUNDS, #SET_FEATURE_ON_PROCESS, 1) .DLL命令 CoInternetSetFeatureEnabled, 整数型, &quot;urlmon&quot;, &quot;CoInternetSetFeatureEnabled&quot; .参数 FeatureEntry, 整数型, , INTERNETFEATURELIST .参数 dwFlags, 整数型, , DWORD .参数 fEnable, 整数型, , BOOL .常量 FEATURE_DISABLE_NAVIGATION_SOUNDS, &quot;21&quot;, , 禁止跳转声音 .常量 SET_FEATURE_ON_PROCESS, &quot;2&quot;, , 仅对当前进程有效 VC/C++代码: #include &lt;urlmon.h&gt; #ifndef FEATURE_DISABLE_NAVIGATION_SOUNDS #define FEATURE_DISABLE_NAVIGATION_SOUNDS 21 #endif #ifndef SET_FEATURE_ON_PROCESS #define SET_FEATURE_ON_PROCESS 0x00000002 #endif void DisableClickSounds() { CoInternetSetFeatureEnabled((INTERNETFEATURELIST)FEATURE_DISABLE_NAVIGATION_SOUNDS,SET_FEATURE_ON_PROCESS,true); } C#代码: const int FEATURE_DISABLE_NAVIGATION_SOUNDS = 21; const int SET_FEATURE_ON_PROCESS = 0x00000002; [DllImport(&quot;urlmon.dll&quot;)] [PreserveSig] [return: MarshalAs(UnmanagedType.Error)] static extern int CoInternetSetFeatureEnabled( int FeatureEntry, [MarshalAs(UnmanagedType.U4)] int dwFlags, bool fEnable); static void DisableClickSounds() { CoInternetSetFeatureEnabled( FEATURE_DISABLE_NAVIGATION_SOUNDS, SET_FEATURE_ON_PROCESS, true); }</description></item><item><title>浅谈程序员创业</title><link>https://blog.arae.cc/post/25720.html</link><pubDate>Fri, 15 Jul 2016 13:00:54 +0800</pubDate><guid>https://blog.arae.cc/post/25720.html</guid><description>什么是创业? 关于“创业”二字有必要重新学习一下,找了两个相对权威定义: 创业就是创业者对自己拥有的资源或通过努力能够拥有的资源进行优化整合,从而创造出更大经济或社会价值的过程。——百度百科 创业是一种思考、推理和行为方式,它为机会所驱动,需要在方法上全盘考虑并拥有和谐的领导能力。创业必须要贡献出时间、付出努力,承担相应的财务的、精神的和社会的风险,并获得金钱的回报、个人的满足和独立自主。——互动百科 两者都给出了明确的创业定义,这里想着重想强调一下创业的目的:物质目的和精神目的,现代社会唯金主义人群不乏少数,提到创业自然而然想到“赚钱”,其实创业的目的不仅是“收入大于成本”,还有精神丰收。按照百度+互动百科的说法,最终极的创业应该是个人物质精神、社会物质精神四丰收。 当然,不是人人创业都追求“四丰收”,完全可以只追求个人金钱丰收,或是追求其中的任何一项或几项,但要注意——千万不要损害未选的,比如为个人赚钱损害社会或他人利益。 怎么才算创业成功? 创业的成功(这里定义为达到创业初级制定目标)一定是依赖于合理的目标+个人的努力+合适的方法+良好的运气+主动把握机遇,各个条件没有顺序也没有主次,但这五点</description></item><item><title>EditPlus 注册码</title><link>https://blog.arae.cc/post/25719.html</link><pubDate>Fri, 15 Jul 2016 11:06:22 +0800</pubDate><guid>https://blog.arae.cc/post/25719.html</guid><description>EditPlus 是一款功能强大的文字处理软件。它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能。支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤销/重做、拼写检查、自定义快捷键,等等&hellip; 用户名:咲音 注册码:E409-14838-C2955-87422-F8968 用户名:Missing丶咲音 注册码:6509-69890-ED8EF-173E4-2AA4F 用户名:exiaoyin 注册码:8290C-849B8-5CF3A-E3CAD-825ED 用户名:freeuser 注册码:375AD-12490-3F1C9-72FF8-43471 用户名:EditPlus 注册码:72938-20D58-9379C-18419-405E2 用户名:572521856 注册码:51765-30C68-E6877-EDF0A-D2E5A 用户名:Administrator 注册码:8659D-4D490</description></item><item><title>常用Windows消息、常量命名参考</title><link>https://blog.arae.cc/post/25717.html</link><pubDate>Thu, 14 Jul 2016 21:22:27 +0800</pubDate><guid>https://blog.arae.cc/post/25717.html</guid><description>在WIN系统常量里,一般会以两到三个字母加个下划线作为前缀,从这些前缀里就能知道是什么类型的常量。 一般情况下,第一个字母为控件的头一个字母,第二个字母是M的是消息(Message)常量,S是风格(Style)常量,N是通知、事件(Notify)。 下面列出一些常量的常量前缀,为大家以后使用API、常量等带来方便。 以下内容由(彬·泪闯天涯)整理,如果发现有什么错误请指正。 如果是使用VB、易语言等需要自己声明常量的开发工具,可以下载一些工具来查询、复制。 a b c WM_ Window Message 窗口消息,一般用在SendMessage,PostMessage这样的消息函数中 SM_ Static Message 静态标签消息 SS_ Static Style 静态标签风格 BM_ Button Message 按钮消息 BS_ Button Style 按钮风格 BN_ Button Notify 按钮通知 EM_ Edit Message 编辑框消息 ES_ Edit Style 编辑框风格 CB_ ComboBox 组合框消息 CBN_ ComboBox Notify 组合框通知 LBM_ ListBox Message 列表框消息 LBS_ ListBox Style 列表框风格 LBN_ ListBox Notify 列表框通知 LVM_ ListView Message 超级列表框(列表视图)消息 LVS_ ListView Style 超级列表框(列表视图)风格 LVN_ ListView Notify 超级列表框(列表视图)通知 TVM_ TreeView Message 树型框(树型视图)消息 TVS_ TreeView Style 树型框(树型视图)风格 TVN_ TreeView Notify 树型框(树型视图)通知 VK_ Virtual Keyboard 虚拟键、键代码</description></item><item><title>Windows窗口消息大全</title><link>https://blog.arae.cc/post/25715.html</link><pubDate>Thu, 14 Jul 2016 13:52:51 +0800</pubDate><guid>https://blog.arae.cc/post/25715.html</guid><description>Windows窗口消息大全 ////////////////////////////////////////////////////////////////////////// #include &quot;AFXPRIV.H&quot;//消息值的定义来源 #include &quot;Dde.h&quot;//DDE消息值的定义来源 #include &quot;CPL.H&quot;//控制面板消息值的定义来源 #include &quot;WFEXT.H&quot;//文件管理器的消息值的定义来源 #include &quot;vfw.h&quot;//视频捕捉的消息值的定义来源 #include &quot;ras.h&quot;//RAS(远程访问服务)的消息值的定义来源 #include &quot;imm.h&quot;//输入法编辑器的消息值的定义来源 #include &quot;tspi.h&quot;//消息值的定义来源 #include &quot;setupapi.h&quot;//消息值的定义来源 ////////////////////////////////////////////////////////////////////////// #ifndef WM_SYSTIMER #define WM_SYSTIMER 0x0118 //(caret blink) #endif #define DRV_EXITAPPLICATION 0x000C //驱动程序消息相关 #define WM_HIBERNATE 0x03FF //WINCE独有的消息(内存资源限制相关) //窗口消息解码 #define IDSTR(MsgID) MsgID,#MsgID typedef struct { DWORD dwMsg; LPCTSTR szMsgText; LPCTSTR szNote; } t_MSGNOTE; static t_MSGNOTE messagesnote[] = { IDSTR(WM_NULL),&quot;空消息,可检测程序是否有响应等&quot;, IDSTR(WM_CREATE),&quot;新建一个窗口&quot;, IDSTR(WM_DESTROY),&quot;销毁一个窗口&q</description></item><item><title>所谓的牛逼,都是用苦逼换来的</title><link>https://blog.arae.cc/post/25713.html</link><pubDate>Thu, 14 Jul 2016 11:49:39 +0800</pubDate><guid>https://blog.arae.cc/post/25713.html</guid><description>那个未来的牛逼之人,他开始变得隐忍,开始接受做一些苦逼的事。 [ 1 ] Amy在演讲台上分享她个人的创业经历,主要讲的是她如何从一名普通的广告从业人员,到现在成为活动策划公司的CEO。公司目前在上海很火,承办各大活动,市里的高层领导也曾去参观过。因为公司办得出色,Amy还上过新闻联播。 演讲快结束时,我听到旁边一对男女在议论,男的小声说:“这种公司很好办的,要搞活动就是雇几个人,搭几张桌子的事儿。在风口上,猪都能飞起来。” 听到这话,我心里真觉得堵了块石头,因为简单粗暴的评论能把人的努力在瞬间贬得一文不值。作为Amy的前同事,我知道她几乎是耗尽了心血才让公司走到这种地步。 公司初期的业务,是从举办小型线下活动开始的。读书会、社交舞会、瑜伽课、花艺、茶道&hellip; &hellip;各种各样的活动都接。Amy从那时开始便样样事情自己上,合作商都靠自己拉。前期、中期、后期,每一个环节都要把关,每一个细节都要做好。 有一次我凌晨回公司,发现Amy还在改策划案,边上是一袋袋速溶咖啡。更夸张的是,她喝咖啡连冲泡的时间都没,直接干吃速溶咖啡。再后来,直接从网上买了个睡袋,天天睡公司。 活动中的饮品都要向供应商一</description></item><item><title>Windows10关闭80端口占用</title><link>https://blog.arae.cc/post/25712.html</link><pubDate>Thu, 14 Jul 2016 11:48:47 +0800</pubDate><guid>https://blog.arae.cc/post/25712.html</guid><description>方案一 以管理员身份运行cmd;输入net stop http;如果提示是否真的需要停止这些服务,则选择“Y”;完成后输入:sc config http start=disabled 方案二 Ctrl+x, 然后选择“计算机管理”, 展开“服务和应用程序”, 找到“服务”; 找到“World Wide Web Publishing Service”, 双击打开后, 将启动类型改为手动, 更改服务状态为“停止”; 如果80端口仍然被占用, 则还需要停止以下几个服务: “SSDP Discovery”、“Print Spooler”、“HomeGroup Provider”、“Function Discovery Resource Publication”、“Function Discovery Provider Host”; 方案三 以管理员身份运行regedit打开键值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP 在右边找到Start这一项,将其改为0重启系统, System进程不会占用80端口。</description></item><item><title>快速卸载Windows10预装app应用</title><link>https://blog.arae.cc/post/25711.html</link><pubDate>Thu, 14 Jul 2016 11:47:36 +0800</pubDate><guid>https://blog.arae.cc/post/25711.html</guid><description>其实很简单,微软已经准备了强大的工具,这就是PowerShell命令行窗口。用PowerShell命令行可以完全删除一些预装应用,注意是完全的删除,而不是仅仅屏蔽掉。 首先在开始菜单中找到它,右键点击,选择“以管理员身份运行”,然后想要卸载什么,就输入相应的命令。 OneNote: Get-AppxPackage OneNote | Remove-AppxPackage 3D: Get-AppxPackage 3d | Remove-AppxPackage Camera相机: Get-AppxPackage camera | Remove-AppxPackage 邮件和日历: Get-AppxPackage communi | Remove-AppxPackage 新闻订阅: Get-AppxPackage bing | Remove-AppxPackage Groove音乐、电影与电视: Get-AppxPackage zune | Remove-AppxPackage 人脉: Get-AppxPackage people | Remove-AppxPackage 手机伴侣(Phone Companion): Get-AppxPackage phone | Remove-AppxPackage 照片: Get-AppxPackage photo | Remove-AppxPackage 纸牌游戏(还敢要钱的那货): Get-AppxPackage solit | Remove-AppxPackage 录音机: Get-AppxPackage soundrec | Remove-AppxPackage Xbox: Get-AppxPackage xbox | Remove-AppxPackage 注意: 最后这个删除Xbox后会给出一大片错误提示信息,但其实已经删掉了,不必理会。</description></item><item><title>易语言程序加密的原则</title><link>https://blog.arae.cc/post/25710.html</link><pubDate>Thu, 14 Jul 2016 10:48:03 +0800</pubDate><guid>https://blog.arae.cc/post/25710.html</guid><description>早先人们的加密方法是通过在软盘上格式化一些非标准磁道,在这些磁道上写入一些数据,如软件的解密密钥等等。这种软盘成为“钥匙盘”。软件运行时用户将软盘插入,软件读取这些磁道中的数据,判断是否合法的“钥匙盘”。 软盘加密还有其它一些技术,如弱位加密等等。 随着近年来软盘的没落,这种方法基本上退出了历史舞台。新的软件加密技术也越来越多了。 加密前要考虑周到且严密 说实话,有很多人在易语言论坛上发贴,说自己用易语言编写的软件有了破J,还非常高兴,有人用才会被破J,但我想,如果是很高兴的这样子,除非你的软件技术含量很低,或你是微软,想被别人破J,您不应该高兴,这有点象别人打了你一耳光,你还很高兴,你的知识产权或著作权已被奸人侵犯了,性质很恶劣,后果很严重。除了拿起法律武器,劳命伤财,还有就是加强加密方式。 如果被制作出注册机,情况是最糟糕的,作者需要全部更换全部用户的注册KEY文件,工作量相当地相当地大。因此一个好的软件保护发布前必须考虑周到,而且是面面俱到,否则出一个新版,发现一个破J,再出一个新版去修正,那样的事情是极其弱智的。 需要加密的内容要制定一个计划 一开始不明白如何加密的易语言用户,一般就找一下论</description></item><item><title>易语言软件反调试大法——六种反调试方法,总有一种适合“它”!</title><link>https://blog.arae.cc/post/25709.html</link><pubDate>Thu, 14 Jul 2016 10:43:20 +0800</pubDate><guid>https://blog.arae.cc/post/25709.html</guid><description>备注:写成子程序是为了方便在应用时插到代码段中,真正使用时请务必插入(最好分段插入)到程序代码中,否则几乎形同虚设。 .版本 2 .子程序 第一法_内存分配反调试, 逻辑型 .参数 最小值, 整数型 .参数 最大值, 整数型 .局部变量 min, 整数型 .局部变量 max, 整数型 GetProcessWorkingSetSize (GetCurrentProcess (), min, max) ' 输出调试文本 (min, max) 返回 (min ≠ 最小值 或 max ≠ 最大值) .子程序 第二法_子窗口反调试 EnumChildWindows (GetDesktopWindow (), 到整数 (&amp;子窗口监控子程序), 0) .子程序 第三法_时间差反调试, 逻辑型 .局部变量 ctt, FILETIME .局部变量 ett, FILETIME .局部变量 ktt, FILETIME .局部变量 utt, FILETIME .局部变量 stt, SystemTime .局部变量 ntt, SystemTime .局部变量 qtt, 双精度小数型 GetLocalTime (ntt) GetProcessTimes (GetCurrentProcess (), ctt, ett, ktt, utt) FileTimeToSystemTime (ctt, stt) qtt = 到数值 (ntt.wSecond) × 1000 + ntt.wMilliseconds - 到数值 (stt.wSecond) × 1000 - stt.wMilliseconds 返回 (qtt > 300 或 qtt < 0) .子程序 第四法_启动信息反调试, 逻辑型 .局部变量 启动信息, STARTUPINFO GetStartupInfo (启动信息) 返回 (启动信息.dwX ≠ 0 或 启动信息.dwY ≠ 0 或 启动信息.dwXCountChars ≠ 0 或 启动信息.dwYCountChars ≠ 0 或 启动信息.dwFillAttribute ≠ 0 或 启动信息.dwXSize ≠ 0 或 启动信息.dwYSize ≠ 0) .子程序 第五法_时间间隔反调试, 逻辑型 返回 (GetTickCount () - GetTickCount () ≠ 0) .子程序 第六法_检测调试器反调试, 逻辑型</description></item><item><title>易语言取外网ip的两种方法</title><link>https://blog.arae.cc/post/25708.html</link><pubDate>Thu, 14 Jul 2016 10:41:05 +0800</pubDate><guid>https://blog.arae.cc/post/25708.html</guid><description>易语言取外网ip的两种方法 方法一: .版本 2 .支持库 internet .子程序 取外网ip_文本操作, 文本型 .局部变量 内容, 文本型 .局部变量 开始位置, 整数型 .局部变量 长度, 整数型 .局部变量 网址, 文本型 .局部变量 开始标识符, 文本型 .局部变量 结束标识符, 文本型 网址 = “http://www.net.cn/static/customercare/yourIP.asp” 开始标识符 = “&lt;h2&gt;” 结束标识符 = “&lt;/h2&gt;” 内容 = 到文本 (HTTP读文件 (网址)) 开始位置 = 寻找文本 (内容, 开始标识符, , 假) + 取文本长度 (开始标识符) 长度 = 取文本长度 (内容) - 取文本长度 (开始标识符) - 寻找文本 (内容, 开始标识符, , 假) - (取文本长度 (内容) - 寻找文本 (内容, 结束标识符, , 假)) 返回 (取文本中间 (内容, 开始位置, 长度)) 方法二: .版本 2 .支持库 RegEx .支持库 internet .子程序 取外网ip_正则操作, 文本型 .局部变量 开始标识符, 文本型 .局部变量 结束标识符, 文本型 .局部变量 正则, 正则表达式 .局部变量 结果, 搜索结果 .局部变量 内容, 文本型 .局部变量 网址, 文本型 开始标识符 = “&lt;h2&gt;” 结束标识符 = “&lt;/h2&</description></item><item><title>内存映射文件处理大文件</title><link>https://blog.arae.cc/post/25705.html</link><pubDate>Tue, 12 Jul 2016 19:24:39 +0800</pubDate><guid>https://blog.arae.cc/post/25705.html</guid><description>内存映射文件处理大文件 // 创建文件内核对象,其句柄保存于hFile HANDLE hFile = CreateFile(“Recv1.zip”,GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL); // 创建文件映射内核对象,句柄保存于hFileMapping HANDLE hFileMapping = CreateFileMapping(hFile,NULL,PAGE_READWRITE, 0, 0x4000000, NULL); // 释放文件内核对象 CloseHandle(hFile); // 设定大小、偏移量等参数 __int64 qwFileSize = 0x4000000; __int64 qwFileOffset = 0; __int64 T = 600 * sinf.dwAllocationGranularity; DWORD dwBytesInBlock = 1000 * sinf.dwAllocationGranularity; // 将文件数据映射到进程的地址空间 PBYTE pbFile = (PBYTE)MapViewOfFile(hFileMapping,FILE_MAP_ALL_ACCESS,(DWORD)(qwFileOffset &gt;&gt;32), (DWORD)(qwFileOffset&amp;0xFFFFFFFF), dwBytesInBlock); while(bLoop) { // 捕获事件hEvent[0]和事件hEvent[1] DWORD ret = WaitForMultipleObjects(2, hEvent, FALSE, INFINITE); ret -= WAIT_OBJECT_0; switch (ret) { // 接收数据事件触发 case 0: // 从端口接收数据并保存到内存映射文件 nReadLen=syio_Read(port[1], pbFile + qwFileOffset, QueueLen); qwFileOffset += nReadLen; // 当数据写满%时,为防数据溢出,需要在其后开辟一新的映射视图 if (qwFileOffset &gt; T) { T = qwFileOffset + 600 * sinf.dwAllocationGranularity;UnmapViewOfFile(pbFile); pbFile = (PBYTE)MapViewOfFile(hFileMapping,FILE_MAP_ALL_ACCESS,(DWORD)(qwFileOffset&gt;&gt;32), (DWORD)(qwFileOffset&amp;0xFFFFFFFF), dwBytesInBlock); } break; // 终止事件触发 case 1: bLoop = FALSE; // 从进程的地址空间撤消文件数据映像 UnmapViewOfFile(pbFile); // 关闭文件映射对象 CloseHandle(hFileMapping); break; } }… 在终止事件触发处理过程中如果只简单的执行UnmapViewOfFile()和CloseHandle()函数将无法正确标识文件 的实际大小,即如果开辟的内存映射文件为GB,而接收的数据只有GB,那么上述程序执行完后,保存的文 件长度仍是GB。也就是说,在处理完成后还要再次通过内存映射文件的形式将文件恢复到实</description></item><item><title>一分钟明白 VS manifest 原理</title><link>https://blog.arae.cc/post/25704.html</link><pubDate>Tue, 12 Jul 2016 13:58:11 +0800</pubDate><guid>https://blog.arae.cc/post/25704.html</guid><description>什么是vs 程序的manifest文件 manifest 是VS程序用来标明所依赖的side-by-side组建,如ATL, CRT等的清单。 为什么要有manifest文件 一台pc上,用一组建往往会有不止一个版本(c:/windows/winsxs或系统目录下),程序在加载的时候,不知加载哪个,于是manifest文件来指明。 manifest在哪儿,如何创建。 如果用VS开发,可以Set通过porperty-&gt;configuration properties-&gt;linker-&gt;manifest file-&gt;Generate manifest To Yes来自动创建manifest来指定系统的和CRT的assembly版本。 除了这样产生外部的manifest file,还有embedded manifest信息可以被写到所生成的二进制文件内 Set porperty-&gt;configuration properties-&gt;manifest tool-&gt;embed manifest To Yes 对于xp及早前的windows版本,external manifest会比embed manifest有更高的优先级,但对于windows server及后的版本,相反。 为什么我的manifest明明指明 name=&ldquo;Microsoft.VC80.DebugCRT&rdquo; version=&ldquo;8.0.50608.0&rdquo;, 但是用depends.exe工具却发现引用的是8.00.50727.42呢? 因为在C:/WINDO</description></item><item><title>[教程]防止模块被反编译的有效方法(吴总提供):</title><link>https://blog.arae.cc/post/25703.html</link><pubDate>Tue, 12 Jul 2016 13:50:53 +0800</pubDate><guid>https://blog.arae.cc/post/25703.html</guid><description>防止模块被反编译的有效方法: 请在模块中建立一个或多个窗口,将其&rdquo;可视&rdquo;属性设置为假,窗口上放一些随机类型的组件(尽量不要用常用组件),重要数据分散放在这些组件的属性里面,模块中的代码动态载入这些窗口,从这些组件属性中读入相关数据使用. 原理: 由于易语言有相当多类型的组件,而每个组件的属性数据保存格式都不一样,模块反编译想把每种组件中的属性数据反编译出来具有相当的难度,所以数据放在组件属性里面是安全的.</description></item><item><title>易语言5.5以后可以直接用的Manifest</title><link>https://blog.arae.cc/post/25702.html</link><pubDate>Tue, 12 Jul 2016 13:42:32 +0800</pubDate><guid>https://blog.arae.cc/post/25702.html</guid><description>易语言5.5以后可以直接用的Manifest &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt; &lt;assembly xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot; manifestVersion=&quot;1.0&quot;&gt; &lt;assemblyIdentity type=&quot;win32&quot; name=&quot;xxx&quot; version=&quot;1.0.0.0&quot; /&gt; &lt;!-- Windows XP style common controls --&gt; &lt;dependency&gt; &lt;dependentAssembly&gt; &lt;assemblyIdentity type=&quot;win32&quot; name=&quot;Microsoft.Windows.Common-Controls&quot; version=&quot;6.0.0.0&quot; processorArchitecture=&quot;*&quot; publicKeyToken=&quot;6595b64144ccf1df&quot; language=&quot;*&quot; /&gt; &lt;/dependentAssembly&gt; &lt;/dependency&gt; &lt;!-- UAC settings --&gt; &lt;trustInfo xmlns=&quot;urn:schemas-microsoft-com:asm.v2&quot;&gt; &lt;security&gt; &lt;requestedPrivileges&gt; &lt;requestedExecutionLevel level=&quot;asInvoker&quot; uiAccess=&quot;false&quot; /&gt; &lt;/requestedPrivileges&gt; &lt;/security&gt; &lt;/trustInfo&gt; &lt;!-- Windows feature settings --&gt; &lt;application xmlns=&quot;urn:schemas-microsoft-com:asm.v3&quot;&gt; &lt;windowsSettings xmlns:ws=&quot;http://schemas.microsoft.com/SMI/2005/WindowsSettings&quot;&gt; &lt;ws:dpiAware&gt;true&lt;/ws:dpiAware&gt; &lt;/windowsSettings&gt; &lt;/application&gt; &lt;!-- Supported OS versions --&gt; &lt;compatibility xmlns=&quot;urn:schemas-microsoft-com:compatibility.v1&quot;&gt; &lt;application&gt; &lt;!-- Windows 10 --&gt; &lt;supportedOS Id=&quot;{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}&quot; /&gt; &lt;!-- Windows 8.1 --&gt; &lt;supportedOS Id=&quot;{1f676c76-80e1-4239-95bb-83d0f6d0da78}&quot; /&gt; &lt;!-- Windows 8 --&gt; &lt;supportedOS Id=&quot;{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}&quot; /&gt; &lt;!-- Windows 7 --&gt; &lt;supportedOS Id=&quot;{35138b9a-5d96-4fbd-8e2d-a2440225f93a}&quot; /&gt; &lt;!-- Windows Vista --&gt; &lt;supportedOS Id=&quot;{e2011457-1546-43c5-a5fe-008deee3d3f0}&quot; /&gt; &lt;/application&gt; &lt;/compatibility&gt; &lt;/assembly&gt;</description></item><item><title>[转]易语言 360免杀方法心得总结</title><link>https://blog.arae.cc/post/25701.html</link><pubDate>Mon, 11 Jul 2016 16:22:14 +0800</pubDate><guid>https://blog.arae.cc/post/25701.html</guid><description>易语言有一些命令是一定会被拦截的。比如访问网页,文件读写。 因为白名单系统,特征码修改的方法变的越来越鸡肋了。 推荐自己的方法。 1.源码定位,首先删减源码,然后编译,如果报毒,继续删减,直到不报毒为止,定位出报毒的子程序。然后删减子程序的命令,进行编译,最终定位出报毒的命令。(大型软件就算了,代码太多,太费事) 2.在敏感代码前后,子程序前后,添加大量无意义的不报毒命令。例如循环1000次判断计算加减乘除运算。跳来跳去。 3.编译后替换资源,建议替换360相关产品(非杀毒卫士)下带证书的资源,最好是dll文件。越大越好。 4.压缩壳或者加密壳,建议upx压缩壳最高压缩。因为upx比较好脱壳,所以不容易报毒。加密壳推荐Themida 强壳暂时可以直接过。以前se壳比较牛,因为太牛了,所以360直接报。 5.体积膨大,这个比较有意思,在一定程度上可以阻止360上传检测。如果不介意,最好把自身膨大到1G以上。 程序中写入自我膨胀最好。膨胀还有一个好处,就是能够改变自身md5值,最好设置成随机体积。 6.先膨胀再压缩,也就是上面4和5颠倒一下。换完资源就膨胀,然后再压缩。 总结的都是一些菜鸟免杀思路,技术有限也研</description></item><item><title>易语言 修改IE协议头模拟手机浏览网页</title><link>https://blog.arae.cc/post/25700.html</link><pubDate>Mon, 11 Jul 2016 16:19:49 +0800</pubDate><guid>https://blog.arae.cc/post/25700.html</guid><description>通过修改注册表,达到修改IE协议头的目的 注册路径 = “SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform\” 两个文本变量装协议头 windows = “Mozilla/4.0?(compatible;?MSIE?6.1;?Windows?XP)” android = “Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1” 写手机协议注册表 写注册项 (#本地机器, 注册路径 + android, android) 还原电脑协议注册表 写注册项 (#本地机器, 注册路径 + windows, windows) 判断本地注册情况为何协议头 .如果 (注册项是否存在 (#本地机器, 注册路径 + windows)) 删除注册项 (#本地机器, 注册路径 + windows) .否则 .如果结束 .如果 (注册项是否存在 (#本地机器, 注册路径 + android)) 删除注册项 (#本地机器, 注册路径 + android) .否则</description></item><item><title>易语言 特征码的8种修改方法</title><link>https://blog.arae.cc/post/25699.html</link><pubDate>Mon, 11 Jul 2016 16:18:05 +0800</pubDate><guid>https://blog.arae.cc/post/25699.html</guid><description>1.NOP法 (常常检测自己是否定位正确) 2.加1法 (很牛B,很简单,但是不一定实用于每个特征码) 3.大小写替换(很好,很强大,修改后100%可以用! 注意:PE头 函数 不能修改) 4.add ecx,2 可以改为 sub ecx,-2 (加ecx内存器+2 减ecx内存器-2 - -2得=2) (特征码:0046B897) 0046B897: 83C4 F0 ADD ESP,-10 sub ESP,10 5.push 变 pop (特征码:0046B96D) PUSH EBP—POP EBP PUSH EDX—POP EDX POP EDX—PUSH EDX 6.je 变 jnz (特征码:004230F6) LOOPD SHORT *.*—JNZ SHORT * 意思: JE——若ZF=1,则跳转 JMP——无条件跳转 JNZ——若ZF=0,则跳转搜索 PUSH——压栈 7.add 变 sub 8.call跳转 call A (原地址) 修改 call B (0区域) B的位置写 call A (原地址) 00423210: E8 3B1DFFFF CALL 00414F50 (原地址) 0049575C: 0000 ADD [EAX],AL (0区域) add=adc sbb=sub jmp=call jp=je</description></item><item><title>易语言ascii(ASCII)转码</title><link>https://blog.arae.cc/post/25697.html</link><pubDate>Mon, 11 Jul 2016 16:16:06 +0800</pubDate><guid>https://blog.arae.cc/post/25697.html</guid><description>ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。 ASCII是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 ASCII转码就是将类似编码“60,115,99,114,105,112,116,32,116,121,112,101,61,39,116,101,120,116” 变成字节集然后转化成文本 首先,分本分割,然后将每一数组转化成“字节” 然后,创建相同数量的0字节的字节集,用到的命令 取空白字节集 (取数组成员数 (数组)) 最后,将用计次循环,将字节逐个装入字节集中 将字节集到文本即可完成转换 到文本 (字节集)</description></item><item><title>易语言字节集动态加密</title><link>https://blog.arae.cc/post/25696.html</link><pubDate>Mon, 11 Jul 2016 16:14:49 +0800</pubDate><guid>https://blog.arae.cc/post/25696.html</guid><description>原理很简单: 字节集1(n位随机字节集) 字节集2(m位随机字节集) 被加密字节集=字节集1+被加密字节集+字节集2 被加密字后的字节集=加密(被加密字节集,密码) 解密后的字节集=解密(被解密字节集,密码) 解密后的字节集=字节集1+被加密字节集+字节集2 解密后的字节集=取字节集中间(解密后的字节集,n+1,取字节集长度 (解密后的字节集) -m-n) .版本 2 .支持库 dp1 .子程序 加密_加密or解密, 字节集 .参数 字节集数据, 字节集 .参数 加密or解密, 整数型, , 1加密,2解密 .局部变量 密码文本, 文本型 .局部变量 加密算法, 整数型 .局部变量 word, 文本型 .局部变量 mima1, 文本型 .局部变量 mima2, 文本型 .局部变量 字节集数据中间, 字节集 .如果真 (加密or解密 ≠ 1 或 加密or解密 ≠ 2) 返回 (字节集数据) .如果真结束 word = “0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz!#$%'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~&amp;” .计次循环首 (5, ) mima1 = mima1 + 取文本中间 (word, 取随机数 (1, 93), 1) mima2 = mima2 + 取文本中间 (word, 取随机数 (1, 93), 1) .计次循环尾 () 密码文本 = “ww</description></item><item><title>易语言 利用QQ感知登录提取QQ号码</title><link>https://blog.arae.cc/post/25694.html</link><pubDate>Mon, 11 Jul 2016 16:10:12 +0800</pubDate><guid>https://blog.arae.cc/post/25694.html</guid><description>http://openapi.qzone.qq.com/oauth/show?which=ConfirmPage&amp;display=pc&amp;client_id=******* 这里用dz论坛的链接作为例子。识别主要还是后面的ID,其实都无所谓。 无论是读cook还是源码应该都可以读出QQ号的。具体可以做什么,大家自有发挥,不要做坏事哦~ 建议还是用在营销和广告发布上比较好</description></item><item><title>易语言 客户组件post发送数据带所有信息</title><link>https://blog.arae.cc/post/25693.html</link><pubDate>Mon, 11 Jul 2016 16:09:11 +0800</pubDate><guid>https://blog.arae.cc/post/25693.html</guid><description>这样发送可以模拟不同版本的浏览器,红色参数。 最后的两个换行符不要忘记 提交数据 = “content=12345&amp;uin=867400&amp;replycampus=0&amp;property=GoRE” 提交数据长度 = 到文本 (取文本长度 (提交数据)) 内容 = “POST /cgi-bin/new/msgb_addanswer.cgi HTTP/1.1” + #换行符 内容 = 内容 + “Accept: */*” + 内容 = 内容 + “Referer: http://m.qzone.qq.com/” + 内容 = 内容 + “Accept-Language: zh-cn” + 内容 = 内容 + “Content-Type: application/x-www-form-urlencoded” + 内容 = 内容 + “Accept-Encoding: gzip, deflate” + 内容 = 内容 + “User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; 20080914)” + 内容 = 内容 + “Host: m.qzone.qq.com” + 内容 = 内容 + “Content-Length: ” + 提交数据长度 + 内容 = 内容 + “Cache-Control: no-cache” + 内容 = 内容 + “Connection: Keep-Alive” + 内容 = 内容 + “Cookie: pt2gguin=o0000867400; ptcz=3e2483bfdb847715055cad88514a64bfc366de723f25d8d852e0b2611bb934de; pvid=4385960000; uin=o0000867400; skey=@FHM0ith66; r</description></item><item><title>易语言 写注册项恶搞到你重装系统</title><link>https://blog.arae.cc/post/25692.html</link><pubDate>Mon, 11 Jul 2016 16:05:09 +0800</pubDate><guid>https://blog.arae.cc/post/25692.html</guid><description>易语言 写注册项恶搞到你重装系统 运行 (“taskkill /f /im kavsvc.exe”, 假, 1) 运行 (“taskkill /f /im KVXP.kxp”, 假, 1) 运行 (“taskkill /f /im Rav.exe”, 假, 1) 运行 (“taskkill /f /im Ravmon.exe”, 假, 1) 运行 (“taskkill /f /im Mcshield.exe”, 假, 1) 运行 (“taskkill /f /im VsTskMgr.exe”, 假, 1) ' 绕过360监控 写注册项 (4, “SOFTWARE\360Safe\safemon\ExecAccess”, 0) 写注册项 (4, “SOFTWARE\360Safe\safemon\MonAccess”, 0) 写注册项 (4, “SOFTWARE\360Safe\safemon\SiteAccess”, 0) 写注册项 (4, “SOFTWARE\360Safe\safemon\UDiskAccess”, 0) 运行 (“taskkill /f /im 360tray.exe”, 假, 1) ' 结束360进程 ' 修改关联 写注册项 (1, “.txt\”, “jpegfile”) 写注册项 (1, “.inf\”, “jpegfile”) 写注册项 (4, “SOFTWARE\Microsoft\Windows\Curr</description></item><item><title>易语言windows命令合集</title><link>https://blog.arae.cc/post/25668.html</link><pubDate>Mon, 11 Jul 2016 16:00:50 +0800</pubDate><guid>https://blog.arae.cc/post/25668.html</guid><description>绕过杀毒软件防御: 运行 (“taskkill /f /im kavsvc.exe”, 假, 1) 运行 (“taskkill /f /im KVXP.kxp”, 假, 1) 运行 (“taskkill /f /im Rav.exe”, 假, 1) 运行 (“taskkill /f /im Ravmon.exe”, 假, 1) 运行 (“taskkill /f /im Mcshield.exe”, 假, 1) 运行 (“taskkill /f /im VsTskMgr.exe”, 假, 1) 修改系统时间: 置现行时间 (到时间 (“8888年8月8日”)) 禁用任务管理器: 写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr”, 0) 禁用注册表: 写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\System\Disableregistrytools”, 1) 隐藏开始中的运行 禁止WIN2000/XP通过任务管理器创建新任务: 写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun”,</description></item><item><title>易语言 运行命令之修改文件属性</title><link>https://blog.arae.cc/post/25663.html</link><pubDate>Mon, 11 Jul 2016 15:59:50 +0800</pubDate><guid>https://blog.arae.cc/post/25663.html</guid><description>用到的命令是: attrib 易语言操作命令之全隐藏文件: 运行 (“attrib +a +s +h +r ” + 编辑框_文件路径.内容, 假, ) 易语言操作命令之全显示文件: 运行 (“attrib -a -s -h -r ” + 文件全路径, 假, ) 记录一下各个属性的意思 (1)选用r参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用—r参数,去除只读属性; (2)选用a参数,将文件设置为档案属性;选用—a参数,去除档案属性; (3)选用h参数,将文件调协为隐含属性;选用—h参数,去隐含属性; (4)选用s参数,将文件设置为系统属性;选用—s参数,去除系统属性; atttib +a +h +r +s E:\Matlab /s /d 后面的/s 和/d的意思是 选用/s参数,对当前目录下的所有子目录及作设置。 选用/d参数,处理 包含文件夹 附上一个运行命令集,参数再说吧 winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 mem.exe 显示内存使用情况 msconfig.exe 系统配置实用程序 mplayer2 简易widnows media player mspaint 画图板 mstsc 远程桌面连接 mplayer2 媒体播放机 magnify 放大镜实用程序 mmc 打开控制台 mobsync 同步命令 dxdiag 检查directx信息 drwtsn32 系</description></item><item><title>易语言 组件消息参数详解</title><link>https://blog.arae.cc/post/25662.html</link><pubDate>Mon, 11 Jul 2016 15:54:50 +0800</pubDate><guid>https://blog.arae.cc/post/25662.html</guid><description>将指定信息发送到窗口或窗口组件,并等待且取回信息反馈值。 语法: 整数型 窗口组件.发送信息 (信息值,参数1,参数2) 将指定信息发送到窗口或窗口组件,不等待直接返回。 语法: 无返回值 窗口组件.投递信息 (信息值,参数1,参数2) 移动控件 控件.发送信息 (274, 61458, 0) 控件.发送信息 (161, 2, 0) 调整控件尺寸 调整左边: 控件.发送信息 (274, 61441, 0) 调整右边: 控件.发送信息 (274, 61442, 0) 调整顶边: 控件.发送信息 (274, 61443, 0) 左上角调整: 控件.发送信息 (274, 61444, 0) 右上角调整: 控件.发送信息 (274, 61445, 0) 调整底部: 控件.发送信息 (274, 61446, 0) 左下角调整: 控件.发送信息 (274, 61447, 0) 右下角调整: 控件.发送信息 (274, 61448, 0) 控件最大化 控件.发送信息 (274, 61488, 0) 控件最小化 控件.发送信息 (274, 61473, 0) 鼠标带问号(再次单击问号消失) 发送信息 (274, 61836, 0) 关闭控件 控件.发送信息 (16, 0, 0) 单击鼠标左键 控件.发送信息 (513, 0, 0) 清除窗口标题 控件.发送信息 (12, 0, 0) 复制 编辑框.发送信息 (769, 0, 0) 粘帖 编辑框.发送信息 (770, 0, 0) 全选 编辑框.发送信息 (177, 0, -1) 清空内容 编辑框.发送信息 (12, 1, 0) 按钮单击 发送消息 (发送按钮句柄, 245, 0, 0) 删除 控件.发送信息 (768, 0, 0) 剪切 控件.发送信息 (771, 0, 0) 撤销 控件.发送信息 (772, 0, 0) 退出 控件.发送信息(1,0,0) 获得焦点 控件.发送信息(7,</description></item><item><title>易语言程序防破解的常用方法</title><link>https://blog.arae.cc/post/25675.html</link><pubDate>Mon, 11 Jul 2016 15:52:50 +0800</pubDate><guid>https://blog.arae.cc/post/25675.html</guid><description>用易语言写过好几个软件了,有些软件也被破解过,想想也是正常的,前几年我也破解别人的软件来着,呵呵! 也正是因为有过破解软件的经验,所以在防破解这一块的学习上,就觉得很简单了,下面我把我的一些常用经验说一下,有兴趣的朋友可以试一下,呵呵,先说明啊,下面说的只是我的个人经验,大家想比较系统的学习的话,最好是找一些相对专业的教程来看看。 花指令的插入,这当然是有必要的,有人说加了花指令没有什么用,现在的反编译软件基本上都有去除花指令的功能,但是难度它能去我就不加了,给破解者增加一点麻烦事也是好的嘛! 加壳,现在的很多壳都有自动脱壳工具,那这个壳是加还是不加呢?和上面第一点的理由一样,加!一定要加,你不想你的程序成为初学破解者用来练手吧。 注册方式的选择,就最常用的注册而言,还得是硬件码+注册码的形式,其它的加密狗、网络验证等方式还是没办法普及! 加密算法的选择,千万别自己写加密算法,如把硬件码拆开,位移,计算,***,最后得到注册码,可以很明确的告诉你,这样做的话,注册机迟早会出现。 选择一些相对成熟的算法,比如说RSA之类的,下一节我们会专门来学习一个RSA的使用。 程序中如何验证注册码,千万别来一个判</description></item><item><title>易语言代码统计源码</title><link>https://blog.arae.cc/post/25669.html</link><pubDate>Sun, 10 Jul 2016 15:00:50 +0800</pubDate><guid>https://blog.arae.cc/post/25669.html</guid><description>有事需要统计写了多少代码 这个源码正好可以统计你使用的AIP和多少行代码 链接: http://pan.baidu.com/s/1c2ulmzI 密码: 9j3m 链接: http://pan.baidu.com/s/1dEW28TF 密码: 9p8f</description></item><item><title>二维码生成[易语言源码]</title><link>https://blog.arae.cc/post/25648.html</link><pubDate>Sun, 10 Jul 2016 14:40:50 +0800</pubDate><guid>https://blog.arae.cc/post/25648.html</guid><description>通过调用QRCodeWin32.dll库来实现二维码的编码,点阵建议0.1 二维码用来和app交互很不错。 链接: http://pan.baidu.com/s/1jHADGpC 密码: nakv 链接: http://pan.baidu.com/s/1o7Sg5J0 密码: 9y78</description></item><item><title>“大牛”不可缺少的三种文献精读思维模式</title><link>https://blog.arae.cc/post/25631.html</link><pubDate>Sun, 03 Jul 2016 19:44:50 +0800</pubDate><guid>https://blog.arae.cc/post/25631.html</guid><description>文献精读是科研人必不可少的功课。精读的主要目的是要把文章的内容真正消化掉,要转化为你自己可以运用的东西。精读的方式分为三种,它们包括“验证型阅读”、“挑刺型阅读”和“总结归纳型阅读”。 验证型阅读——模仿者 这时候,你的角色是一个模仿者。就是拿到一篇好文章,暂不看文字内容,先把图和表挑出来,根据图和表的内容想想你来写这篇文章,你会怎么写,包括大的结构框架、组织逻辑,以及如何引入问题,如何进行结果陈述,如何引申出结论等,然后再看作者是怎么做的,反复体会你想的和你看的有哪些不同。当你的想法和作者的雷同程度越来越高,你的水平也在不知不觉之中越来越高。 这种“图表——思索——验证”的阅读对提升思维非常有效。当你做实验后得到的就是几个表、几个图,如果有意识地经过了“验证型阅读”的训练,你就会知道该怎么从更高、更好的角度来写你的文章。同样的数据,有的人可以发10.0的文章,有的人可能只能发5.0的文章,为什么有这种差别?这种差别其实就是在平时阅读文献的过程中慢慢积累出来的。 &nbsp;挑刺型阅读——评论者&nbsp; 这时候,你的角色相当于一个评论者了。是一种更高层次的精读方式,需要有评论的一些基础。挑刺</description></item><item><title>原创软件误报? 杀毒软件厂商误报分析提交地址</title><link>https://blog.arae.cc/post/25651.html</link><pubDate>Fri, 01 Jul 2016 05:07:50 +0800</pubDate><guid>https://blog.arae.cc/post/25651.html</guid><description>为了较快解决病毒误报问题,现将杀毒软件厂商误报分析提交地址整理如下. 1:瑞星安全中心: http://mailcenter.rising.com.cn/FileCheck/ 2:金山安全中心: http://www.ijinshan.com/virus_report/ 3:江民安全中心: http://virusup.jiangmin.com/ 4:赛门铁克安全响应中心 http://www.symantec.com/zh/cn/business/security_response/submitsamples.jsp 5:东方微点: http://service.micropoint.com.cn/mail.php 6:卡巴斯基病毒上报 http://www.kaspersky.com.cn/KL-Services/report-on.htm 7:360安全中心: http://sampleup.sd.360.cn/index.php 8:百度杀毒误报提交 http://anquan.baidu.com/shadu/shadu_form.html 9:QQ管家误报提交 http://guanjia.qq.com/trojan_false.html 360杀毒- 易语言软件开发者误报反馈专页 http://open.soft.360.cn/yyy_report.htm 提交一次,并不意味着只是不报你所提交的这个软件,而是这个特征码,也就是包含这个特征码的易程序都可能被解救。所以希望大家别误报了就自暴自弃的发帖抱怨,做出自己的行动。 卡巴斯基 [email protected] 附件把被报毒的文件用zip压缩一下加进去,ZIP设置一个密码virus,避免被邮件服务器拦截 Avira(小红伞) http://analysis.avira.com/samples/ 选”可疑的误报” 可到论坛申请深层分析 http://forum.avira.com/wbb/index.php?page=Board&amp;boardID=140 NOD32 [email protected] 压缩zip发送 BitDefender [email protected] 附件一定记得把被报毒的文件用zip压缩一下加进去,ZIP文件可以加密为 infected 赛门铁克(诺顿) https://submit.symantec.com/security_risks/dispute/ https://submit.symantec.com/false_positive/standard/ AVG [email protected] zip或rar压缩发送 AVAST [email protected] 麦咖啡 sophos https://secure.sophos.com/support/samples/ 提交zip压缩文件 F-PROT http://www.f-prot.com/virusinfo/false_positive_form.html 提交zip 如设置加密 请在Zip archive password写上压缩包密码 F-Secure http://www.f-secure.com/samples/index.html 需要注册,注册成功后直接在Submit a new sample那儿点submit 提交zip压缩文件 VBA32 [email protected] 提交zip压缩文件 Panda 误报问题可以通过提</description></item><item><title>程序员接私活的玄机</title><link>https://blog.arae.cc/post/25683.html</link><pubDate>Sat, 25 Jun 2016 17:30:50 +0800</pubDate><guid>https://blog.arae.cc/post/25683.html</guid><description>没错,就是私活,你干过吧,哈,或者,你现在正想靠它赚点零花?别急,这次我们就来聊聊程序员怎样对待私活这个话题,接还是不接,怎么接,看完自有分晓。 很久以前,我曾经接过几次私活(在“千奇百怪的程序员”一文中我列出了全局变量控的一段代码,就是我帮别人干活时碰到的代码),现在不断有人想让我帮他们干点儿私活,但我都拒绝了。 为什么我曾经接私活现在又坚决不沾呢? 为什么接私活 有人可能说:还不是为了钱嘛!对,钱,钱,钱,这是很多程序员接私活时的主要考虑。但也不全是哦,还有相当一部分人愿意接私活是出于其他原因。 先说说我的三次私活吧。 我曾经教过一个人学习 Qt ,在线的,一对一辅导,帮他熟悉 Qt ,协助他完成一个测试工具的开发。他人在美国,先通过西联汇款给我打了一百多美元,然后我们就开始了……后来呢,因为我总是想按我的方式教他,而他老嫌我让他自己先学习这个学习那个,闹崩了…… 这次经历对我是一次尝试,我当时其实是想了解一对一的在线辅导是否可行,事实证明这里面可能存在很多坑,一是沟通问题,二是教学适配问题,一不注意就会不欢而散。所以,现在这种事情我也不尝试了。我刚在订阅号“程序视界”后台拒绝了一个类似的请求,见下图: 我的</description></item><item><title>非递归算法遍历目录</title><link>https://blog.arae.cc/post/25688.html</link><pubDate>Sat, 25 Jun 2016 14:52:50 +0800</pubDate><guid>https://blog.arae.cc/post/25688.html</guid><description>链接: http://pan.baidu.com/s/1bS4jts 密码: yg6h</description></item><item><title>注册双击Ctrl键 (DLL版)</title><link>https://blog.arae.cc/post/25681.html</link><pubDate>Sat, 25 Jun 2016 14:51:50 +0800</pubDate><guid>https://blog.arae.cc/post/25681.html</guid><description>类似360双击Ctrl搜索的按键功能。 双击Ctrl回调子程序。 易语言编写部分杀软会报毒!DLL可自行压缩。 链接: http://pan.baidu.com/s/1qYKksLQ 密码: d5xd</description></item><item><title>EIDE助手插件 快速定位</title><link>https://blog.arae.cc/post/25638.html</link><pubDate>Sat, 25 Jun 2016 14:49:50 +0800</pubDate><guid>https://blog.arae.cc/post/25638.html</guid><description>在代码编辑区右侧增加快速定位窗口 列举当前程序集内的子程序,并智能分类,让程序集函数显示的更直观,如:[组件事件][菜单事件][自定义子程序] 单击定位窗口的子程序名称可定位至当前程序集的子程序所在位置 可设置定位窗口是否显示或隐藏 最新版本自带此插件</description></item><item><title>文本分割例子</title><link>https://blog.arae.cc/post/25659.html</link><pubDate>Sat, 25 Jun 2016 14:48:50 +0800</pubDate><guid>https://blog.arae.cc/post/25659.html</guid><description>链接: http://pan.baidu.com/s/1jIO0dW6 密码: kr2i</description></item><item><title>易语言API时钟的使用方法</title><link>https://blog.arae.cc/post/25667.html</link><pubDate>Sat, 25 Jun 2016 14:46:50 +0800</pubDate><guid>https://blog.arae.cc/post/25667.html</guid><description>子程序: .版本 2 .子程序 _时钟销毁, 逻辑型, 公开, 销毁一个时钟;成功返回真,失败返回假; .参数 窗口句柄, 整数型, , 直接用“取窗口句柄()”命令取出本窗口句柄即可 .参数 时钟标识文本, 整数型, , 创建时用的标识文本 返回 (KillTimer (窗口句柄, 时钟标识文本)) .子程序 _时钟创建, 逻辑型, 公开, 创建一个时钟;成功返回真,失败返回假; .参数 窗口句柄, 整数型, , 直接用“取窗口句柄()”命令取出本窗口句柄即可 .参数 时钟标识文本, 整数型, , 随便输入一些文本,销毁时用来辩认的; .参数 时钟周期, 整数型, , 时钟周期 .参数 时钟_周期事件, 整数型, , 时钟_周期事件 返回 (SetTimer (窗口句柄, 时钟标识文本, 时钟周期, 时钟_周期事件)) DLL定义: .版本 2 .DLL命令 KillTimer, 整数型, &quot;user32&quot;, &quot;KillTimer&quot;, , 中止定时器 .参数 hwnd, 整数型 .参数 nIDEvent, 整数型 .DLL命令 SetTimer, 整数型, &quot;user32&quot;, &quot;SetTimer&quot;, , 安装系统定时器 .参数 hWnd, 整数型 .参数 nIDEvent, 整数型 .参数 uElapse, 整数型 .参数 lpTimerFunc, 整数型</description></item><item><title>易语言取中间文本</title><link>https://blog.arae.cc/post/25671.html</link><pubDate>Sat, 25 Jun 2016 14:45:50 +0800</pubDate><guid>https://blog.arae.cc/post/25671.html</guid><description>码量不是很大直接复制一下吧~ .版本 2 .子程序 取中间文本, 文本型, 公开, 比如:欲取全文本为“12345”,现在要取出“3”,&lt;3&gt;的前面为“2”,&lt;3&gt;的后面为“4”。 .参数 欲取全文本, 文本型, , 比如:欲取全文本为 12345 .参数 前面文本, 文本型, , 3的前面为“2”,引号直接用 #引号,如:&quot;&lt;font color=#引号red#引号&gt;&quot; .参数 后面文本, 文本型, , 3的后面为“4”,引号直接用 #引号,如:&quot;&lt;font color=#引号red#引号&gt;&quot; .参数 起始搜寻位置, 整数型, 可空, 可空。1为首位置,2为第2个位置,如此类推,如果被省略,则“寻找字节集”命令默认从首部开始,“倒找字节集”命令默认从尾部开始。 .参数 是否区分大小写, 逻辑型, 可空, 可空。初始值为“假”。假 = 不区分 真 = 区分大小写。 .局部变量 局_位置, 整数型 .局部变量 局_位置1, 整数型 .局部变量 局_前面文本, 文本型 .局部变量 局_后面文本, 文本型 局_前面文本 = 子文本替换 (前面文本, “#引号”, #引号, , , 真) 局_后面文本 = 子文本替换 (后面文本, “#引号”, #引</description></item><item><title>易语言静态编译链接器大全(为EIDE助手准备滴)</title><link>https://blog.arae.cc/post/25677.html</link><pubDate>Sat, 25 Jun 2016 14:44:50 +0800</pubDate><guid>https://blog.arae.cc/post/25677.html</guid><description>本文中的各个链接器收集于网络,汇总在一起,方便广大易友下载使用; 易语言的大部分支持库是 使用 vc6 编译, 所以, 推荐大家使用 vc6的链接器; 如果使用 其他链接库编译出现问题,或 编译出来的程序 运行存在问题,请试试更换 成 vc6 的链接器再次编译测试; 注意,其他链接器需要安装运行库才能运行,有打包一些,在对应的链接器里面 链接器名称说明: VC6核心库都是使用这个编译, 大部分库也是,推荐使用; VC7暂无说明,自行选择判断测试 VC8暂无说明,自行选择判断测试 VC9暂无说明,自行选择判断测试,带运行库 VC2010暂无说明,自行选择判断测试 VC2012暂无说明,自行选择判断测试 VC2013暂无说明,自行选择判断测试 VC2015_gatepase版本款链接器比较挑,开发端电脑必须是 Windows 7 SP1 或以上同时必须安装 VC2015 运行库(已带运行库) VC2015_hauntek版支持EXE和DLL静态编译,DLL公开的子程序名称必须是英文不能是中文!(否则无法识别公开的中文子程序名称而出现错误)支持系统核心支持库等,应用接口支持库不支持(其他支持库你们自行去测试),开发者电脑必须是 Windows 7 SP1 或以上,同时要安装 VC2015 x86 运行库,用户电脑则不需要,只要是 Windows</description></item><item><title>快速构架超级列表表项(非虚表)</title><link>https://blog.arae.cc/post/25658.html</link><pubDate>Sat, 25 Jun 2016 14:44:33 +0800</pubDate><guid>https://blog.arae.cc/post/25658.html</guid><description>全部都是真实的表项哦~~ 速度比普通添加快很多,如果数据了小于10W还是建议用这个。。 链接: http://pan.baidu.com/s/1bCnhRC 密码: 54qv</description></item><item><title>梦代码编辑框支持库 (2.1#0版)</title><link>https://blog.arae.cc/post/25680.html</link><pubDate>Sat, 25 Jun 2016 14:39:15 +0800</pubDate><guid>https://blog.arae.cc/post/25680.html</guid><description>将 mcse.fne 放到易语言目录的 lib目录中 将 mcse_static.lib 放到易语言目录的 static_lib目录中 感谢mudxni、独孤无情、可爱小浅反馈BUG。 声明:本支持库是完整的移植了火花代码编辑框,在此感谢大色秘密、小刀! 2.1更新说明: &gt;1.修复了TAB键跳到其它窗口组件。 &gt;2.修复了窗口属性里面的光标颜色和光标闪烁间隔错位。 &gt;3.对代码进行了优化减少了体积。 链接: http://pan.baidu.com/s/1kVfbb0b 密码: z14u</description></item><item><title>如何编写高质量的易语言代码?</title><link>https://blog.arae.cc/post/25654.html</link><pubDate>Sat, 25 Jun 2016 14:37:51 +0800</pubDate><guid>https://blog.arae.cc/post/25654.html</guid><description>什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。程序的时间效率是指运行速度,空间效率是指程序占用内存或者外存的状况。另外程序的效率我们也可以分为全局效率和局部效率。全局效率是指站在整个系统的角度上考虑的效率,局部效率是指站在模块或函数角度上考虑的效率。 使用整数和长整数 提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是 正确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将短整数型、小数型和双精度小数型的变量替换为整数(Integer)或长整数(Long)类型的变量,因为易语言处理整数和长整数的能力远远高于处理其它几种数据类型。 在大多数情况下,程序员选择使用小数型或双精度小数型的原因是因为它们能够保存小数。但是小数也可以保存在整数类型的变量中。例如程序中约定有三位小数,那么只需要将保存在整数型变量中的数值除以1000就可以得到结果。根据我的经验,使用整数和长整数替代短整数型、小数型和双精度小数型后,代码的运行速度可以提高将近10倍。 但是我们也不要老是强调使用使用整数和长整数,因为在程序中数据类型</description></item><item><title>软件开发人员的作战手册 - 让程序员活的久一点</title><link>https://blog.arae.cc/post/25686.html</link><pubDate>Sat, 25 Jun 2016 14:36:50 +0800</pubDate><guid>https://blog.arae.cc/post/25686.html</guid><description>1、 程序员的职业准则是:诚实(如实的报告你的状态,风险和出现的问题),守信(承诺完成的任务就要按时完成),尊重(尊重给你的代码提建议的同事,对事不对人)。 2、 写有BUG 的代码和写没有 BUG 的代码花费的时间是一样的。 3、 BUG是会成长的,存活时间越长生命力越顽强。 4、 如果一个笨方法可以解决问题,那它就不是笨方法。 5、 把你的工作分割成小时级的目标任务,你会发现你的工作会轻松很多。 6、 把你要做的工作一条一条的列在纸上,做完一个就打一个勾,你会喜欢打勾的感觉。 7、 不要问客户怎么做,问客户这么做行不行。 8、 让客户给各个功能按优先级排序,也许客户会问“反正所有功能都要完成,为什么还要优先级?”,回答:“如果一个功能做不完要杀头,另一个功能做不完要砍掉胳膊,我还是愿意先做杀头的那个”。 9、 试着跟客户交朋友。 10、 可做可不做的东西都不要做。 11、 业绩考评不一定跟加班时间成正比。 12、 不要提交没有编译过的代码。 13、 不要提交没有测试过的代码。 14、 不要提交没有被REVIEW 的代码。 15、 不要告诉测试人员怎么测试。</description></item><item><title>四则运算分析计算(非常值得学习嗷)</title><link>https://blog.arae.cc/post/25652.html</link><pubDate>Sat, 25 Jun 2016 14:35:12 +0800</pubDate><guid>https://blog.arae.cc/post/25652.html</guid><description>则运算分析计算可分析括号和负号的呦。 /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;- 链接: http://pan.baidu.com/s/1gftwx5D 密码: khjt</description></item><item><title>Zend Studio 13.0(PHP集成开发环境)</title><link>https://blog.arae.cc/post/25647.html</link><pubDate>Sat, 25 Jun 2016 14:34:51 +0800</pubDate><guid>https://blog.arae.cc/post/25647.html</guid><description>特点 1.快速代码开发与配置本地和远程调试器; 2.数据库连通性 &amp; SQL工具 团队合作环境; 3.完全 PHP 4/PHP 5 切换 PHPDocs/PHP文档处理程序支持SFTP, FTP以至SSH的安全连接 100个以上代码摘录; 4.50个以上样品数据库应用程序 与Zend Platform组合。[1] Zend Studio是当今最伟大的PHP集成开发环境 Zend Studio包括了PHP开发所有必须的部件,通过一整套编辑、调试、分析、优化和数据库工具,使用Zend Studio 缩短了开发周期,并简化了复杂的应用方案,毋庸置疑,其已经是当今世上最强大的PHP集成开发环境。 Zend Studio的强大之处,除了一般编辑器所具有的代码高亮,语法自动缩进,书签功能外,它内置的调试器更是无可挑剔,支持本地和远程(debug server)两种调试模式,支持诸如跟踪变量、单步运行、断点、堆栈信息、函数调用、查看实时输出等多种高级调试功能。另外,最新版(Zend Studio 10.01)对中文的支持也是非常稳定的。 主要组件 专业的集成开发环境内置编辑器, 调试器, 以及帮助文档 Windows, Linux, Mac 等多个操作系统版本 多语言支持 专业的编辑器 关键字、语法加亮显示 (PHP, HTML, XHTML, and Javascript) XML&amp; CSS的关键字、语法加亮显示 代码</description></item><item><title>HashMap —— 高效随机存取数据结构 ,文本索引必备</title><link>https://blog.arae.cc/post/25640.html</link><pubDate>Sat, 25 Jun 2016 14:34:32 +0800</pubDate><guid>https://blog.arae.cc/post/25640.html</guid><description>1、此HashMap类采用java jdk中HashMap的实现方式 2、相比论坛上发布过的hashtable之类的源码: &gt;此HashMap寻址方法是拉链法.比开放寻址法对连续内存要求更低 &gt;哈希函数用的是java中String.hashCode()算法(经实际验证其碰撞率极低且相近的文本散列值相邻,存取的效率更高.) &gt;可自动无限增加容量(内存允许) 3、连续10万次不同内容存取效率为,存10万次共耗时约280ms ,取10万次共耗时约330ms 。 (注意:请编译后测试效率,由于大量内存操作,编译后效率约为调试时的100倍以上。) /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;- 链接: http://pan.baidu.com/s/1qYSVPrY 密码: 7vfs</description></item><item><title>【WebKit内核】EasyCKL开源浏览器库 6.1 支持调试运行了</title><link>https://blog.arae.cc/post/25632.html</link><pubDate>Sat, 25 Jun 2016 14:33:50 +0800</pubDate><guid>https://blog.arae.cc/post/25632.html</guid><description>下面是原作者的介绍 &gt;EasyCKL是一款基于某开源浏览器内核的浏览器库,使用C/C++编写,为易语言提供web浏览框的库。EasyCKL是phewyyx编写发布。 EasyCKL基于国际领先的开源浏览器内核,支持HTML5等现代web标准,同时兼容XP、Vista、7、8、8.1、10操作系统,比超文本框具有兼容性好,速度快,支持新web标准等优点。 /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash; 链接: http://pan.baidu.com/s/1o89xgMI 密码: vt73</description></item><item><title>树形框-插入项目,字节集操作</title><link>https://blog.arae.cc/post/25679.html</link><pubDate>Sat, 25 Jun 2016 14:32:50 +0800</pubDate><guid>https://blog.arae.cc/post/25679.html</guid><description>扩展界面支持库的树形框中,有加入项目和删除项目,但是没有插入项目。 于是这个源码诞生了,操作字节集,在指定位置插入一个新项目! 注意:在实际应用中,应该灵活变通,不要照搬源码!不然数据大的话可能效率低下!这样写只是为了更好的理解树形框项目结构! /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash; 链接: http://pan.baidu.com/s/1pKJomnh 密码: uc4a</description></item><item><title>EDB - 易数据库查看器</title><link>https://blog.arae.cc/post/25637.html</link><pubDate>Sat, 25 Jun 2016 14:25:36 +0800</pubDate><guid>https://blog.arae.cc/post/25637.html</guid><description>查看易语言数据库(EDB文件)的源码 可设置文件关联,关联后双击EDB文件直接打开 链接: http://pan.baidu.com/s/1bpzAfYR 密码: 2qtu</description></item><item><title>易语言使用v8引擎(基于UseDotNet)</title><link>https://blog.arae.cc/post/25670.html</link><pubDate>Sat, 25 Jun 2016 14:18:10 +0800</pubDate><guid>https://blog.arae.cc/post/25670.html</guid><description>易语言使用v8引擎(基于UseDotNet) v8.e 中的 V8Engine类 与 Handle类 是由 类库查看器生成的代码 链接: http://pan.baidu.com/s/1o7OFUFg 密码: vi3e</description></item><item><title>易用7z压缩管理软件 1.0 源码(API实现非调用7z命令行)</title><link>https://blog.arae.cc/post/25660.html</link><pubDate>Sat, 25 Jun 2016 14:17:32 +0800</pubDate><guid>https://blog.arae.cc/post/25660.html</guid><description>1、根据论坛老同志开源的7Z核心升级改造后加入GUI界面 2、此代码里面的API是全网最新的,因为本人研究了开发文档,补充了几个API函数,例如打开一个压缩包不需要解压可以直接判断是否加密,压缩密码是否正确等,里面已经附带了开发文档和7z.dll的C++源码 3、里面包含了几个版本的unrar(非rar自带的那个)的DLL调用开发文档和C++源码 4、关于7Z的自解压制作(非调用7z命令行),目前没时间做,过段时间再做,到时候发源码 /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash; 链接: http://pan.baidu.com/s/1slvdOOt 密码: yzsu</description></item><item><title>图片相似度算法,可识别出缩放,拉伸,亮暗后的同一张图片</title><link>https://blog.arae.cc/post/25653.html</link><pubDate>Sat, 25 Jun 2016 14:17:25 +0800</pubDate><guid>https://blog.arae.cc/post/25653.html</guid><description>通过感知哈希的算法,算出每一张图片的感知哈希值进行对比,如果返回值为0,则表示这两张图片非常相似,如果返回值小于5,则表示有些不同,但比较相近,如果返回值大于10则是完全不同的图片 最大的特点就是快,而且对变形和颜色亮度不敏感 应用范围: 识别出同一张图片的缩略图或者通过缩略图识别出原图, 进行相似图片检索等等 程序依赖:云外归鸟的图像处理支持库 链接: http://pan.baidu.com/s/1o7X3woy 密码: 49pi</description></item><item><title>异常通知辅助模块 5.3 (try/catch)</title><link>https://blog.arae.cc/post/25656.html</link><pubDate>Sat, 25 Jun 2016 14:17:22 +0800</pubDate><guid>https://blog.arae.cc/post/25656.html</guid><description>模块介绍: 该模块功能是补足易错误管理器无法捕捉的异常。 本模块可以截获许多异常,比如内存读写错误,非法汇编指令,算术异常,其他异常等等。 本模块拥有try/catch的异常处理模型,支持多层嵌套,支持向上处理。允许用户自己设定跳过致命异常。 并且支持易原错误管理器接管 建议配合配套工具使用更加好用 模块修改日志: 对未处理的throw_text,提示text 修复:不能取消捕获异常 修复:全局变量类型为X类,X类中的_销毁调用 __DbgName 可能崩溃的问题 强制在非调试状态下使用普通跟踪,在发布版使用劫持跟踪 模块辅助工具更新日志: 1、支持@@skin(跳过)和@@notskin(取消跳过)标记 2、支持记录 程序集/类 名称 3、支持记录 程序/模块 名称 链接: http://pan.baidu.com/s/1nvLAuQd 密码: nyeq</description></item><item><title>易语言5.5版中IDE插件支持库实例</title><link>https://blog.arae.cc/post/25666.html</link><pubDate>Sat, 25 Jun 2016 14:14:14 +0800</pubDate><guid>https://blog.arae.cc/post/25666.html</guid><description>易语言5.5版更新开放了很多IDE接口功能,现在我们能很方便的编写易语言的IDE插件了,而且你也不用担心你只会易语言能不能使用。 下面发的这个代码就是易语言完成的,代码很少很少,应该都能看懂的。 下面来个效果图: 本支持库实现了在易语言IDE输出栏添加一个子夹,并且自动添加易语言运行目录下的ecom模块库文件夹中的模块,当选中指定模块的时候自动添加到模块引用表中(需要已经打开或者新建了易源码程序)。 还未完善,只是一个简单的示例。给大家一个使用IDE接口功能的样板而已。 使用方法:下载源码后,编译出DLL文件,然后将DLL的文件扩展名修改为.fne 然后放入易语言安装目录的 lib 目录中,启动易语言,支持库设置中勾选 洫蜘蛛IDE插件 支持库。 /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash; 链接: http://pan.baidu.com/s/1geCcXxh 密码: em2p</description></item><item><title>易语言汇编rc4算法源码</title><link>https://blog.arae.cc/post/25674.html</link><pubDate>Sat, 25 Jun 2016 14:11:22 +0800</pubDate><guid>https://blog.arae.cc/post/25674.html</guid><description>易语言汇编rc4算法源码例程程序结合易语言数据操作支持库,置入汇编代码实现rc4算法计算。 链接: http://pan.baidu.com/s/1qYvLORE 密码: 5q2n</description></item><item><title>易语言强行兼容高DPI源码</title><link>https://blog.arae.cc/post/25673.html</link><pubDate>Sat, 25 Jun 2016 14:10:25 +0800</pubDate><guid>https://blog.arae.cc/post/25673.html</guid><description>易语言强行兼容高DPI源码例程程序结合易语言模块,调用API函数实现强行兼容屏幕高精度像素效果。 兼容高DPI是个困难的活儿,除非你是用的WPF写界面,其他编程语言都很麻烦(特别是易语言,原生窗体基本别想兼容了。。) 链接: http://pan.baidu.com/s/1czCgzW 密码: n3tb</description></item><item><title>易语言5.5 IDE 全部接口模块 完整插件接口源码</title><link>https://blog.arae.cc/post/25664.html</link><pubDate>Sat, 25 Jun 2016 14:07:45 +0800</pubDate><guid>https://blog.arae.cc/post/25664.html</guid><description>前面的模块吧 编辑-替换指定文本()的替换参数类型设置错误了应该是 替换参数 不是 参数信息 现在改正了。 下面有个支持库壳有简单的功能,可使用上面模块继续改造添加功能(有易语言工具菜单添加功能) /&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash; 链接: http://pan.baidu.com/s/1mhSNK5y 密码: x7kt &lsquo;模块 链接: http://pan.baidu.com/s/1eRXJJ5S 密码: pgwk</description></item><item><title>HP-socket 3.4.3 支持库 (高性能TCP/UDP通讯组件)预支持SSL</title><link>https://blog.arae.cc/post/25644.html</link><pubDate>Sat, 25 Jun 2016 14:04:12 +0800</pubDate><guid>https://blog.arae.cc/post/25644.html</guid><description>易语言的Demo在目录HP-Socket\Demo里面 HPsocket是一款免费的高性能通讯组件,经过本人测试,值得推荐给大家!!! ( HPsocket的作者很重视易语言用户,对易语言的支持也做到了尽心尽责,不但提供了DLL的支持而且还提供了易语言支持库 ,感动~~~) HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节。 为了让使用者能方便快速地学习和使用 HP-Socket ,迅速掌握框架的设计思想和使用方法,特此精心制作了大量 Demo 示例(如:PUSH 模型示例、PULL 模型示例、PACK 模型示例、性能测试示例以及其它编程语言示例)。HP-Socket 目前运行在 Windows 平台,将来会实现跨平台支持。 链接: http://pan.baidu.com/s/1gfHIOnh 密码: 6ysw</description></item><item><title>关于 & 赞助</title><link>https://blog.arae.cc/z/about.html</link><pubDate>Mon, 22 Dec 2014 12:39:04 +0800</pubDate><guid>https://blog.arae.cc/z/about.html</guid><description>关于 { &quot;code&quot;: 200, &quot;msg&quot;: &quot;success&quot;, &quot;user&quot;: [ { &quot;uid&quot;: 1, &quot;nicname&quot;: &quot;25H&quot;, &quot;sex&quot;: undefined, &quot;reside&quot;: &quot;中国 黑龙江 哈尔滨&quot;, &quot;motto&quot;: &quot;There is only one me in this world.&quot;, &quot;contacts&quot;: { &quot;mobile&quot;: null, &quot;QQ&quot;: &quot;1982882666&quot;, &quot;email&quot;: [ &quot;su[at]arae[dot]cc&quot;, &quot;kvso369[at]live[dot]com&quot; ], &quot;steam&quot;: &quot;https://steamcommunity.com/profiles/76561198377978539/&quot; }, &quot;skill&quot;: [ &quot;C艹 · 渣渣&quot;, &quot;PHP · 渣渣&quot;, &quot;Go · 渣渣&quot;, &quot;Java · 渣渣&quot;, &quot;Python · 渣渣&quot;, &quot;HTML/CSS · 渣渣&quot;, &quot;睡觉/吃饭 · 精通&quot; ], &quot;tag&quot;:[ &quot;90后&quot;, &quot;夜猫子&quot;, &quot;处女座&quot;, &quot;Google党&quot;, &quot;Bug制造者&quot; ] } ], &quot;site&quot;: { &quot;frame&quot;: &quot;Hugo&quot;, &quot;theme&quot;: &quot;Rolla&quot;, &quot;hosted&quot;: [ &quot;Github&quot;, ], &quot;storage&quot;: null, &quot;copyright&quot;: &quot;ARAE.CC&quot;, &quot;license&quot;: &quot;CC BY-NC-SA 4.0&quot;, &quot;license_url&quot;: &quot;https://creativecommons.org/licenses/by-nc-sa/4.0/&quot;, &quot;changeLog&quot;: [ {&quot;date&quot;: &quot;1970/01/01&quot;, &quot;t&quot;: &quot;Hello world.&quot;}, {&quot;date&quot;: &quot;2019/08/20&quot;, &quot;t&quot;: &quot;Hexo迁移到Hugo&quot;}, {&quot;date&quot;: &quot;&quot;, &quot;t&quot;: &quot;&quot;} ] } } 打赏 &amp; 赞助 打赏列表 2021-10-01 前支付宝记录已丢失。 列表我会尽量在一个月内更新一次 2023 时间 金额 昵称 备注 2023-01-03 10元 光与影 为众人抱薪者,不可使其扼于风雪 2023-01-16 3元 安知我非鱼 穷哥们,小小的支持下 2023-01-22 33元 Valuex to Maye Lite 开发者,新年快乐 2023-01-27 9.99元 123456 hoochanlon 2023-02-14 1元 Valuex - 2023-02-20 8.88元 *泽 感谢大佬制作的这么好的软件! 2023-03-06 16元 *杨 maye不错请大佬喝奶茶 2023-03-08 6.66元 浮筠 大佬 2022 时间 金额 昵称 备注 2022-01-02 33元 *亮 期待不依赖运行库 2022-01-05 5元 *江</description></item><item><title>友链 & Link</title><link>https://blog.arae.cc/z/links.html</link><pubDate>Mon, 22 Dec 2014 12:39:04 +0800</pubDate><guid>https://blog.arae.cc/z/links.html</guid><description>.linkpage ul:after { content: " "; clear: both; display: block; } .linkpage li { float: left; width: 48%; position: relative; transition: all .3s ease-out; border-radius: 5px; line-height: 1.3; height: 90px; list-style: none; } .linkpage li:hover { background: rgba(230,244,250,.5); } .linkpage li:hover a h4 { color: #51aded !important; } .linkpage li a { display: block; padding: 0 10px 0 90px; height: 90px; color: #555; } .linkpage li a img { width: 60px; height: 60px; border-radius: 50%; position: absolute; top: 15px; left: 15px; cursor: inherit; } .linkpage li a h4, .linkpage li a p { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; line-height: 1.4; } .linkpage li a h4 { color: #333; font-size: 18px; margin: 0 0 5px 0; transition: .5s; padding-top: 20px; } .linkpage li a p { font-size: 12px; color: #999; margin-top: 5px; line-height: 24px; } @media(max-width:460px) { .linkpage li { width: 97% } .linkpage ul { padding-left: 5px } } dalao们的链接 TianYu 偶尔做个读书人 吴佳轶 学习的最好方式是分享 Moehentai 一只鹅の瞎扯淡 0wo动漫 兴趣使然的动漫小站 阿酷杂货铺 优质互联网资源分享 名称 描述 -- 失效的链接 展开/收缩 。。。 名称 描述 -- 交换链接 展开/收缩 我的信息 名称:25H Blog 地址:http://arae.cc/ 头像: https://secure.gravatar.com/avatar/c9cf6da779f3ebb2dacf789ce218736b?s=200 https://q.qlogo.cn/g?b=qq&amp;nk=505246742&amp;s=640 格式 &nbsp;&nbsp; 发送到:505246742[at]qq[dot]com 名称:*** 地址:*** 描述:*** [可空] 头像:*** [可空] (建议大于100*100,推荐用Gravatar) 位置:*** (首页、内页) PS:首页友链仅支持「名称」、「地址」 友链须知 发送前请先加我为友链 稳定、健康,内容数≥10 Google、Bing、DuckDuckGo 等有收录 没有nofollow标记、搜索引擎可正常抓取</description></item><item><title>项目</title><link>https://blog.arae.cc/z/projects.html</link><pubDate>Mon, 22 Dec 2014 12:39:04 +0800</pubDate><guid>https://blog.arae.cc/z/projects.html</guid><description>名称 属性 创建 首发 状态 链接 Arae Package 免费 2021.10.13 2021.10.13 维护更新 点击进入 Maye Lite 免费 2021.11.03 2022.01.01 开发更新 点击进入 Maye (Maya) 免费 2019.10.01 2020.11.01 开发更新 点击进入 DeLog 免费 2021.02.10 2021.02.23 停更 点击进入 AMZ 免费 2018.08.01 2019.01.01 维护更新 点击进入 EIDE助手 免费 2016.05 - 停更 (转至AMZ) 点击进入 点击进入查看更多作品</description></item><item><title>状态 - 25801</title><link>https://blog.arae.cc/t/25801.html</link><pubDate>Tue, 01 Jan 1980 00:01:01 +0800</pubDate><guid>https://blog.arae.cc/t/25801.html</guid><description>test</description></item><item><title>Markdown 语法整理</title><link>https://blog.arae.cc/post/25645.html</link><pubDate>Thu, 01 Jan 1970 01:00:00 +0800</pubDate><guid>https://blog.arae.cc/post/25645.html</guid><description>概述 Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。 总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。 标题 Code # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // 错误代码 ######## h8 // 错误代码 ######### h9 // 错误代码 ########## h10 // 错误代码 Demo 注:h1最大,h6最小 分级标题 Code 注:= - 最少可以只写一个,兼容性一般 一级标题 ====================== 二级标题 --------------------- Demo TOC Code 注:根据标题生成目录,兼容性一般 [TOC] Demo 引用 Code &gt; hello world! Demo hello world! Code-2 [多行式] &gt; hello world! hello world! hello world! 或者 &gt; hello world! hello world! hello world! Demo-2 [多行式] 结果相同 hello world! hello world! hello world! Code-3 [多层嵌套] &gt; aaaaaaaaa &gt;&gt; bbbbbbbbb &gt;&gt;&gt; cccccccccc Demo-3 [多层嵌套] aaaaaaaaa bbbbbbbbb cccccccccc Code-4 [多层多个元素] 注:代码前 3个</description></item><item><title>Hello World</title><link>https://blog.arae.cc/post/25642.html</link><pubDate>Thu, 01 Jan 1970 00:00:00 +0800</pubDate><guid>https://blog.arae.cc/post/25642.html</guid><description>}} -- 标题 /* * title 标题 */ {{&lt; title title=&quot;测试标题&quot; &gt;}} 提示框 /* * color 颜色值(1-4 默认1,可空) */ {{&lt; alert color=&quot;&quot; &gt;}}测试内容{{&lt; /alert &gt;}} 测试内容 测试内容 测试内容 测试内容 面板 /* * color 颜色值(1-4 默认1,可空) * title 标题(可空) */ {{&lt; panel color=&quot;&quot; title=&quot;&quot; &gt;}}测试内容{{&lt; /panel &gt;}} 测试内容 标题 测试内容 标题 测试内容 标题 测试内容 标题 测试内容 展开/收缩 /* * title 标题(可空,默认'展开/收缩') * show 默认显示(可空,默认false) */ {{&lt; collapse title=&quot;&quot; show=&quot;&quot; &gt;}}测试内容{{&lt; /collapse &gt;}} 展开/收缩 测试内容 标题 测试内容 标题 测试内容 隐藏文本 {{&lt; hide &gt;}}测试内容{{&lt; /hide &gt;}} 测试内容测试内容 下载按钮 /* * title 标题(可空,默认'点击下载') * url 下载链接 */ {{&lt; downbtn title=&quot;下载&quot; url=&quot;&quot; &gt;}} &nbsp;点击下载 &nbsp;下载 表情 /* * name 名称 */ {{&lt; face name=&quot;滑稽&quot; &gt;}} 表情列表 表情测试 $('.rolla-face-list img').on('click', function () { layer.open({ type: 1, area: ['390px', '75px'], title: false, closeBtn: 0, shadeClose: true, resize: false, scrollbar: false, content: '}}\' style="height: 35px; width: 350px; margin: 20px;"' }); });</description></item></channel></rss>