[AHK]微信表情快捷输入

需求:

希望在电脑上微信聊天时用键盘快捷输入常用表情。

工具:

AutoHotkey v1

使用说明:

微信中按空格显示热键提示窗口,输入键盘序列后,按空格输出相应表情

配置:

源代码:

/**
脚本:微信中按空格显示热键提示窗口,输入键盘序列后,按空格输出相应表情

作者:sunwind
创建:2024年6月28日15:00
鸣谢:sikongshan、SpaceZ

功能:
1.在微信消息框中按 空格 弹出【提示窗口】
2.输入 快捷键 后 按 空格 输出表情到消息输入框
3.支持Backspace修改输入的快捷键
4.支持Esc或Space关闭

特点:
1.不干扰输入法中的空格: 搜狗输入法、微软输入法、讯飞输入法
2.支持按键序列
3.支持回退键修改输入的按键

更新:
1. 支持 定义连续输出多个表情,如 qqq为[强][强][强],即输出三个强。
*/


;定义快捷键与表情的映射
arrEmote:={a:"[拳头]"
  ,x:"[微笑]"
	,h:"[好的]"
	,q:"[强]"
	,qq:"[强][强]"
	,qqq:"[强][强][强]"
	,gg:"[尴尬]"
  ,qd:"[敲打]"
  ,wx:"[微笑]"
  ,ws:"[握手]"}
  

;以下勿动
keyseq:=[]
for k,v in arrEmote
{
 tip.=k "->" v "`n"
}
Gui, Drag:New, +AlwaysOnTop +LastFound +ToolWindow, qliner hotkeys 
Gui, Font, s20
Gui, Color, FFFF9E
Gui, Add, Text,,% SubStr(tip,1,-1)
WinSet, Transparent, 200

#If WinExist("qliner hotkeys")
Shift::
Esc::
Space::
idx:=""
Loop % keyseq.Length()
  idx.=keyseq[A_Index]
if(当前表情:=arrEmote[idx])
		Send,% "{text}" 当前表情
		; Send,% "{text} [" 当前表情 "]"
keyseq.RemoveAt(1,keyseq.Length())
ToolTip
Gui, Drag:Hide
return

	a::
	b::
	c::
	d::
	e::
	f::
	g::
	h::
	i::
	j::
	k::
	l::
	m::
	n::
	o::
	p::
	q::
	r::
	s::
	t::
	u::
	v::
	w::
	x::
	y::
	z::
    idx:=""
		keyseq.Push(A_ThisHotkey)
    Loop % keyseq.Length()
      idx.=keyseq[A_Index]
    ToolTip % "输入的是:" idx "`n按空格将输出:" arrEmote[idx]
    return
  BackSpace::
    keyseq.Pop()
    idx:=""
    Loop % keyseq.Length()
      idx.=keyseq[A_Index]
    ToolTip % "输入的是:" idx "`n按空格将输出:" arrEmote[idx]
	return
  
#if

#If MouseIsOver("ahk_exe WeChat.exe")
Space:: 
; Click, D
Gui, Drag:Show, NoActivate
SoundBeep, 1500
; KeyWait, %A_ThisHotkey%
; Click, U
; Gui, Drag:Hide
; SoundBeep, 1000
Return
#If

MouseIsOver(WinTitle) {
     MouseGetPos,,, Win
    if WinExist("ahk_class SoPY_Comp") or WinExist("ahk_class BaseGui") or WinExist("ahk_class ApplicationFrameWindow") or WinExist("ahk_class ahk_class MSCTFIME Composition")
     return false
    else
     return WinExist(WinTitle . " ahk_id " . Win)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值