【问题标题】:Modifying Windows Ctrl+Del behavior across different programs跨不同程序修改 Windows Ctrl+Del 行为
【发布时间】:2012-04-03 03:07:51
【问题描述】:

我想在各种程序中覆盖 Ctrl+DelCtrl+Backspace 的行为在 Windows 7 中,默认情况下不会删除插入符号之前或之后的整个单词。例如:当按下 Ctrl+Backspace 时,记事本会显示一个看起来像框的字符(不确定是哪一个)。

在 Windows 7 中有解决此问题的方法吗?

我可以使用 Python、Autohotkey 或其他语言来覆盖此行为吗?例如:找到光标/插入符号的位置并删除以下整个单词。

【问题讨论】:

  • 记事本不适用于严肃的工作。因此它被称为NOTEpad。除了可能添加 unicode 支持之外,微软还没有真正更新过该应用程序。
  • 你可以知道,因为他们甚至还没有添加功能区用户界面:P

标签: python windows-7 textbox autohotkey ctrl


【解决方案1】:

AutoHotkey 会做你想做的事。

#IfWinActive ahk_class Notepad
^Delete::SendInput something else
#IfWinActive

您可以找到带有 Au3 Window Spy 的 ahk_class,以及文档中的键列表。

【讨论】:

    【解决方案2】:

    删除插入符号之前或之后的整个单词

    ^Del::SendInput ^+{Right}{Delete}
    
    ^BackSpace::SendInput ^+{Left}{Delete}
    

    这依赖于 Ctrl+Shift+ 选择插入符号左侧的单词,然后 Ctrl+Shift+ 选择插入符号右侧的单词。


    如果您只想为特定程序启用它,您可以按照其他答案的建议,例如使用#IfWinActive 加上ahk_class,如下所示:

    #IfWinActive ahk_class Notepad
    ^Del::SendInput ^+{Right}{Delete}    
    ^BackSpace::SendInput ^+{Left}{Delete}
    

    【讨论】:

      【解决方案3】:

      我想这会给你一个开始......

      ^Del::
      SetTitleMatchMode, 2
      IfWinActive, Application title ; Use windows spy
      {
          Send, xyz ; modified behaviour
      }
      Else
      {
          Send, ^{Del} ; Original behaviour
      }
      Return
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-04
        • 2012-07-11
        • 1970-01-01
        • 1970-01-01
        • 2012-04-02
        • 1970-01-01
        • 1970-01-01
        • 2019-11-02
        相关资源
        最近更新 更多