[已解决]如何清除外部控件文字
本帖最后由 w60711 于 2019-12-1 00:58 编辑请问各位前辈
目前有一个外部窗口
有 Edit1,Edit2 控件,Edit1裡头有文字
现在想要在不激活该窗口的状况下
将Edit1裡面的文字清除再输入新的
但一直不顺利
想请教是否有啥方法,感谢~
(不清除的话会接续着写入...)
以下2种方法试过无效...
$win = ""
$hWin = WinGetHandle($win)
$btnCtrl1 = ""
$CtrlHandleEdit1 = ControlGetHandle($win,"", $btnCtrl1)
ControlFocus($hWin, '', $btnCtrl1)
Sleep(1000)
ControlSend($hWin, '', $btnCtrl1, '^a')
Sleep(250)
_SendText(String($CtrlHandleEdit1), '新文字') ;;Edit1
$win = ""
$hWin = WinGetHandle($win)
$btnCtrl1 = ""
$btnCtrl1 = ""
$CtrlHandleEdit1 = ControlGetHandle($win,"", $btnCtrl1)
ControlFocus($hWin, '', $btnCtrl2)
Sleep(1000)
_SendKeys($hWin, '{TAB}')
Sleep(250)
_SendText(String($CtrlHandleEdit1), '新文字') ;;Edit1
ControlSend($hWin, '', $btnCtrl1, '^a') 后台全选有效的话 再send '{del}'
afan 发表于 2019-11-30 17:28
ControlSend($hWin, '', $btnCtrl1, '^a') 后台全选有效的话 再send '{del}'
感谢afan大,
但是我这是在操作游戏的启动器
如果使用 send('{DEL}')的话
是否会影响到正在使用中的画面呢?
感谢您~ w60711 发表于 2019-11-30 20:19
感谢afan大,
但是我这是在操作游戏的启动器
如果使用 send('{DEL}')的话
我的意思是继续用 ControlSend {del},Send是不能后台的… 前提是已完成了全选 afan 发表于 2019-11-30 20:25
我的意思是继续用 ControlSend {del},Send是不能后台的… 前提是已完成了全选
了解了
是我误会了><"
刚刚有一问题忘记补充了
以下很奇怪...
如果我用了 MsgBox(0,0,ControlGetFocus($hWin))
测试是否有将焦点放到Edit1
则可以成功将光标设置以及全选
但把MsgBox 注释掉后,又无法了...
WinActive($hWin)
Sleep(1000)
ControlFocus($hWin, '', $btnCtrl1)
Sleep(3000)
;;MsgBox(0,0,ControlGetFocus($hWin))
ControlSend($hWin, '', $btnCtrl1, '^a')
Sleep(250) w60711 发表于 2019-11-30 20:29
了解了
是我误会了>
MsgBox 弹出及关闭 系统会有激活的消息产生,会让目标激活而自然使全选有效
但有些时候已全选但在窗口未激活状态下是没有高亮显示的,这都需要自行测试,没法猜
也可以插一句 ControlClick($hWin, '', $btnCtrl1),再 ^a ,如果仍无效那可能是需要激活才行 afan 发表于 2019-11-30 20:39
MsgBox 弹出及关闭 系统会有激活的消息产生,会让目标激活而自然使全选有效
但有些时候已全选但在窗口未 ...
理解了,
感谢afan版大提示~^^
我再来测试看看~ 本帖最后由 w60711 于 2019-12-1 00:57 编辑
afan 发表于 2019-11-30 20:39
MsgBox 弹出及关闭 系统会有激活的消息产生,会让目标激活而自然使全选有效
但有些时候已全选但在窗口未 ...
没有激活的状况下
仍有一些状况无法选取...
目前使用这个方法,可以达到目的~
_GUICtrlEdit_SetText($CtrlHandleEdit1,$RuID);;帐号 Edit1
_GUICtrlEdit_SetText($CtrlHandleEdit2,$Rpass);;密码 Edit2
_MouseClick(String($CtrlHandleButton1),'left',32,276);;登入按钮
afan大一席话
激起了灵感,找到了变通方法
太感谢了~~
:face (23):
页:
[1]