[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("imm32\ImmGetDefaultIMEWnd", 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
版权声明:本文为博主原创文章,转载请附上博文链接!
[AHK]输入法状态提示,中文状态提示“中”,英文状态提示“EN”[转]的更多相关文章
- DTCMS中文章增加tags标签和关键词时中文,替换为英文状态,
DTCMS.Web\admin\article\article_edit.aspx 找到添加和修改的方法 model.tags = txtTags.Text.Trim()model.seo_keywo ...
- 判断当前系统当前浏览器是否安装启用 Adobe Flash Player,检查在chrome中的状态
一.判断当前所在系统 let sUserAgent = navigator.userAgent;let isWin = (navigator.platform == "Win32" ...
- 程序中保存状态的方式之Cookies
程序中保存状态的方式之 Cookies,之前写过一篇关于ViewState的.现在继续总结Cookies方式的 新建的测试页面login <%@ Page Language="C#&q ...
- [Effective JavaScript 笔记]第36条:只将实例状态存储在实例对象中
理解原型对象与其实例之间是一对多的关系,对于实现正确的对象行为很重要.常见的错误是不小心将每个实例的数据存储到了其原型中. 示例 一个实现了树型数据结构的类可能将子节点存储在数组中. 实例状态在原型中 ...
- 网站建设中HTTP状态码的奥秘
在网络营销中,站长经常会遇到一些HTTP状态码的问题,不懂HTTP状态码那么做SEO优化就无从谈起,下面是脉凌网络对HTTP状态码总结的一览表. 1xx:请求收到,继续处理 2xx:操作成功收到,分析 ...
- 【转】Android中通知的提示音、震动和LED灯效果小例子
通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现.发出一条通知后,手机最上方 ...
- 让对象拥有状态——C#中的状态模式
大家好,老胡又在博客和大家见面了,在聊今天的主角之前,老胡先给大家讲一个以前发生的故事. 真实的故事 当老胡还是小胡的时候,跟随团队一起开发一款游戏.这款游戏是一款末日生存类游戏,玩家可以 收集资 ...
- 实现password框中显示文字提示的方式
其实实际上实现中并不能让password中显示文字提示,但是我们在工作中有这样的需求,当没输入东西的时候,框内有提示输入密码,但是当输入东西的时候又显示的是*号,那么是如何实现的呢?其实原理很简单,就 ...
- 程序中保存状态的方式之ViewState
程序中保存状态的方式有以下几种: 1.Application 2.Cookie 3.Session 4.ViewState:ViewState是保存状态的方式之一,ViewState实际就是一个Hid ...
随机推荐
- Java面向对象编程 -3.2
使用this调用本类方法 除了调用属性之外,this也可以实现方法的调用,但是对于方法的调用就必须考虑构造与普通方法 构造方法调用(this()):使用关键字new实例化对象的时候才会调用构造方法: ...
- mybatis源码探索笔记-5(拦截器)
前言 mybatis中拦截器主要用来拦截我们在发起数据库请求中的关键步骤.其原理也是基于代理模式,自定义拦截器时要实现Interceptor接口,并且要对实现类进行标注,声明是对哪种组件的指定方法进行 ...
- print、println、printf的区别(转载)
printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和print基本没什么差别,就是最后会换行 System ...
- centos7使用docker制作tomcat本地镜像
1.安装Docker 安装docker前请确认当前linux的内核版必须是3.10及以上 命令: uname -r 1).yum install -y yum-utils device-mapper ...
- 「AHOI2014/JSOI2014」支线剧情
「AHOI2014/JSOI2014」支线剧情 传送门 上下界网络流. 以 \(1\) 号节点为源点 \(s\) ,新建一个汇点 \(t\),如果 \(u\) 能到 \(v\),那么连边 \(u \t ...
- 条件语句(if语句)的用法
if语句是实现分支结构的常用分支语句之一,另外还有条件运算符.switch语句等. if语句的功能是:根据给定条件,选择程序执行方向. if语句的基本格式 “if语句”又称条件语句,其基本格式为: ...
- 13 JavaScript Array对象&Boolean对象&Math对象&RegExp对象
万物皆对象,数组是对象,数组可以存储元素,函数,数组等对象 创建数组的三个方式: 常规方式:var myCars = new Array(); 简介方式:var myCars = new Arrray ...
- linux 服务器优化 --TIME_WAIT 问题
linux 服务器优化 --TIME_WAIT 问题: 问题现象: 1.外部机器不能正常连接SSH 2.内向外不能够正常的ping通过,域名也不能正常解析. 通过一些命令,查看服务器TIME_WAIT ...
- FTP虚拟账户
部署一个内网FTP服务器 为了解决公司员工文件存储和下载的需求.要求部署内部FTP服务器,员工可以通过自己的账号的权限对FTP进行操作. 1)公司公共文件可以通过匿名下载 2)公司财务部.商务部.行政 ...
- MNIST手写数字分类simple版(03-2)
simple版本nn模型 训练手写数字处理 MNIST_data数据 百度网盘链接:https://pan.baidu.com/s/19lhmrts-vz0-w5wv2A97gg 提取码:cgnx ...