[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 ...
 
随机推荐
- VS中编码格式的问题(待总结)
			
今天又遇到这样的事情了,VS中代码明明是正确的,却报某个变量未定义.百思不得解,前面增加了一个换行之后,竟然又神奇般的复原了. 最后确认是编码格式的问题,后来把有问题的那部分代码粘贴到微软的" ...
 - gym102220H 差分+树状数组(区间修改和输出)
			
这题目很有意思,让我学会了树状数组的差分,更加深刻理解了树状数组 树状数组的差分写法 void add(int x,int k) { for (int i = x;i <= n;i += low ...
 - 收藏---wordpress搭建出来的blog
			
http://blog.luofei.org/2012/02/painters-and-paintings-through-the-eyes-of-faith/
 - [原]NTP时钟同步服务设置
			
服务器列表 192.168.0.2 ntp服务端 192.168.0.3 ntp客户端 192.168.0.4 ntp客户端 192.168.0.5 ntp客户端 注:以下操作均以root操作 一.N ...
 - 最全BT磁力搜索引擎,国外最受欢迎的BT-磁力网站(整理分享,每日不断更新...)
			
最全BT磁力搜索引擎索引(整理分享,每日更新) 1.海盗湾 The Pirate Bay 2.磁力天堂(BT磁力搜索下载-磁力天堂) www.btaa.xyz (资源多,下载速度可以,建议用手机访问 ...
 - 同一条sql insert 有时快有时慢 引发的血案
			
同一条sql语句,为什么有时插入块,有时插入慢原因剖析 背景:同一条sql ,有时插入时间几毫秒,有时插入时间几十毫秒,为什么? Sql角度:简单insert 表角度: 一个主键 系统参数角度: 开启 ...
 - 最长公共子序列/子串 LCS(模板)
			
首先区分子序列和子串,序列不要求连续性(连续和不连续都可以),但子串一定是连续的 1.最长公共子序列 1.最长公共子序列问题有最优子结构,这个问题可以分解称为更小的问题 2.同时,子问题的解释可以被重 ...
 - c++ 读取、保存单张图片
			
转载:https://www.jb51.net/article/147896.htm 实际上就是以二进制形式打开文件,将数据保存到内存,在以二进制形式输出到指定文件.因此对于有图片的文件,也可以用这种 ...
 - CSS垂直居中的8种方法
			
CSS垂直居中的8种方法 1.通过verticle-align:middle实现CSS垂直居中. 通过vertical-align:middle实现CSS垂直居中是最常使用的方法,但是有一点需要格外注 ...
 - kafka控制测试发送接收消息
			
kafaka,生产者:./kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic 消费者:./kafka-co ...