zoukankan      html  css  js  c++  java
  • [AHK]输入法状态提示,中文状态提示“中”,英文状态提示“EN”[转]

    测试中发现使用小鹤双拼,如果不是使用shift切换中英文,效果不理想,留下此文章做个标记
    https://www.autoahk.com/archives/8755

    输入法状态提示,中文状态提示“中”,英文状态提示“EN”,
    切换中英文状态的时候,或者用鼠标切换到另一个编辑窗口的时候再次提示,循环如此。

    ;功能:输入法状态提示
    ;环境:win10+搜狗输入法,输入法状态切换用默认的shift键。
    ;作者:sunwind
    ;时间:2018年9月1日
    ;更新链接:https://blog.csdn.net/liuyukuan/article/details/82291632
     
    ~Shift::
    ToolTip
    If (IME_GET()=1)
    	ToolTip,EN  ;shift得反着提示,提示切换后的状态。
    else
    	ToolTip,中
    return
     
    ~LButton::
    If  (A_Cursor = "IBeam" ) {
    	Edit_Mode := 1
    } else if(A_Cursor = "Arrow" ) {
       Edit_Mode := 0
    } 
     
    MouseGetPos, , , WhichWindow, WhichControl
    WinGetPos,winx,winy,,,%WhichWindow%
    ControlGetPos, x, y, w, h, %WhichControl%, ahk_id %WhichWindow%
    ;~ ToolTip, %WhichControl%`nX%X%`tY%Y%`nW%W%`t%H%
    if ( 0 = not_Edit_InFocus())
    {
    	If (IME_GET()=1)
    		ToolTip,中
    	else
    		ToolTip, EN
    }
    return
     
    ~Shift up::
    ~Lbutton up::
    Sleep,1000
    ToolTip
    return
     
    not_Edit_InFocus(){
    Global Edit_Mode
    ControlGetFocus theFocus, A ; 取得目前活動窗口 的焦點之控件标识符
    return  !(inStr(theFocus , "Edit") or  (theFocus = "Scintilla1")   ;把查到是文字編輯卻不含Edit名的theFucus加進來
    or (theFocus ="DirectUIHWND1") or  (Edit_Mode = 1))
    }
     
    IME_GET(WinTitle="")
    ;-----------------------------------------------------------
    ; IMEの状態の取得
    ;    対象: AHK v1.0.34以降
    ;   WinTitle : 対象Window (省略時:アクティブウィンドウ)
    ;   戻り値  1:ON 0:OFF
    ;-----------------------------------------------------------
    {
        ifEqual WinTitle,,  SetEnv,WinTitle,A
        WinGet,hWnd,ID,%WinTitle%
        DefaultIMEWnd := DllCall("imm32ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
     
        ;Message : WM_IME_CONTROL  wParam:IMC_GETOPENSTATUS
        DetectSave := A_DetectHiddenWindows
        DetectHiddenWindows,ON
        SendMessage 0x283, 0x005,0,,ahk_id %DefaultIMEWnd%
        DetectHiddenWindows,%DetectSave%
        Return ErrorLevel
    }
    

    以下转自:https://www.autoahk.com/archives/8755

    ahk中如何识别光标
    A_Cursor:当前显示的鼠标光标类型. 其值为下列单词的其中一个: AppStarting, Arrow, Cross, Help, IBeam, Icon, No, Size, SizeAll, SizeNESW, SizeNS, SizeNWSE, SizeWE, UpArrow, Wait, Unknown. 与 size 指针类型一起的首字母表示方向, 例如 NESW = NorthEast+SouthWest. 手型指针 (点击和抓取) 属于 Unknown 类别.

    A_Cursor是一个内置变量,不知道大家的理解能力,我看了帮助文档中的解释,我是没有太理解,这些光标类型具体指的是什么类型呢?

    深入研究
    下面我详细研究了一下,分享给大家!

    APPSTARTING 标准的箭头和小沙漏
    ARROW 标准的箭头
    CROSS 十字光标
    HAND Windows 98/Me, Windows 2000/XP: Hand
    HELP 标准的箭头和问号
    IBEAM 工字光标
    ICON Obsolete for applications marked version 4.0 or later.
    NO 禁止圈
    SIZE Obsolete for applications marked version 4.0 or later.
    SIZEALL 四向箭头指向东、西、南、北
    SIZENESW 双箭头指向东北和西南
    SIZENS 双箭头指向南北
    SIZENWSE 双箭头指向西北和东南
    SIZEWE 双箭头指向东西
    UPARROW 垂直箭头
    WAIT 沙漏,Windows7系统下会显示为选择的圆圈表示等待
    Unknown未知


    作者:liuyukuan
    来源:CSDN
    原文:https://blog.csdn.net/liuyukuan/article/details/82291632
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Linux记录-shell实现脚本监控服务器及web应用
    Hadoop记录-hadoop和hbase监控有那些比较好的工具
    Hadoop记录-Ganglia监控HDFS和HBase指标说明
    Linux记录-CPU指标介绍
    Linux记录-I/O系统监控
    Linux记录-linux系统监控命令汇总
    Hadoop记录-hadoop2.x常用端口及定义方法
    Linux记录-linux系统常用监控指标
    在IIS6上部署WebService
    《软件测试自动化之道》读书笔记 之 请求-响应测试
  • 原文地址:https://www.cnblogs.com/guyk/p/10923952.html
Copyright © 2011-2022 走看看