Pixel
Mr & Ms Pac-Man
- 5/5/08
- 175
- 0
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.




Ngu quá không hiểu nổi bác này định nói cái gì cả ?????nhung cai auto phan lon dieu ga cho![]()
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

#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
_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
vào đây để xem bài hướng dẫn về _WinAPI_PostMessage của holydakhoaKhi 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

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)Hàm này khác thế nào với ControlSend vậy ???
bài trên lấy từ blog của LeeSaiCó 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()
có ai chơi ngôn ngữ VB không hợp tác với mìn đi![]()
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
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ỉ??


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]