找回密码
 加入
搜索
查看: 11731|回复: 22

[AU3基础] 正航ERP外掛問題

 火.. [复制链接]
发表于 2014-11-25 09:49:03 | 显示全部楼层 |阅读模式
focus 正航的視窗 用autoit 滑鼠左鍵右鍵或移動滑鼠 模擬鍵盤的按鍵都無作用 但其他視窗用win api語法都正常 但是透過按鍵精靈可以點擊滑鼠或移動滑鼠 請問怎讓我滑鼠點擊左鍵或模擬送出鍵盤按鍵
发表于 2014-11-25 11:55:14 | 显示全部楼层
回复 1# goldsuper7

應該是不會吧 我操作過 POST 資料 自動轉入....

你是要控制哪個視窗??
发表于 2014-11-25 14:54:22 | 显示全部楼层
抓图出来看看你要实现那些
 楼主| 发表于 2014-11-25 14:57:48 | 显示全部楼层
T357的正航
正航ERP/生產管理/廠內作業/廠內製令的單據 判斷 判斷完工 未結案 用程式點選 用AUTOIT滑鼠左鍵跟移動滑鼠只有在正航都無法操作
发表于 2014-11-25 15:02:07 | 显示全部楼层
回复 4# goldsuper7

1.方法一 使用 滑鼠模擬操作
2.方法二  動資料庫

滑鼠模擬 會 比較不穩定   晚點我回家有空測試看看 寫個 測試的給你試看看
发表于 2014-11-25 15:10:14 | 显示全部楼层
回复 4# goldsuper7

最好上一下你的程式碼  會清楚問題在哪
 楼主| 发表于 2014-11-25 15:42:53 | 显示全部楼层
MouseMove(210,60)
MouseClick("left")
滑鼠都無反應 使用WIN API也是一樣 只要正航視窗不是在最上層就正常
发表于 2014-11-25 16:36:57 | 显示全部楼层
回复 7# goldsuper7

你的意思是 最上層 就不正常?? 反而在下層 是正常的嗎
发表于 2014-11-25 16:44:05 | 显示全部楼层
本帖最后由 kk_lee69 于 2014-11-25 16:45 编辑

回复 7# goldsuper7

你的意思是 最上層 就不正常?? 反而在下層 是正常的嗎

    給你幾個方向

盡量讓畫面簡單
先測試用鍵盤操作  使用送鍵盤指令  直接呼叫出你要的畫面

我寫的 部分代碼
run("C:\T357\T357.exe")
Opt("WinTitleMatchMode", 4)
Opt("SendKeyDelay", 500)
WinWait("正航系列","註冊")
ControlSetText("正航系列","註冊","TcxCustomCHIInnerTextEdit2",$User)
ControlSetText("正航系列","註冊","TcxCHITextEdit1",$Password)
ControlSetText("正航系列","註冊","TcxCustomCHIComboBoxInnerEdit2",$Company)
ControlClick("正航系列","註冊","TCPlasticButton3")
sleep(1000)
WinWait("正航系列","主菜單")
ControlClick("正航系列","主菜單","TdxBarControl1")
sleep(1000)
Opt("SendKeyDelay",1000)
Send("!D{RIGHT}{DOWN}{DOWN}{ENTER}")
Opt("SendKeyDelay",500)
WinWait("正航系列","POS資料轉入")
sleep(1000)
ControlClick("正航系列","POS資料轉入","TfrmPosConnect1")
sleep(1000)
ControlClick("正航系列","繁體","TCGroupButton1")
sleep(1000)
ControlClick("正航系列","重寫資料","TCCheckBox4")
sleep(1000)


;$posA = ControlGetPos("正航系列","POS資料轉入","TCEdit1")
;MouseClick("left",$posA[0]+30,$posA[1]+35, 2)
 楼主| 发表于 2014-11-26 13:15:50 | 显示全部楼层
您的版本正航是多少
目前使用6.5.2.1625 sp104 之前的CODE就無法使用
发表于 2014-11-26 13:19:10 | 显示全部楼层
回复 10# goldsuper7

我是之前的版本 6.0.1.39

6.5 的 肯定不一樣  連小版本 改了 程式碼 可能都需要改寫

老實說真的不建議  使用鍵盤模擬操作....

所以 後來我都不使用鍵盤滑鼠模擬操作....

能告訴我你想要做甚麼外掛嗎???

正航外掛我寫過不少  後來都是直接動資料庫處理
 楼主| 发表于 2014-11-26 13:37:28 | 显示全部楼层
鍵盤模擬 確實不是好方法
但是動到資料庫又有保固的問題
外掛目前只是把製令單 判斷完工但已結案或未結案可以自動切換
好讓人員能把廠內入庫單完工的事後補工時資料

只是變換版本後 自寫的程式無法使用模擬鍵盤跟滑鼠 只能靠按鍵精靈輔助
明明AUTOIT就 有模擬鍵盤跟滑鼠語法 作用正航無法動作Orz
ControlClick ControlSend 都無法使用 但是ControlGetText可以
发表于 2014-11-26 16:47:01 | 显示全部楼层
回复 12# goldsuper7

說到這邊 晚上我測試一下好了  晚點跟你說我測得的結果
发表于 2014-11-26 17:01:54 | 显示全部楼层
学习了,感谢分享!
发表于 2014-11-28 21:57:16 | 显示全部楼层
回复 12# goldsuper7

我實際測試 6.5.2.1625  SP93 版本

沒有你說的問題

以下的範例為  自動登入
然後 使用鍵盤 ALT+S 加 方向控制到 開啟 廠內置造命令
然用 用滑鼠 移到狀態 的位置  
點擊 切換到狀態功能

run("C:\T357\T357.exe")
Opt("WinTitleMatchMode", 4)
Opt("SendKeyDelay", 500)
WinWait("正航系列","註冊")
ControlSetText("正航系列","註冊","TcxCustomCHIInnerTextEdit2","administrator")
ControlSetText("正航系列","註冊","TcxCHITextEdit1","chi")
ControlSetText("正航系列","註冊","TcxCustomCHIComboBoxInnerEdit2","09")
ControlClick("正航系列","註冊","TCPlasticButton3")
sleep(1000)
WinWait("正航系列","主菜單")
ControlClick("正航系列","主菜單","TdxBarControl1")
;=============教育板用=========
Opt("SendKeyDelay",1000)
Send("{ENTER}")
;=========================
sleep(1000)

Opt("SendKeyDelay",1000)
Send("!S{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{RIGHT}{DOWN}{DOWN}{RIGHT}{ENTER}")
Opt("SendKeyDelay",500)
WinWait("正航系列","廠內製造命令單")
sleep(1000)
MouseMove(189,447)
MouseClick("left")
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-19 18:45 , Processed in 0.083308 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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