Auto toàn tập - Đọc kỹ trang 1

Là không chiếm chuột ấy, để thời gian còn làm việc khác.
Ôi mê cái này quá :'>
anhso-49_ht.jpg
 
Hiện đang rất cần 1 bản auto ko chiếm chuột (trong quá trình alt+z) và nếu ẩn đc cửa sổ đi thì quá tốt
 
Bản của bác Zhou Hung chả không chiếm chuột còn gì nữa ? http://www.mediafire.com/?zfktmyzjdty . Bản này tui thấy chạy ngon lành mà, ko hề chiếm chuột, tự động ALT+Z sau 5s. Chỉ có cái là bác ý chưa tích hợp kích hoạt tự run sau mỗi 1h thôi. Tôi có sửa lại chuyển sang ALT+Q khi vào trận và tự kích hoạt auto run sau 1h nhưng không được chuẩn lắm bác thích thì tui post. Tại tui đang mắc vấn đề tọa độ click chuột không được ngon lành ...nên chả dám post lên, với lại toàn code ăn trộm :D
 
2 bác Zhou Hung với vampire làm ơn cho xin yahoo được không? Mình đang tập code nên thỉnh thoảng muốn hỏi tí mà chả biết hỏi ở đâu cả.
 
cho mình xin lại cái link send ctrl +Z nha,link media bị die rồi
 
Hiện đang rất cần 1 bản auto ko chiếm chuột (trong quá trình alt+z) và nếu ẩn đc cửa sổ đi thì quá tốt

Tôi đang tìm hiểu 2 hàm postmessage với sendmessage, nếu được thì việc auto có thể ẩn cửa sổ là điều có thể. Ai biết về 2 hàm này ko ? :D
 
Hai hàm này phải include vào à? tui search help không thấy có ...
 
help có mà...
Mã:
#Include <Misc.au3>
_SendMessage($hWnd, $iMsg[, $wParam = 0[, $lParam = 0[, $iReturn = 0[, $wParamType = "wparam"[, $lParamType = "lparam"[, $sReturnType = "lparam"]]]]]])


 

Parameters

$hWnd: handle của cửa sổ sẽ nhận thông điệp (message).
$iMsg: mã hex của thông điệp sẽ được gửi tới cửa sổ 
$wParam: tham số được gửi cùng với thông điệp (phụ thuộc vào thông điệp).
$lParam: tham số được gửi cùng với thông điệp (phụ thuộc vào thông điệp).
$iReturn What to return:
0 - Return value from dll call
1 - $ihWnd
2 - $iMsg
3 - $wParam
4 - $lParam
<0 or > 4 - array same as dllcall 
$wParamType See DllCall in Related 
$lParamType See DllCall in Related 
$sReturnType See DllCall in Related 

 

Return Value

Success: User selected value from the DllCall() result
Failure: @error is set
còn postmessage thì đây:
Mã:
_WinAPI_PostMessage 
--------------------------------------------------------------------------------

Places a message in the message queue and then returns


#Include <WinAPI.au3>
_WinAPI_PostMessage($hWnd, $iMsg, $iwParam, $ilParam)


 

Parameters

$hWnd Identifies the window whose window procedure will receive the message. If this parameter is
$HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible
unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows. 
$iMsg Specifies the message to be sent 
$iwParam First message parameter 
$ilParam Second message parameter
hàm post gửi phím chuẩn hơn hàm send vì:
Khi hàm SendMessage gửi 1 message (thông điệp) cho cửa sổ, thông điệp đó sẽ nằm trong hàng đợi (queue) và chờ cửa sổ xử lý hết các thông điệp trước đó rồi mới đến phiên mình (giống như chúng ta xếp hàng mua đồ vậy đó, ai tới trước thì được trước). Đó chính là sự khác nhau giữa hàm SendMessage và PostMessage.
Hàm PostMessage cũng dùng để gửi 1 thông điệp tới cho cửa sổ nhưng thông điệp đó được xử lý ngay lập tức
vào đây để xem bài hướng dẫn về _WinAPI_PostMessage của holydakhoa
 
Hàm này khác thế nào với ControlSend vậy ???
 
có ai chơi ngôn ngữ VB không hợp tác với mìn đi :D
 
Hàm này khác thế nào với ControlSend vậy ???
hàm Send và ControlSend chỉ dùng để gửi phím, hàm _SendMessage và _WinAPI_Postmessage có thể gửi được nhiều lệnh hơn (xem thêm về Virtual key code)
---------------------------------------------------------------------
Có nhiều cách để giả phím bấm để truyền vào một chương trình. Trong AutoIt thì nó gồm:
- Send
- ControlSend
- ControlCommand
- ControlSetText
- _SendMessage
- _SendMessageA
- _WinAPI_Postmessage

Hầu hết các Game bây giờ có HShield chặn các hàm Send, ControlSend, ControlCommand, ControlSetText nên làm các bạn không truyền phím vào được.

Còn 3 hàm cuối thì ít thấy HShield nào ngăn cản. Bây giờ mình sẽ trình bày cách để truyền phím bấm vào chương trình bằng hàm _WinAPI_Postmessage() (2 hàm SendMessage thì các bạn dựa vào ví dụ của mình để thử tương tự).

Ví dụ: truyền 1 phím "a" vào game Audition chẳng hạn P:

#include <winapi.au3>

