chenxunan0220 发表于 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指正我法规不规范之处】

kk_lee69 发表于 2012-2-4 22:21:14

窗口有被激活嗎??

chenxunan0220 发表于 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


这种操作不太准确,为何不使用控件点击的方法?

kk_lee69 发表于 2012-2-4 22:30:45

這個參數 不是用來激活窗口的是用來檢查窗口 是否被激活

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


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



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



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



備 注
None.




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


函 數 示 例

If WinActive("") Then
    MsgBox(0, "", "窗口激活")
EndIf

kk_lee69 发表于 2012-2-4 22:32:36

這個才是...............

WinActivate
啟動指定視窗.


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



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



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



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

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




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


函 數 示 例

WinActivate("", "")

chenxunan0220 发表于 2012-2-4 22:38:07

回复 4# 半芯竹
谢谢啊。我现在才开始学习。哈哈,我试试

chenxunan0220 发表于 2012-2-4 22:38:24

回复 6# kk_lee69
谢谢你啊,我试试看。

chenxunan0220 发表于 2012-2-4 23:10:15

最终发现,还是不行。哎,到底怎么回事啊。

半芯竹 发表于 2012-2-4 23:15:38

回复 9# chenxunan0220


    把你的窗口截图过来。测试过程给说清楚。。

kk_lee69 发表于 2012-2-4 23:16:21

把程式 整個POST 出來看看

kk_lee69 发表于 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 = 強制根據類型匹配小寫字母.
页: [1]
查看完整版本: 请教下面几行错误所在【规范重新发帖】