3

我一直在输入“t eh”而不是“the”,这在我纠正自己所花费的时间上当然很烦人。

显而易见的答案是“学打字,菜鸟!” 或至少打字更慢和/或更正确。这个错误惊人地一致,所以看来我已经针对这种模式训练了我的肌肉记忆。

我想知道是否有可能编写一个小型的 Windows 可移植脚本或应用程序,当它检测到不正确的序列时,退格并在适用于任何键盘输入的层自动更正它。

  • C# 是否可以访问在系统范围内拦截按键的操作系统层?
  • 我会在 Vista 中遇到 UAC 问题吗?
  • 我是否在重新发明轮子(即,是否有我可以修改或开箱即用的开源工具)?

在 DOS 中,这类事情非常简单,可以制作 TSR(终止和驻留)程序,例如,在屏幕上为您提供一个带有特殊按键的计算器。更不用说基于这个概念的许多恶作剧程序(拨“M”代表怪物!)......

当然,我绝不会建议这样的实用程序可以以这种方式用于同事......

-亚当

4

4 回答 4

4

在 Windows 上,您可以使用 AutoHotKey。这使您可以创建小脚本或宏来自动化和纠正诸如错误输入之类的事情。

在 lifehacker 上发布了一种用途,该用途采用了常见的错误输入单词并进行了更正。它位于http://lifehacker.com/192506/download-of-the-day-universal-autocorrect


更新每条评论:据我所知,这是免费软件和 Windows。

上面的脚本只是它可以做什么的一个例子。AutoHotkeys网站上有大量可用的脚本

于 2009-02-24T19:18:07.557 回答
2

我建议使用 AutoHotKey。如果您以前从未使用过它,请快速阅读本教程:http ://www.autohotkey.com/docs/Tutorial.htm

您正在寻找的功能称为“热字串”。http://www.autohotkey.com/docs/Hotstrings.htm

在您的情况下,您的脚本将类似于:

::teh::the

就是这样!在其他行上添加您想要更正的其他内容。可以编译 AutoHotkey 脚本,因此您不必在所有机器上都安装 AutoHotKey。

这是一个非常酷的程序。它的主要用途(用于制作自定义热键)岩石!这些脚本是系统范围的,因此您可能还需要创建一个热键来关闭它们!

编辑:在评论中,有人提到他实际上输入了“t eh”(其中有一个空格),我想知道是否需要额外的东西才能让它工作。我刚刚测试了它,它工作正常。只需安装 autohotkey,然后创建一个扩展名为 .AHK 的文件。在该文件中放入以下行

::t eh::the

并保存文件。然后双击 AHK 文件以使用您的脚本加载 AutoHotKey(您将在系统托盘中看到一个绿色方块,让您知道它正在运行)。它应该工作正常!

于 2009-02-24T19:23:42.707 回答
0

是的,您可以使用 C# 中的 pinvoke 命令来拦截低级 os 命令。我建议你看看http://www.pinvoke.net。编码并不容易,但它确实有效。

于 2009-02-24T19:41:17.423 回答
0

我建议学习更慢地打字。我还患有“teh”和“ahve”,部分原因是自动更正给了我宽大处理。如果你强迫自己重新训练,那么在使用别人的机器时你不会处于劣势。

更不用说当你需要写“t eh”并且被过分热心的“纠正者”阻止时发生的不幸事件。

于 2009-02-25T01:08:08.307 回答