While 1
Truyen_phim()
Sleep(100)
WEnd
;Hàm truyền phím
Func Truyen_phim()
If ProcessExist("Audition.exe") Then ;Kiểm tra xem chương trình Audition.exe có hoạt động không
$hWnd = ControlGetHandle("", "", "") ;Lấy Handle bất kỳ (hoặc bạn có thể lấy Handle của cửa sổ Game mà bạn muốn truyền phím vào. Nếu lấy Handle bất kỳ thì Control nào cũng sẽ được truyền một Message như thế. Ở đây do mình không xác định được COntrol nào của Audition.exe nên mới làm thế này)
_WinAPI_PostMessage($hWnd, 0x100, 0x41 , 0) ;truyền phím a
EndIf
EndFunc

Giải thích về hàm _WinAPI_PostMessage($hWnd, $iMsg, $iwParam, $ilParam):
- $hWnd: Handle của Control nhận Message
- $iMsg: Message được gửi đi (các bạn có thể xem thêm ở File Help: Appendix \ Windows Message Codes)
- $iwParam, $ilParam: Các thông số của Message

Giải thích về hàm _WinAPI_PostMessage() trong ví dụ trên:
- $iMsg = WM_KEYDOWN
- $iwParam = "a"
- $ilParam = 0 => không có thông số thứ 2 của Message WM_KEYDOWN

p/s: Đối với các giá trị Hex quy định cho các phím trên bàn phím các bạn có thể xem thêm tại: hàm _IsPress()
bài trên lấy từ blog của LeeSai
 
có ai chơi ngôn ngữ VB không hợp tác với mìn đi :D

Cái này tui cũng đang định học nhưng con chưa biêt tí gì :(



hàm Send và ControlSend chỉ dùng để gửi phím, hàm _SendMessage và _WinAPI_Postmessage có thể gửi được nhiều lệnh hơn (xem thêm về Virtual key code)
---------------------------------------------------------------------
Trích dẫn:
Có nhiều cách để giả phím bấm để truyền vào một chương trình. Trong AutoIt thì nó gồm:
- Send
- ControlSend
- ControlCommand
- ControlSetText
- _SendMessage
- _SendMessageA
- _WinAPI_Postmessage

Hầu hết các Game bây giờ có HShield chặn các hàm Send, ControlSend, ControlCommand, ControlSetText nên làm các bạn không truyền phím vào được.

Còn 3 hàm cuối thì ít thấy HShield nào ngăn cản. Bây giờ mình sẽ trình bày cách để truyền phím bấm vào chương trình bằng hàm _WinAPI_Postmessage() (2 hàm SendMessage thì các bạn dựa vào ví dụ của mình để thử tương tự).

Ví dụ: truyền 1 phím "a" vào game Audition chẳng hạn P:

#include <winapi.au3>

While 1
Truyen_phim()
Sleep(100)
WEnd
;Hàm truyền phím
Func Truyen_phim()
If ProcessExist("Audition.exe") Then ;Kiểm tra xem chương trình Audition.exe có hoạt động không
$hWnd = ControlGetHandle("", "", "") ;Lấy Handle bất kỳ (hoặc bạn có thể lấy Handle của cửa sổ Game mà bạn muốn truyền phím vào. Nếu lấy Handle bất kỳ thì Control nào cũng sẽ được truyền một Message như thế. Ở đây do mình không xác định được COntrol nào của Audition.exe nên mới làm thế này)
_WinAPI_PostMessage($hWnd, 0x100, 0x41 , 0) ;truyền phím a
EndIf
EndFunc

Giải thích về hàm _WinAPI_PostMessage($hWnd, $iMsg, $iwParam, $ilParam):
- $hWnd: Handle của Control nhận Message
- $iMsg: Message được gửi đi (các bạn có thể xem thêm ở File Help: Appendix \ Windows Message Codes)
- $iwParam, $ilParam: Các thông số của Message

Giải thích về hàm _WinAPI_PostMessage() trong ví dụ trên:
- $iMsg = WM_KEYDOWN
- $iwParam = "a"
- $ilParam = 0 => không có thông số thứ 2 của Message WM_KEYDOWN

p/s: Đối với các giá trị Hex quy định cho các phím trên bàn phím các bạn có thể xem thêm tại: hàm _IsPress()
bài trên lấy từ blog của LeeSai

để từ từ xem cai nay coi sao ...

Hàm PixelGetColor() có lấy được màu của cửa sổ không active ko nhỉ??
 
Cái này tui cũng đang định học nhưng con chưa biêt tí gì :(





để từ từ xem cai nay coi sao ...

Hàm PixelGetColor() có lấy được màu của cửa sổ không active ko nhỉ??

hàm PixelGetColor ko lấy được màu của inactive window đâu bạn...
 
Có cách nào biết đã vào trận hay chưa mà không cần active game lên không nhỉ ????
 
Hôm trước mình vừa tim được cái address này (static) 01B4F1E0, khi vào trận nó sẽ có giá trị là 1323776, bình thường là 0. Không biết trên máy khác có dùng được ko ( chưa test), mọi người thử dùng CE freeze nó ở 0 rồi vào battle xem ;;)
 
Bạn có thể send cho mình 1 đoạn code về memory đc không? Tại sao trong CE mình tìm đc cái address thì nó ko có cái 0x ở đằng trước nhỉ?
 
Còn đây là bản auto của tôi, chỉ có 1 chức năng duy nhất: hết 25 lần auto attack tự acvive cái windows cổ long đó và send Ctrl+Z:[/B][/COLOR]


Cho mình xin code của cái này với Vampire ơi
 
Back
Top