Search found 183 matches

by amnesiac
21 Aug 2014, 21:25
Forum: 教程资料
Topic: 消息使用简介
Replies: 0
Views: 6468

消息使用简介

注:本文原计划为三个部分,目前后两个部分仍在整理中。 导言:许多新人、甚至一些使用不短时间脚本的用户对消息都比较陌生,看到使用消息的代码时总感觉玄而又玄,他们怎么知道可以用消息?消息中的那些参数是哪里来的?什么时候或什么场合可以考虑用消息?在自己的图形界面中如何自定义消息?本文尝试回答这些问题,让大家对消息有个大概的认识。 消息机制是 Windows 系统中的一种通讯方式,简单的说就像人与人之间使用的短信。它是 Windows 发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使 Windows 发送一个消息给应用程序。 帮助中相关内容: Send...
by amnesiac
20 Aug 2014, 21:42
Forum: 教程资料
Topic: 通过 ADO 访问结构化文本文件
Replies: 1
Views: 15106

通过 ADO 访问结构化文本文件

注:本文改写自微软知识库文章,待找到源网址后补上。 导言:本文将讲述如何使用 ADO 访问定界和等宽的文本文件,以及为什么这么做会更好。 何谓定界文件 定界文件是指包含由标准的字符分隔开的每个值的文本文件。例如包含下面这样姓、名和中间的首字母组成的文本: LastName,FirstName,MiddleInitial Myer,Ken,W Poe,Deborah,L 如果值里面包含分隔符,则必须把整个值括在引号中,例如: 105,"cn=Ken Myer,ou=Accounting,ou=North America,dc=fabrikam,dc=com","Fiscal Specialist...
by amnesiac
20 Aug 2014, 03:09
Forum: 请求帮助
Topic: 【已解决】如何判断一个字符串匹配另一个含中文字符串的一部分
Replies: 9
Views: 8028

Re: 如何判断一个字符串匹配另一个含中文字符串的一部分

好吧,也许你没有兴趣,这样的话我贴完代码后也把问题修改为 [SOLVED] 。 下面这种方案可满足主题中所述各种情况: 支持多音字; 支持全拼、简拼或可部分全拼部分简拼; 若存在匹配,能正确返回目标字符串中的匹配位置; 下面的代码仅为演示这种方案,可能有些边际情况仍需进一步处理(如需保持某些特殊字符为原义),欢迎自行调整: FileRead, Uni2Pinyin, f:\Uni2Pinyin.mb /* Tab 分隔的多列文本,首列为汉字的 Unicode 编码,后续为拼音。如: 4E07 wan mo */ prase := "keyyx" ; 用户输入的字符串。 ChnStr := "哦...
by amnesiac
19 Aug 2014, 03:25
Forum: 教程资料
Topic: 网页自动化初级教程
Replies: 13
Views: 69038

网页自动化初级教程

