g00001 最近的时间轴更新
g00001

g00001

V2EX 第 47953 号会员,加入于 2013-10-26 06:56:08 +08:00
根据 g00001 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
g00001 最近回复了
部署非官方的文档网站对于一个需要频繁更新的产品确实会带来不必要的混乱和维护上的困难。

即使有开放的开源协议也不等于可以为所欲为,WinXray 是公共域开源,但是就有人抢注域名并在 GitHub 伪造大量虚假代码提交冒充官方,一个钓鱼项目欺骗了上千 star,你跟这些人讲道德规范?!抱歉他字典里没这东西。

问题不在于什么开源协议,即使你拿掉这个开源协议,明令禁止这样做,结果还是一样会有人这样干。写不出优秀的作品,能被一个优秀作品的作者怒喷 —— 毕竟也能让很多人找到在这个网络的存在感。
28 天前
回复了 Apple2023 创建的主题 iPhone 百度输入法 VS 搜狗输入法
Windows 10 上只需要一个小小的开源软件 wubiLex ( 900 KB ), 就可以使系统输入法摇身一变为各种输入法,这个软件自带一堆五笔 86 、98 、091 、新世纪方案的各种词库,还可以将微软五笔一键变为小鹤音形、郑码输入法。快捷打开、关闭、切换微软五笔、微软拼音、各种双拼方案、自动安装小鹤双拼方案。提供强悍的用户短语管理、可编程的超级热键功能,各种输入方案的图形反查拆解笔顺动画。

不用再倒腾第三方输入法了。
30 天前
回复了 ling516 创建的主题 Windows 图片识别软件 OCR,哪个最好 免费开源的
如果是要工具,找个现成的就可以了。
自己写代码生成 EXE 也很简单,其实 Windows 系统自带一个很不错的 OCR 组件,可以免费用, 下面写个例子:例如在屏幕上找到这个帖子的标题,然后把鼠标移动过去,aardio 代码:

import mouse;
import dotNet.ocr;
var ocr = dotNet.ocr();

var ocrResult = ocr.detectScreen()
var x,y = ocrResult.findPoint("图片识别软件 OCR,哪个最好 免费开源的",0.1);
mouse.moveTo(x,y,true)


或者免费开源的 chineseocr_lite 也不错,用 aardio 调用 chineseocr_lite 的例子:

import mouse;
import string.ocrLite;
import string.ocrLite.defaultModels;

var ocr = string.ocrLite();
var ocrResult = ocr.detectScreen()
var x,y = ocrResult.findPoint("图片识别软件 OCR,哪个最好 免费开源的",0.1);
mouse.moveTo(x,y,true)
30 天前
回复了 ling516 创建的主题 Windows win10 文件夹文件名批量修改工具哪个最好
还是自己写代码好啊,想怎么改就怎么改,
用 aardio 写这种工具非常简单,aardio 自带的范例 “文件操作 / 批量处理” 就有批量重命名工具的源码,可以设定后缀名,文件名匹配规则、甚至是自己指定替换函数。

关键代码其实就是调用 fsys.enum() 函数遍历文件:

import fsys;
fsys.enum( "/指定要遍历的目录路径", "*.*",
function(dir,filename,fullpath,findData){

});

上面的 "*.*" 指定后缀名,支持通配符,可用数组指定多个后缀名,例如 {"*.jpg","*.png"}
在回调函数里存在 filename 变量就是遇到一个文件( 否则就是遇到一个目录 )。

注意:遍历完了以后再实际修改文件名。

如果是中间需要调用 excel 那也很简单,
aardio 读取 Excel 只要加几句代码就搞定了:

import com.excel;
var excel = com.excel();
var sheet = excel.ActiveWorkbook.Sheets(1);

//遍列所有单元格
for(i,values in excel.eachValue(1) ){
//这里 i 是行号,values 是一个数组包含所有列的值
}
30 天前
回复了 sepwolves 创建的主题 Windows 哪里有 AHK 的中文讨论区?
作为 Windows 开发工具,就说说调用 API 这种简单的事,aardio 代码这样:

var fileTime = {
int lowDateTime;
int highDateTime;
}
::Kernel32.SystemTimeToFileTime( time(),fileTime )



AutoIt 代码这样:

