在 GUI 界面或特定窗口的 Edit
控件中,通过鼠标选择部分文本后,按下 F1
键即可获取选中的文本并显示出来。同时,按下 F2
键则会提取整个控件的文字内容。
; 蜜獾哥群里分享的【仿V2的EditGetSelectedText】 ; 实测仅返回选中的文字,并高DPI下的Notepad++返回选中文字会偏移 string= ( 赵客缦胡缨,吴钩霜雪明。 银鞍照白马,飒沓如流星。 十步杀一人,千里不留行。 事了拂衣去,深藏身与名。 闲过信陵饮,脱剑膝前横。 将炙啖朱亥,持觞劝侯嬴。 三杯吐然诺,五岳倒为轻。 眼花耳热后,意气素霓生。 救赵挥金槌,邯郸先震惊。 ) Gui,Destroy Gui,Add,Edit,HWNDEditBox,% string Gui,Show Return ;;光标选取Edit框内字符按F1获取 F1:: MouseGetPos, , , id, control ControlGet, HWND, Hwnd ,, %Control%, ahk_id %id% ; ControlGet, HWND, Hwnd,, Edit1, ahk_class Notepad ; 获取控件句柄 EditGetSelectedText(HWND, string) MsgBox % string Return F2:: ControlGetText, 获取控件全部文字, Edit1, ahk_class Notepad MsgBox % 获取控件全部文字 Return 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 }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)