注:本文待更新11目标网页已失效(考虑替换为 http://ahkscript.org/boards/search.php)22简介 iWebBrowser2 的用法(另:本文作为网页自动化的教程似乎过于简单,以后可能完全重写)。 本文翻译并改写自官网的两篇教程,因为它们写的都通俗易懂,不论您之前对 HTML 了解多少,相信在学习本文后都能轻松入门: Basic Webpage Controls with JavaScript / COM (作者:jethrow) Basic Ahk_L COM Tutorial for Webpages (作者:Mickers) 本文说明 本文的目的是让普通...
by amnesiac
18 Aug 2014, 21:54
Forum: 教程资料
Topic: 正则表达式快速入门
Replies: 5
Views: 32162

正则表达式快速入门

导言:这个简单的入门向导主要是让您明白正则表达式是什么、能做什么、以及如何在 AutoHotkey 中使用它。注意这里介绍的正则表达式基于 AutoHotkey 所使用的 PCRE 引擎,在其他语言中特性和语法可能有差异。例如 SciTE 编辑器也支持正则表达式,不过风格不一样。 帮助中的相关部分: RegEx: Quick Reference RegExMatch() RegExReplace() RegEx: Callouts RegEx: SetTitleMatchMode 简明规则介绍 也许您以前曾听说过正则表达式,或曾看过别人写的式子,感觉它像天书一样复杂。不过,只要您跟我一步步操作...
by amnesiac
18 Aug 2014, 20:14
Forum: 请求帮助
Topic: 【已解决】如何随机生成汉字?
Replies: 2
Views: 2637

Re: 如何随机生成汉字?

我的想法是从汉字的 Unicode 区间中获取伪随机的编码,通过 Chr() 转汉字。
代码简单,不贴了。

PS:如果方便,对于已解决的问题请在标题前加 [SOLVED],谢谢。
by amnesiac
18 Aug 2014, 05:34
Forum: 教程资料
Topic: 脚本主窗口的妙用
Replies: 0
Views: 10616

脚本主窗口的妙用

导言:一些游戏在运行时能检测并屏蔽脚本外挂,原理是什么?有什么办法可以知道当前系统中开了多少脚本?包括使用默认托盘图标、自定义图标甚至隐藏了托盘图标的脚本。还有,能发现已编译成可执行文件的脚本吗?是否能控制这些脚本?? 检测在运行的脚本 获取系统中当前运行的所有 AutoHotkey 脚本的信息(下面的脚本获取脚本标题和进程路径): DetectHiddenWindows, on WinGet, AHKWinList, List, ahk_class AutoHotkey Loop, %AHKWinList% { AHKWinHWND := AHKWinList%A_Index% WinGet...
by amnesiac
18 Aug 2014, 05:22
Forum: 教程资料
Topic: 学习 WMI 从代码转换开始
Replies: 0
Views: 5572

学习 WMI 从代码转换开始

导言:WMI 功能强大,尤其在系统管理方面,即使你不打算使用它,你也几乎一定会遇到使用它的代码。但由于 WMI 体系结构庞大,因此初学者 学习 WMI 的难点在于如何找到适合的命名空间、类和相应的属性、方法或事件来实现我们需要的功能 。不过很容易注意到,使用 WMI 的代码结构异常简单且网上(尤其是 MSDN)有大量现成的实现各种各样功能的 WMI 代码,所以如果能找到使用其他脚本语言的 WMI 代码并将其转换为 AutoHotkey,那么就绕过了这个难点。 目前关于 Windows 系统管理的脚本中,以 VBScript(现在似乎升级成 VB.NET,我不甚了解)居多(例如 MSDN 中的 ...
by amnesiac
18 Aug 2014, 05:09
Forum: 教程资料
Topic: 使用 ADO 操作 Excel 文档
Replies: 3
Views: 19379

使用 ADO 操作 Excel 文档

注:本文改写自微软知识库文章,待找到源网址后补上。 Office 家族系列软件功能强大,更强大的是通过相应的对象模型可以把这些软件脚本化,唯一的问题可能是每个软件都有自己专用对象模型。例如如果要操作 Word 或 Excel,您必须学习两种对象模型,这样并不是说学习它们很难,意思是例如知道如何添加数据到 Word 文档并不能给您在添加数据到 Excel 文档时带来多少帮助。 所以在一些只需要执行基本操作的情况下,使用 ADO 操作 Excel 文档可能是较好的选择。比起 Excel 对象模型,使用 ADO 具有以下优点: ADO 对象模型简单易学。 ADO 且可用于 CSV、TSV、xls、m...
by amnesiac
18 Aug 2014, 05:01
Forum: 教程资料
Topic: 传统形式与表达式
Replies: 0
Views: 4634

传统形式与表达式

导言:本篇中主要专注于 AutoHotkey 中容易引起困惑的传统形式和表达式两种风格,进行比较并提供一些建议,以尽可能去除在学习或使用过程中的困惑。 从示例开始 有人提问( 加不加括号,效果截然不同 • AHKScript ),在帮助文档 ListView 的一个示例中(注:这里只是片段,完整代码请参阅帮助 ListView 页面 ): GuiContextMenu: if A_GuiControl <> MyListView return Menu, MyContextMenu, Show, %A_GuiX%, %A_GuiY% return 然后他做了点小小的修改(把 If 后的部分加在...
by amnesiac
18 Aug 2014, 04:57
Forum: 教程资料
Topic: COM 对象的进程内、外运行
Replies: 1
Views: 14274

COM 对象的进程内、外运行

注:本文改写自微软知识库文章,待找到源网址后补上。 正餐外来甜点,点缀生活。总结性的文章尽管有内容,但一般比较长、看起来也累,而实用脚本可能某些读者用不上(可能是暂时),虽然我写的时候告诉你所以然,所以本文既非总结性内容,也非实用脚本,可无需打开编辑器运行实践,但还是能了解些东西的。 下面我们编写一个脚本,让它创建一个 Internet Explorer 实例,并在屏幕上显示,在暂停 10 秒钟后退出: objIE := ComObjCreate("InternetExplorer.Application") objIE.Visible := True Sleep, 10000 MsgBox,...
by amnesiac
18 Aug 2014, 04:53
Forum: 教程资料
Topic: 实用 AutoHotkey 脚本推荐
Replies: 0
Views: 18584

实用 AutoHotkey 脚本推荐

下面某些脚本在目前的 AutoHotkey 版本上执行时可能需要调整,这里许多脚本也很有趣。 AutoHotkey 帮助中的脚本展示 这里随意选几个例子: Screen Magnifier [屏幕放大镜] (作者: Holomind) Mouse Gestures [鼠标手势] (作者: deguix) IntelliSense [智能感应] (作者: Rajat) On-Screen Keyboard [屏幕键盘] (作者: Jon) 更多的脚本请到帮助页面,请点击上面的标题直达。 论坛及其他站点收集的脚本 这里的论坛包括官方论坛( 新论坛 、 旧论坛 )和 中文论坛 , AHK 版的俄罗斯...
by amnesiac
18 Aug 2014, 03:57
Forum: 脚本函数
Topic: amnesiac 的 Everything 热键
Replies: 0
Views: 5199

amnesiac 的 Everything 热键

导言: Everything 是个不错的软件,许多人应该都将它列为开机启动的程序之一。它本身提供了热键功能,包括新建窗口、显示窗口和切换窗口,通过切换窗口用热键控制激活和隐藏 Everything 在实际中足够了(如下图),所以下面这个脚本并不很必要。不过如果用类似的方式控制 Total Commander 效果就出来了,它较小众所以这里不作为例子。 20140813000.png 在启动 Everything 后,用一个热键可激活其搜索窗口(当最小化或隐藏时)、隐藏其窗口(当活跃时)。 脚本 ; 环境:WIN_XP; AutoHotkey 1.1.15.00 Unicode; Everyth...
by amnesiac
18 Aug 2014, 03:25
Forum: 脚本函数
Topic: 粘贴网页内容时附上来源
Replies: 0
Views: 4167

粘贴网页内容时附上来源

许多朋友经常摘录一些网页内容到其他地方,供查阅、编辑等,在这时,常常要复制两次,一次是内容,接着一次是内容所在的网址。脚本比较简单,只有一个热键,当我们粘贴从网页中复制的内容时,它会自动附加上网页的地址。 脚本 最初我写了这种功能的脚本,但一些方面处理不太好,下面这个脚本是 Lexikos 重写的,比较完善,不影响其他复制粘贴操作。 原理是,从网页复制内容时其中的内容实际上包含了来源,所以直接从中提取。 ~^v:: ; 最初灵感:http://ahk8.com/thread-4198.html ; 脚本来源(英文):http://www.autohotkey.com/board/topic/8...
by amnesiac
18 Aug 2014, 03:04
Forum: 教程资料
Topic: 常见的编码问题
Replies: 4
Views: 28055

常见的编码问题

导言:编码是每个脚本人、程序员最常见的困惑之一(中文用户尤其常遇),在 AutoHotkey 也不例外。这里一起说说在 AutoHotkey 中可能遇到的编码问题,以及可以避免这些问题的方法。 在 AutoHotkey 中谈到编码时可能在三种情况中: 脚本文件编码 首先请阅读帮助中相关内容: 脚本文件代码页 。这里说明了解释器(AutoHotkey.exe)加载脚本时选择编码的优先级顺序: 若脚本文件开头为字节顺序标记(BOM),则据其选择相应的编码(UTF-8 BOM 或 UTF-16 BOM); 若解释器命令行中包含了 /CPn 选项,则使用 n 指定的编码; 其他情况下,则使用系统默认代...
by amnesiac
18 Aug 2014, 01:38
Forum: 教程资料
Topic: 让热键动起来
Replies: 0
Views: 8198

让热键动起来

导言:有些文章只看它的标题,您就看不出它的内容,则很可能错过它的精彩,本文即是其中一例。 使用双冒号语法可以快速创建热键,简单、直接,非常方便。有时我们需要经常修改一些热键或把脚本给别人使用, 通常必须考虑把热键放在专门的配置中以方便修改,此时就需要动态实现热键了。 使用 Hotkey 命令 这个命令本身的用法简单,这里结合常见的具体场景介绍: ; 为了简便这里直接赋值变量(实际情况中可从配置文件读取): MyHotkey := "F1" ; 下面这个热键仅在记事本中有效: Hotkey, IfWinActive, ahk_class Notepad Hotkey, %MyHotkey%, M...
by amnesiac
18 Aug 2014, 01:10
Forum: 教程资料
Topic: 如何构建知识体系
Replies: 0
Views: 4403

如何构建知识体系

导言:很多人可能在生活中或电视上看到这样的情景:一个昆虫向前飞,撞到了蜘蛛网,开始挣扎,每一次的挣扎都让蛛网剧烈晃动,看起来摇摇欲破,但昆虫也让蛛丝越捆越紧,最终成为蜘蛛腹中之物(偶尔也有网破之时)。这整个网就像是知识体系,昆虫的落点则是所遇到问题与我们知识体系的连接处,当知识体系中节点越多,连接越紧密,那么遇到问题被解决的可能性也越大(撞到网上的机率大多了)。曾看到 如何在 Total Commader 中快速切换单双文件窗口的问题 ,我在回答中使用了消息,后来题主追问,为什么会想到消息呢?希望本文能给有类似疑问的朋友一些启发,这里讲述学习和使用 AutoHotkey 过程中如何构建知识体系...
by amnesiac
18 Aug 2014, 01:05
Forum: 教程资料
Topic: 正则的调出功能简谈
Replies: 0
Views: 3326

正则的调出功能简谈

导言:一般人接触正则表达式、了解一些基本用法后,遇到普通字符串函数难以或无法处理的文本问题时,就会想到正则表达式了。然而,使用正则过程中,常常会遇到许多问题: 每次使用都需要查阅手册熟悉规则 每次使用都是痛苦的在一边看手册一边修改(重复猜测-验证的过程) 常常写的正则逻辑上分析找不到问题却为何无法匹配 出现这些情况有个很重要的原因是正则表达式在执行时是个黑箱子,我们只能看到输入和输出,却不知道里面究竟怎么执行的。尽管可以通过一些正则辅助工具减轻这种痛苦,不过仍很难比较方便快速的定位并解决问题。 调出功能的意义 调出功能相当于在这个黑箱子上打孔,这样我们可以观察到里面是怎样进行匹配的。 Sour...
by amnesiac
17 Aug 2014, 23:22
Forum: 教程资料
Topic: 文件处理之传统与对象
Replies: 0
Views: 6049

文件处理之传统与对象

导言:对于 AutoHotkey,初学者几乎都会困惑的一点是可选的风格很多,初学者多感觉语法凌乱,而熟悉的人则认为灵活多样,这点是好是坏见仁见智了。不过这种现象的产生有一定的历史原因,以后可能会做更详细的说明。 与文件系统交互是脚本中最常见的操作之一。本文从文件处理的角度比较传统方式和对象方式的一些差异,以便整体上对它们有一定的理解,避免混乱。比较而言,两种方式的差异: 命令较简单(有批处理的感觉),能满足大部分需求 ; 对象则更灵活,可进行更精细的控制,用的好也更高效; 文件处理的传统命令 AutoHotkey 中主要为操作文件提供了下列命令(和函数): FileAppend:附加内容到文件...
by amnesiac
17 Aug 2014, 23:13
Forum: 教程资料
Topic: 热键之组合键与序列键
Replies: 2
Views: 23553

热键之组合键与序列键

在系统中热键是一种有限资源,如何安排热键让它的高效真正发挥出来,可能需要进行多方面的思考和操作,例如对热键进行规划、对需求分类,以最方便的按键实现最需要热键实现的功能,同时适当兼顾热键的记忆问题。舒适便捷的按键及组合非常稀缺,除了系统和程序自带热键(是否覆盖需依实际情况而定),如何利用这些按键更好地实现较多常用操作呢?下面提供实现热键的一些常见方式。 组合键 修饰键符号 #n::WinMinimize, A ; 最小化活动窗口。 这个组合键中,# 是修饰键,表示 Windows 键。除了这个外,其他修饰键还有 ^(表示 Ctrl 键)、+(表示 Shift 键)、!(表示 Alt 键)。这四个...

Go to advanced search