$SYSTEMTIME = DllStructCreate("ushort;ushort;ushort;ushort;ushort;ushort;ushort;ushort")
$lpSYSTEMTIME = DllStructGetPtr($SYSTEMTIME)
$LOCALFILETIME=DllStructCreate("dword;dword")
$lpLOCALFILETIME = DllStructGetPtr($LOCALFILETIME)
DllStructSetData($SYSTEMTIME, 1, $Year)
DllStructSetData($SYSTEMTIME, 2, $Month)
DllStructSetData($SYSTEMTIME, 3, _DateToDayOfWeek($Year,$Month,$Day)-1)
DllStructSetData($SYSTEMTIME, 4, $Day)
DllStructSetData($SYSTEMTIME, 5, $Hour)
DllStructSetData($SYSTEMTIME, 6, $Minute)
DllStructSetData($SYSTEMTIME, 7, 0)
DllStructSetData($SYSTEMTIME, 8, 0)
$result = DllCall("kernel32.dll", "long", "SystemTimeToFileTime", "ptr", $lpSystemTime, "ptr", $lpLocalFileTime)
If $result[0] = 0 Then
Local $lastError = DllCall("kernel32.dll", "int", "GetLastError")
SetExtended($lastError[0])
SetError(1)
Return 0
EndIf



AutoHotkey 代码这样:

VarSetCapacity(MyFiletime , 64, 0)
VarSetCapacity(MySystemtime, 32, 0)
DayOfWeek=00
Second=00
Millisecond=00
InsertInteger(Year, MySystemtime, 0)
InsertInteger(Month, MySystemtime, 2)
InsertInteger(DayOfWeek, MySystemtime, 4)
InsertInteger(Day, MySystemtime, 6)
InsertInteger(Hour, MySystemtime,8)
InsertInteger(Min, MySystemtime,10)
InsertInteger(Second, MySystemtime,12)
InsertInteger(Millisecond, MySystemtime,14)
DllCall("SystemTimeToFileTime", Str, MySystemtime, UInt, &MyFiletime)
LocalFiletime := ExtractInteger(MyFiletime, 0, false, 64)
VarSetCapacity(MyUTCFiletime , 64, 0)
DllCall("LocalFileTimeToFileTime", Str, MyFiletime, UInt, &MyUTCFiletime)
UTCFiletime := ExtractInteger(MyUTCFiletime, 0, false, 64)


AutoHotkey,AutoIt 写代码其实啰嗦又费事 ,
当然 AutoHotkey 实现简单的热键功能是不错。


aardio 还提供了一个 ahk 扩展库,可以嵌入 AutoHotkey 代码,aardio 与 AutoHotkey 可以相互调用对方的函数。另外 aardio 还可以嵌入十几种其他的第三方编程语言。
按 // 再切换中文打注释嘛,
倒是有种情况确实需要混用中英文标点,例如中文里输入数值后面打小数点、千位分隔符等等。
有些输入法在数值后面可以自动切换英文标点,但微软五笔就没这功能( 下载一个开源软件 wubiLex 可以解决 )。
38 天前
回复了 JKeita 创建的主题 问与答 桌面端应用调用 HTML 登录页是怎么实现的。
WebView2 基于 Edge 但与 Edge 完全分离,支持 WIN7,WIN10,WIN11,WIN11 已经自带 WebView2,Office 也会自动安装 WebView2,目前已经有 2 亿台电脑安装了 WebView2,并且未来大概率会完全普及。

使用 WebView2 的软件会公用一个运行时,由系统维护并且会自动更新内核。且 WebView2 的下载安装速度很快,在国内仍然瞬间就能下载安装好。aardio 里的 WebView2 在调用时就会自动检测,如果没有安装会自动安装 —— 瞬间完成用户体验很好。

WebView2 用来开发桌面软件的优势是与本地语言交互的接口很简洁,比 Electron 笨拙的多进程交互方便太多。用 aardio 实现的一个例子:


如果只是为了做登录窗口,也可以考虑 Sciter JS (支持跨平台) , 可以理解为一个迷你版的 WebView2,而且对桌面开发友好,提供了很多传统网页没有的接口和功能,体积和占用的内存都非常小。Sciter 的前身 HTMLayout,体积更小(只有 2MB ),做出来的界面也非常炫。其实可以用 HTML 写界面的方案很多,aardio 范例里就提供了很多这样的例子:


aardio 还可以在任意能执行 JavaScript 的浏览器里通过 aardio.js 调用 aardio 程序导出的函数(调用标准库 web.rpc.externalServer )。
54 天前
回复了 ghmum 创建的主题 Windows windows10 上有没有快速调节系统缩放的工具
aardio 代码:

// 修改系统 DPI ( 175 / 默认缩放 自动切换 )
import gdi;
import sys.dpi;
sys.dpi.scaling(gdi.getDpiScale()!=1.75 && 175)

// 修改显示器分辨率
import sys.monitor;
sys.monitor.changeMode(pelsWidth=1920,pelsHeight=1080)
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1995 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 15:50 · PVG 23:50 · LAX 08:50 · JFK 11:50
♥ Do have faith in what you're doing.