获取程序Edit框光标位置选中字符串,自测!

/*
	获取程序Edit框选中光标位置字符串。自测!
	不保证全部有效,测试Notepad、EmEditor有效!
*/

string=
(
赵客缦胡缨,吴钩霜雪明。
银鞍照白马,飒沓如流星。
十步杀一人,千里不留行。
事了拂衣去,深藏身与名。
闲过信陵饮,脱剑膝前横。
将炙啖朱亥,持觞劝侯嬴。
三杯吐然诺,五岳倒为轻。
眼花耳热后,意气素霓生。
救赵挥金槌,邯郸先震惊。
)
Gui,Destroy
Gui,Font,s14
Gui,Add,Edit,HWNDEditBox,% string
Gui,Show

;;光标选取Edit框内字符按F1获取
F1::
	MouseGetPos, , , id, control
	ControlGet, HWND, Hwnd ,, %Control%, ahk_id %id%
	EditGetSelectedText(HWND, string)
	MsgBox % string
Return


;获取Edit框选择的字符串
EditGetSelectedText(ctl, ByRef string){
	start :=0,end :=0
	SendMessage, EM_GETSEL:=0x00B0, &start, &end,, ahk_id %ctl%
	start := NumGet(start, 0, "UInt")
	end := NumGet(end, 0, "UInt")
	ControlGetText, string , , ahk_id %ctl%
	string:=SubStr(string,start+1,Abs(end-start))

	Return string
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他案例

AHK字符串反转、竖排示例

2021-12-1 16:32:07

其他应用案例

【基础】一键弹出U盘(仿手动)

2021-12-1 20:04:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索