找回密码
 加入
搜索
查看: 2835|回复: 9

[AU3基础] 在txt文件中查找剪贴板中文字,并且移动焦点到该位置

  [复制链接]
发表于 2012-1-12 16:28:04 | 显示全部楼层 |阅读模式
本帖最后由 arker 于 2012-1-12 16:29 编辑

在txt文件中查找剪贴板中文字,并且移动焦点到该位置。

高人们请帮帮忙
发表于 2012-1-12 16:42:46 | 显示全部楼层
#Include <GuiEdit.au3>
_GUICtrlEdit_SetSel($hWnd, $iStart, $iEnd)
 楼主| 发表于 2012-1-12 17:15:06 | 显示全部楼层
谢谢斑竹,水平低,刚开始学
这个自定义函数不会用呀

#Include <GuiEdit.au3>

$bak = ClipGet()
StringInStr(FileRead("tt.txt"), "$bak")
_GUICtrlEdit_SetSel($hWnd, $iStart, $iEnd)
发表于 2012-1-12 17:37:51 | 显示全部楼层
#Include <GuiEdit.au3>

Local $sTxtPath = @ScriptDir & '\tt.txt'
Local $sTxt = 'biuuifgsngosgoigio测试sffasg字符dsgsdg'
If Not FileExists($sTxtPath) Then FileWrite($sTxtPath, $sTxt)
Local $str = FileRead($sTxtPath)
ShellExecute($sTxtPath)
;Local $sClip = ClipGet()
Local $sClip = '测试'
Local $hW = WinWaitActive('tt - ', $str)
Local $iStart = StringInStr($str, $sClip)
If Not $iStart Then Exit MsgBox(48, '无剪贴板内容', $sClip)
Local $hEdit = ControlGetHandle($hW, '', 'Edit1')
_GUICtrlEdit_SetSel($hEdit, $iStart - 1, $iStart + StringLen($sClip) - 1)
 楼主| 发表于 2012-1-13 15:10:27 | 显示全部楼层
本帖最后由 arker 于 2012-1-13 15:27 编辑

谢谢斑竹
已经读懂了
查找和显示的过程是否可以在后台运行。
两个窗口来回切换,转换焦点,有点慢
 楼主| 发表于 2012-1-13 15:22:55 | 显示全部楼层
本帖最后由 arker 于 2012-1-13 15:29 编辑

我把代码改成了这样,剪贴板的内容会变化,我做了5次的演示。

#Include <GuiEdit.au3>

Local $sTxtPath = @ScriptDir & '\tt.txt'                  ;定义文件路径
Local $str = FileRead($sTxtPath)                                   ;定义读取全部字符
Local $sClip = ""
$i = 0
Do
sleep(10000)
Local $sClipa = ClipGet()
If $sClip <> $sClipa then                                      
$sClip = $sClipa
Local $hW = WinActivate('tt.txt - 记事本')                            ;激活txt文本
Local $iStart = StringInStr($str, $sClip)                            ;检查读取的字符串是否含有剪贴板字符
Local $hEdit = ControlGetHandle($hW, '', 'Edit1')                     ;获取txt文本文件内部句柄
_GUICtrlEdit_SetSel($hEdit, $iStart - 1, $iStart + StringLen($sClip) + 200)        ;选择字符中的一个范围
If $iStart Then
$i = $i + 1
Else
EndIf

Else
EndIf

Until $i=5
发表于 2012-1-13 15:34:10 | 显示全部楼层
不一定要激活的,那个只是给你的演示,后台可以将 WinActivate 改成 WinWait
 楼主| 发表于 2012-1-13 17:01:48 | 显示全部楼层
本帖最后由 arker 于 2012-1-13 17:03 编辑

不激活窗口,查找的内容不能够显示出来,必须要切换到文本窗口滚屏寻找,才能够找到“突出显示”的部分。
发表于 2012-1-13 17:21:08 | 显示全部楼层
不激活窗口,查找的内容不能够显示出来,必须要切换到文本窗口滚屏寻找,才能够找到“突出显示”的部分。
arker 发表于 2012-1-13 17:01



    只能说你没有看帮助文档。
 楼主| 发表于 2012-1-16 09:21:36 | 显示全部楼层
惭愧!我再琢磨琢磨。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-10 19:20 , Processed in 0.077058 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表