按鍵精靈 鎖定視窗起點

我想問一下 如何把座標起點設定在遊戲視窗的左上角

不管我把視窗放在哪裡 都會從遊戲視窗的左上角開始搜尋!!

我的程式碼如下:

IfColor 197,36,"FFFFA5",0 Then (如果點的顏色=X

FindColorEx 13,12,460,450,"0",0,0.9,intX,intY
(從左上到右下找X 找到的座標保存在intX,intY

If intX> 0 And intY> 0 Then (如果intX>0,intY>0
MoveTo intX, intY (滑鼠移到intX,intY
Delay 500 (延遲500毫秒
KeyPress "F5", 1 (F5點擊一次
Delay 500 (延遲500毫秒
LeftClick 1 (左鍵單擊一次
End If (條件結束
Else (否則
EndScript (腳本停止運行
End If (條件結束

這都是定點的 在最左上角開始搜尋 換句話說

我只要把視窗換個位置 這個腳本就無用了!!

請問該如何把座標起始點放在遊戲視窗的左上角??
2014-12-26 2:27 發佈
1.全螢幕

2.桌面底圖用一張可以對齊的方格圖...

3.找遊戲介面左上角的某些特徵(最好是不會動的, 用找圖的方式定位)
這招遇到可以依照視窗大小自動放大縮小的遊戲就沒轍...
不小心拉寬了點視窗, 接下來就是要重新抓圖...

slash410 wrote:
1.全螢幕2.桌面底...(恕刪)


請問一下 第三個方法該用哪種語法 把起點定位?
leaves00219 wrote:
請問一下 第三個方法...(恕刪)


透過FindPic來找
FindPic 0,50,1023,767,"xxx.bmp",0.9,intX,intY

0,50,1023,767 意思就是從0,50 找到1023,767

xxx.bmp 是你要找的圖 (可以用小畫家抓圖後裁切你要找的部分, 另存成.bmp
然後把.bmp放到按鍵精靈的程式位置

0.9是符合程度, 越高就越不容易找到, 但精確度比較高 (1代表完全一樣才算找到)


intX, intY是回傳的位址, 抓到之後把滑鼠定位在該位置即可

slash410 wrote:
透過FindPic來...(恕刪)


不好意思 我現在改用新的語法 但變成抓不到視窗的座標

能否幫我看看哪邊有問題?

// Plugin.Window.Find()會找出遊戲視窗的句柄(控制視窗用的控制碼)
Hwnd = Plugin.Window.Find(0, "未命名-小畫家")
//這一行是找出遊戲視窗的左上與右下角座標
sRect = Plugin.Window.GetWindowRect(Hwnd)
//以下各行的目的是把sRect的各座標分離出來
Dim myarray
myarray=Split(sRect,"|")
//(LX,LY)為遊戲視窗左上角座標 (RX,RY)為遊戲視窗右下角座標
LX = myarray(0)
LY = myarray(1)
RX = myarray(2)
RY = myarray(3)
MoveTo 30+LX, 48+LY
Delay 500
LeftClick 1

我所知道的是 前台座標跟後台不一樣 所以在滑鼠移動那邊

加了LX跟LY 但是滑鼠並不會跑到 小畫家視窗那邊

後來用彈出文字看了一下數值 發現只有-1 請問為甚麼抓不到視窗座標??

leaves00219 wrote:
Hwnd = Plugin.Window.Find(0, "未命名-小畫家")

建議改成
Hwnd = Plugin.Window.Find("MSPaintApp",0)
適用任何版本,
比較不會錯.
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4
感謝兩位大大的回答! 已順利讓遊戲能在任何位置執行!!

方便的話還想請教一下 如何使用多個條件??

例如:X畫面下 A情況執行A B情況執行B C情況執行C

在Y畫面下 執行D

我目前都是用IF ELSE ENDIF 這些去寫

目前有看到別人使用 標記跟跳轉標記的方法

想請問一下該如何使用
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?