找回密码
 加入
搜索
查看: 2996|回复: 11

[AU3基础] 请教下面几行错误所在【规范重新发帖】

  [复制链接]
发表于 2012-2-4 22:14:05 | 显示全部楼层 |阅读模式
本帖最后由 chenxunan0220 于 2012-2-4 22:18 编辑

我事先已经开启了一个“测试内容”的窗口,再在那个窗口下运行下述脚本,以替代键盘的重复键入。可是运行了几次,都不行。

由于刚从今天下午开始学习,下面这段是我第一次写的,才写了几句,就不行了。特此请教大家

WinActive("测试内容")——激活一个标题为“测试内容”的窗口
WinWaitActive("测试内容")——等待该窗口被激活
Send("A")——发送一个“A按键”
WinWaitActive("Save As Options")——等待该窗口标题为“Save As Options”的窗口出现并被激活
Send("!V")——发送ALT+V
Send("{TAB}")——发送TAB键
Send("{TAB}")——再发送一次TAB键
Send("{ENTER}")——发送一次ENTER键

另外,我向让上面这段语句不断地循环,该用While和Wend命令嘛,如何使用?

【谢谢超版afan指正我法规不规范之处】
发表于 2012-2-4 22:21:14 | 显示全部楼层
窗口有被激活嗎??
 楼主| 发表于 2012-2-4 22:27:47 | 显示全部楼层
回复 2# kk_lee69
就是没有被激活,觉得奇怪和郁闷啊...
我点击运行,没有任何反应。
发表于 2012-2-4 22:29:05 | 显示全部楼层
本帖最后由 半芯竹 于 2012-2-4 22:31 编辑
while 1
if WinExists ("测试内容") then 
WinActivate("测试内容")
Send("A")
elseif WinExists("Save As Options") then 
WinActivate("Save As Options")
Send("!V")
Send("{TAB}")
Send("{TAB}")
Send("{ENTER}")
exitloop
endif
wend

这种操作不太准确,为何不使用控件点击的方法?
发表于 2012-2-4 22:30:45 | 显示全部楼层
這個參數 不是用來激活窗口的  是用來檢查窗口 是否被激活

WinActive
檢查指定視窗是否存在且被啟動.


WinActive ( "標題" [, "文本"] )



參 數
標題 目標視窗標題. 參考 標題專用定義.
文本 [可選參數] 目標視窗文本.



返 回 值
成功: 如果視窗為啟動狀態, 則返回視窗控制碼.
失敗: 返回 0, 其它(錯誤).



備 注
None.




相 關 函 數
WinExists, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive, WinTitleMatchMode (Option)


函 數 示 例

If WinActive("[CLASS:Notepad]") Then
    MsgBox(0, "", "窗口激活")
EndIf
发表于 2012-2-4 22:32:36 | 显示全部楼层
這個才是...............

WinActivate
啟動指定視窗.


WinActivate ( "標題" [, "文本"] )



參 數
標題 目標視窗標題. 請查閱 標題專用定義.
文本 [可選參數] 目標視窗文本.



返 回 值
成功: 返回目標視窗控制碼.
失敗: 返回 0, 視窗沒有找到或不能被啟動.



備 注
可以使用 WinActive 函數檢查 WinActivate 是否成功.
若同時有多個視窗符合匹配條件, 則啟動最近被啟動的視窗.
WinActivate 對最小化視窗仍能正常工作.
但"置頂"可能會掩蓋你啟動的窗口.

@extended 包含啟動過程的擴展資訊.




相 關 函 數
WinClose, WinSetState, WinTitleMatchMode (Option), WinKill, WinMove


函 數 示 例

WinActivate("[CLASS:Notepad]", "")
 楼主| 发表于 2012-2-4 22:38:07 | 显示全部楼层
回复 4# 半芯竹
谢谢啊。我现在才开始学习。哈哈,我试试
 楼主| 发表于 2012-2-4 22:38:24 | 显示全部楼层
回复 6# kk_lee69
谢谢你啊,我试试看。
 楼主| 发表于 2012-2-4 23:10:15 | 显示全部楼层
最终发现,还是不行。哎,到底怎么回事啊。
发表于 2012-2-4 23:15:38 | 显示全部楼层
回复 9# chenxunan0220


    把你的窗口截图过来。测试过程给说清楚。。
发表于 2012-2-4 23:16:21 | 显示全部楼层
把程式 整個POST 出來看看
发表于 2012-2-4 23:19:16 | 显示全部楼层
AutoItSetOption
調整 Autoit 函數或參數的操作方式.


AutoItSetOption ( "選項" [, 參數] )



參 數
選項 要修改的選項. 見備註.
參數 [可選函數] 分配給選項的值. 因選項的不同而類型與意義不同, 見備註.
如果不提供參數值, 則函數僅返回已分配給選項的值.
關鍵字 Default 用於將選項的參數重置為預設值.



返 回 值
成功: 返回先前設置的選項值.
失敗: 設置 @error 為非 0, 函數失敗可能由於參數無效(如選項不存在).



備 注
可以使用 Opt() 代替 AutoItSetOption().

選項與參數列舉如下:

WinDetectHiddenText 指定是否讓隱藏的視窗文本也能被視窗匹配函數檢測.
0 = 不檢測隱藏文本 (預設)
1 = 檢測隱藏文本
WinSearchChildren 允許視窗搜索程式搜索子視窗以及頂層視窗.
0 = 僅搜索頂層窗口 (預設)
1 = 搜索頂層視窗及子視窗
WinTextMatchMode 修改視窗函數執行搜索時的視窗文本匹配模式.
1 = 完全匹配 / 慢速模式 (預設)
2 = 快速模式
快速模式下,AutoIt 通常只能"看見"對話方塊文本, 按鈕文本和某些控制項的標題.
而在預設模式下則能檢測到更多的文本(例如記事本視窗的內容).
如果在執行較多視窗的搜索操作時遇到性能(指速度)問題, 應該考慮使用快速模式.
WinTitleMatchMode 修改視窗函數執行搜索時的標題匹配模式.
1 = 匹配標題的開始部分 (預設)
2 = 匹配標題的任意子串
3 = 完全匹配標題
4 = 高級模式,詳情請查看 視窗標題與文本 (高級)
-1 到 -4 = 強制根據類型匹配小寫字母.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-20 19:45 , Processed in 0.091548 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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