1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

AutoHotKey [Hướng dẫn] Cách tạo một auto click không chiếm chuột đơn giản

Thảo luận trong 'AutoHotkey' bắt đầu bởi Milli Master, 10/7/18.

  1. googledoggie

    googledoggie Thành viên mới
    • 1/6

    Tham gia ngày:
    21/12/18
    Bài viết:
    3
    Đã được thích:
    2
    Cẩn thận nhé.
    [​IMG]
     
    Chỉnh sửa cuối: 21/12/18
    Violet thích bài này.
  2. Huân Hoàng

    Huân Hoàng Administrator Thành viên BQT Administrator Super Moderator
    • 93/113

    Tham gia ngày:
    29/9/15
    Bài viết:
    642
    Đã được thích:
    1,181
    Phần lớn chương trình AutoIt và AutoHotKey đều là ngôn ngữ bị các trình diệt virus ghét và bị nhận nhầm là virus (false positive)
    Vui lòng xem các bài sau để hiểu rõ hơn về false posotive:
    - https://www.autoitscript.com/forum/topic/34658-are-my-autoit-exes-really-infected/
    - https://junookyo.blogspot.com/2014/11/tai-sao-autoit-luon-bi-ghet.html
    - http://autoitvn.com/threads/cach-gi...it-bi-nhan-nham-la-virus-false-positive.1405/

    Vì vậy 1 chương trình AutoIt/AutoHotKey thým check trên VirusTotal hoặc bị trình diệt Virus trên máy thým "ăn" luôn thì cũng chưa chắc nó là virus nhoé, mà chẳng qua là do bị nhận nhầm thôi. Mà bị nhận nhầm 5/67 như trong hình là rất rất ít đấy, 1 chương trình iêm viết bằng AutoIt chỉ có vài dòng code thôi là đã bị nhầm lên đến 30/67 rồi =)) Thým có thể tự kiểm chứng bằng cách tự compile một chương trình rồi check thử trên VirusTotal.

    Còn nếu thým vẫn hoài nghi thì chủ thớt @Milimeter đã có chia sẻ source code rồi đấy, thým tự compile sang exe rồi xài thôi.
     
    bentyn, letoai87, manhvu2112 and 2 others like this.
  3. nhatthach

    nhatthach Thành viên mới
    • 1/6

    Tham gia ngày:
    24/6/16
    Bài viết:
    3
    Đã được thích:
    0
    cảm ơn bác
     
  4. googledoggie

    googledoggie Thành viên mới
    • 1/6

    Tham gia ngày:
    21/12/18
    Bài viết:
    3
    Đã được thích:
    2
    Các bạn dùng phần mềm xClicker này cũng có click không chiếm chuột và đặc biệt là không có virus nhé.
    Hãy cẩn trọng với những phần mềm đáng ngờ. Thân.
    Hoàn toàn sạch nhé. Kết quả Virus Total.
    [​IMG]
    [​IMG]
    [​IMG]
     

    Các file đính kèm:

  5. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    Cảm ơn bác Huân. Mà mục đích của @googledoggie là vào review sản phẩm xClicker =))
     
    thiapdo and btduc like this.
  6. googledoggie

    googledoggie Thành viên mới
    • 1/6

    Tham gia ngày:
    21/12/18
    Bài viết:
    3
    Đã được thích:
    2
    Chỉ vì người ta nói một ai đó trong sạch không có nghĩa là anh ta thực sự trong sạch. Chỉ anh ta mới biết rằng anh ta có thực sự trong sạch hay không. Chỉ những ai tạo ra Auto Hotkey mới biết được nó thực sự sạch hay không. Những bài viết về nhận diện nhầm chưa chắc đã là sự thực. Hãy cảnh giác. Thân!
     
    btduc thích bài này.
  7. DuyMinh

    DuyMinh Thành viên năng động
    • 28/34

    Tham gia ngày:
    14/3/17
    Bài viết:
    177
    Đã được thích:
    92
    Về học bài đi chuẩn bị thi học kỳ một đó em ơi. Cái xClicker em bợ đít nó có sạch hay không thì chỉ có mình em biết. Chỉ những ai tạo ra nó mới biết nó sạch hay không? Đừng vội nâng bi nhé. Thân!
     
  8. yutijang

    yutijang Thành viên năng động
    • 28/34

    Tham gia ngày:
    1/7/18
    Bài viết:
    110
    Đã được thích:
    61
    @googledoggie sao lại vào "xưởng sản xuất" mà chê đồ dỏm vậy? Kì ghê, bạn nên biết bạn đang viết bài ở đâu chứ?

    Một bài hướng dẫn hay, chi tiết, cộng thêm mã nguồn sờ sờ ra đó mà bạn lại đi phán xét tác giả??? Đây là diễn đàn học tập, hỗ trợ ngôn ngữ lập trình AutoIT, AutoHotKey và vài ngôn ngữ khác, tại sao bạn không ở lại và học tập? Nếu bạn hoạt động ở đây đủ lâu, dám chắc rằng chính bạn, tự bạn sẽ viết cho riêng mình một tool auto click tuyệt vời, còn hơn cả xClicker mà không cần tìm tải của người khác viết, rồi chực chờ quét xem có virus hay không.
     
    Chỉnh sửa cuối: 21/12/18
    tini102 and Only Love like this.
  9. Only Love

    Only Love Thành viên
    • 18/23

    Tham gia ngày:
    8/9/15
    Bài viết:
    69
    Đã được thích:
    59
    @googledoggie Virustotal chỉ là một công cụ mang tính tham khảo (đối với tôi nó là rác rưởi), đừng đem kết quả của nó mà đi khè cộng đồng autoit nói chung và dân lập trình autoit nói riêng, nhất là đi vào một bài hướng dẫn của người ta (xin nhắc lại, topic này là topic hướng dẫn và chia sẻ source code) rồi lên tiếng "hãy cẩn thận với phần mềm đáng ngờ" rồi đi quảng cáo này nọ, nghe ngứa đít vô cùng. Ng` viết xClicker là Phong, là 1 thành viên hoạt động trong nhóm autoit https://www.facebook.com/phong206 và chính ở diễn đàn này http://autoitvn.com/members/shine206.117/, nếu bro có thắc mắc tại sao lại bị chúng tôi ném đá thì hãy inbox đến 2 địa chỉ tôi đã đưa hỏi bác Phong nhé. Gửi lời chào thân ái và quyết thắng.
     
    tini102 thích bài này.
  10. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    @googledoggie đúng là khó khi xem phần mềm đó chắc chắn là sạch. Nhưng mình khẳng định rằng các lập trình viên tạo ra AutoHotkey và mã nguồn auto click của mình hoàn toàn không có mã độc. Nếu bạn không tin thì đây: https://github.com/Lexikos/AutoHotkey_L/ đây là mã nguồn của AutoHotkey bạn cứ kiểm tra thoải mái, còn mã nguồn auto click của mình ở trên bạn cứ xem. Bài viết của mình chỉ có mục đích là hướng dẫn cũng như là cái mục đích của forum này. Nơi này không phải là nơi mà bạn nói "hãy cẩn thận với phần mềm đáng ngờ" rồi đi quảng cáo này nọ. Gửi lời chào thân ái và quyết thắng. :v
     
    Chỉnh sửa cuối: 22/12/18
    thiapdo thích bài này.
  11. LVT491

    LVT491 Thành viên
    • 18/23

    Tham gia ngày:
    22/12/16
    Bài viết:
    46
    Đã được thích:
    26
    Sao mềnh ko thể tiếp thu và học code đc cái ahk này nhể :((
     
  12. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    woudihalan, LVT491 and yutijang like this.
  13. Khoa Ng

    Khoa Ng Thành viên mới
    • 1/6

    Tham gia ngày:
    13/1/19
    Bài viết:
    1
    Đã được thích:
    0
    Cái này hay vl ý. Đơn giản mà quá hiệu quả. Nhưng mà cậu có thể thêm cái lưu scipt cho lần sau xài đc ko?
     
  14. Darias

    Darias Thành viên mới
    • 1/6

    Tham gia ngày:
    6/4/16
    Bài viết:
    6
    Đã được thích:
    0
    Cái tool nhỏ của bạn hiện có giá 20.000đ/tháng trên akampro.net với chức năng tương tự =)))
     
  15. Phan văn nghiệp

    Phan văn nghiệp Thành viên mới
      0/6

    Tham gia ngày:
    22/3/19
    Bài viết:
    0
    Đã được thích:
    0
    Bác có thể làm auto click đúp chuột chái và enter nhiều lần trong 1 s k ạ
    E mới làm quen nên chưa biết gì
     
  16. PhatNguyen

    PhatNguyen Thành viên
    • 8/11

    Tham gia ngày:
    1/6/19
    Bài viết:
    32
    Đã được thích:
    1
    Thấy bài viết hay quá mình cũng đang tìm hiểu hơn tuần nay, mình dùng Macro creator học cho nhanh, được vài bước như ý, nhưng vấn đề là mình không biết cách làm nó không chiếm chuột. Mình muốn cuộn chuột (lăn chuột) 1 cửa sổ game, nhưng phải trỏ con chuột vào cửa sổ game đó thì nó mới cuộn, di chuyển chỗ khác là không được. Bác nào rành chỉ em với, thanks!
     
    btduc thích bài này.
  17. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    CLICK VÀO ĐÂY ĐỂ XEM PHẦN TRƯỚC
    PHẦN 2
    :
    Ở phần tiếp theo này (có thể là phần cuối) mình sẽ thêm vài ba chức năng (số lần chạy, gửi phím, lưu và mở) và nâng cấp code ở phần trước.
    Đầu tiên là phần giao diện có chút thay đổi

    [​IMG]

    Mã (Autohotkey):
    #NoEnv
    #NoTrayIcon
    #SingleInstance Off
    playing:=0
    RowNumber = 0
    CoordMode Mouse,Window
    SetBatchLines,-1
    ; Cái này là cho phần gửi phím
    SetKeyDelay,10,10
    ; Cái này cho phần lưu
    FileEncoding,UTF-8
    Opt:=[]

    Gui +Alwaysontop +hwndhGui
    Gui Add, Text, x16 y8, Hành động:
    Gui Add, DropDownList, x81 y5 w120 vModeClick, Left||Middle|Right
    Gui Add, Text, x215 y8 ,Delay:
    Gui Add, Edit, x250 y5 w120 h21 vDelayTime number,100
    Gui Add, Text, x374 y11 ,(ms)
    Gui Add, Text, x16 y34 w60 h23 +0x200, Gửi phím:
    Gui Add, Edit, x81 y36 w120 h21 vSendKey,
    Gui Add, CheckBox, x215 y35 w120 h23 vIsCtrlSend Checked, Control Send
    Gui Add, Text, x16 y64 w60 h23 +0x200, Số lần chạy: ; Đặt 0 để chạy vô hạn lần
    Gui Add, Edit, x81 y66 w65 h21 number vtimes,
    Gui Add, UpDown, x128 y66 w18 h21, 1
    Gui Add, ListView, x16 y96 w391 h150 vMyListView, X|Y|Hành động|Gửi phím|Control Send|Delay|Cửa sổ
    Gui,Add,StatusBar
    SB_SetText("Kiếm gì cho tui làm đê :(",1)
    SB_SetIcon("Shell32.dll", 44,1)
    Gui Add, Button, x152 y258 w80 h23 gRunAuto , Chạy (F3)
    Gui Add, Button, x240 y258 w80 h23 gStopAuto , Dừng (F4)
    Gui Add, Button, x328 y258 w80 h23 gDellList, Xóa
    Gui Show, ,Simple Auto Clicker

    ; Cái này là phần menu chuột phải vào listview
    Menu, MyContextMenu, Add, Xóa, DellList
    Menu, MyContextMenu, Icon, Xóa,shell32.dll,132
    Menu, MyContextMenu, Add, Xóa tất cả, DellList
    Menu, MyContextMenu, Icon, Xóa tất cả,shell32.dll,272
    Menu, MyContextMenu, Add,
    Menu, MyContextMenu, Add, Mở..., File
    Menu MyContextMenu, Icon, Mở..., shell32.dll, 4
    Menu, MyContextMenu, Add, Lưu, File
    Menu MyContextMenu, Icon, Lưu, shell32.dll, 259

    Return
    Ở trên bạn có thấy là có phần menu, vì thế mình xử lý nó trước nha
    Đầu tiên là cho cái menu nó hiện khi chuột phải
    Mã (Autohotkey):
    GuiContextMenu:

    if A_GuiControl <> MyListView
        return
    Menu, MyContextMenu, Show, %A_GuiX%, %A_GuiY%
    return
    Được roài, giờ tiếp đến phần xóa nội dung trong listview
    Mã (Autohotkey):
    DellList:

    ; Đang chạy thì không đc xóa
    if playing
        return
    ; Cái này là bấm nút xóa trên gui
    if (A_GuiControl="Xóa")
        LV_Delete()
    ; Khi click vào menu "xóa"
    else if (A_ThisMenuItem="Xóa")
       
    else if (A_ThisMenuItem="Xóa")
    {
        Loop
        {
            RowNumber := LV_GetNext(RowNumber-1)
            if not RowNumber
                break
            LV_Delete(RowNumber)
        }
    }
    else
        LV_Delete()
    return
    Okê roài, giờ mới khổ. Giờ xử lý phần mở với lưu trước rồi kết nối nó lại nha
    Mã (Autohotkey):
    Save:
    if !LV_GetCount()
    {
        MsgBox, 262144, ,Có gì đâu mà lưu ta ??
        return
    }
    SplitPath,DirFile,FileName
    ; Nếu người dùng không bỏ đuôi vào file thì mình thêm vào (sac = Simple Auto Clicker)
    IfNotInString,FileName,.
        FileName.=.sac
    ; Nếu đã có file tên giống vậy trước đó thì xóa đi
    if FileExist(DirFile)
        FileDelete,% DirFile
    ; Lấy dữ liệu từ listview
    ControlGet, Items, List, , SysListView321, ahk_id %hGui%
    ; Ghi vào tệp
    FileAppend,% Items,% FileName
    MsgBox, 262208, ,Đã lưu
    SB_SetText("Trạng thái: Đã lưu",1)
    return

    Open:
    ; Cái này khỏi nói nhá
    if LV_GetCount()
        MsgBox, 262177, ,Hành động này sẽ xóa toàn bộ dữ liệu bạn lưu trước đó. Bạn chắc chứ?
        IfMsgBox,Cancel
            return
    LV_Delete()
    ; Dùng vòng lặp đọc từng dòng sau đó lưu vào listview
    Loop,Read,% DirFile
        LV_Add("",StrSplit(A_LoopReadLine,A_Tab)*)
    LV_ModifyCol(1)
    LV_ModifyCol(2)
    SB_SetText("Trạng thái: Đã mở",1)
    return
    Phù, uống tý nước đi vài vòng rồi tiếp nhá. Giờ thì kết nối phần lưu, mở vào menu chuột phải
    Mã (Autohotkey):
    File:

    Gui +OwnDialogs
    (A_ThisMenuItem="Lưu") ? Opt:=["S18","Lưu","Save.sac"] :  Opt:=["3","Mở"]
    ; Mở hộp thoại mở hoặc lưu
    FileSelectFile,DirFile,% Opt[1],% Opt[3],% Opt[2],Simple Auto Clicker (*.sac)
    if ErrorLevel
        return
    if (A_ThisMenuItem="Lưu")
        gosub,Save
    else
        gosub,Open
    return
    Thêm cái phần kéo thả file đã lưu nữa là xong
    Mã (Autohotkey):
    GuiDropFiles:
    DirFile:=A_GuiEvent
    gosub,Open
    return
    Rồi, quá ngon luôn. Tiếp theo là mình sẽ chỉnh sửa phần thêm nội dung vào cái listview
    Mã (Autohotkey):
    F2::

    ; Không ghi khi đang auto
    if playing
        return
    ; Lưu mấy nội dung của mấy cái control vào biến
    Gui,Submit,Nohide
    ; Quá trình lấy cửa sổ khá mất thời gian nên khóa di chuột tránh người dùng di tùm lum gây sai sót
    BlockInput,MouseMove
    MouseGetPos,,,WinHWND
    WinGetTitle,WinTitle,ahk_id %WinHWND%
    WinGetClass,WinClass,ahk_id %WinHWND%
    ; Phải activate lên mới lấy đc chính xác vị trí click
    WinActivate,ahk_id %WinHWND%
    WinWaitActive,ahk_id %WinHWND%
    MouseGetPos,X,Y
    BlockInput,MouseMoveOff
    LV_Add("",X,Y,ModeClick,SendKey,IsCtrlSend,DelayTime,WinTitle " ahk_class " WinClass)
    ; Canh cột 1,2 cho ngay lại
    LV_ModifyCol(1)
    LV_ModifyCol(2)
    return
    Mình thêm một hàm vô cùng quan trọng thay thế lệnh Sleep sẵn có. Nó rất quan trọng trong phần dừng auto. Vì khi dùng lệnh Sleep sẵn có thì khi mình đã bấm dừng rồi nhưng phải đợi hết thời gian trong Sleep thì vòng lặp ở phần auto mới thực sự dừng.
    Mã (Autohotkey):
    Delay(time,ByRef cancel) {
    start:=A_TickCount
    While !cancel && A_TickCount<(Start+time)
        Sleep 10
    }
    Và cuối cùng là phần chạy auto, nó trông khá khác phần trước do thêm chức năng chạy auto với số lần xác định, nếu bạn muốn nó chạy luôn thì đặt là 0 ở ô số lần chạy, với cả mình có thêm phần gửi phím nữa. Phần gửi phím có hai chế độ SendInput và ControlSend.
    Mã (Autohotkey):
    RunAuto:
    ; Ngăn khi người dùng bấm thêm và ngưng khi chưa ghi thao tác
    if playing or (LV_GetCount()=0)
        return
    Gui,Submit,Nohide
    ; CountTimes: ghi lại số lần lặp
    CountTimes:=0
    ; index: ghi lại số dòng đã đọc của listview
    index:=0
    playing:=1
    ; Đặt times=-1, do vậy CountTimes không thể đạt tới vì thế vòng lặp ở dưới chạy liên tục
    if (Times=0)
        Times=-1
    SB_SetText("Trạng thái: Đang chạy auto",1)
    Loop
    {
        ; Hết một lần chạy
        if (index=LV_GetCount())
        {
            ; Đọc lại số dòng từ đầu
            index:=0
            ; Tăng số lần chạy
            CountTimes++
        }
        ; Do CountTimes ban đầu = 0 và nó sẽ +1 qua từng vòng lặp, nếu times=-1 thì vòng lặp sẽ chạy vô tận
        if (Stop || CountTimes=Times)
            break
        ; Sang dòng tiếp theo trong listview
        index++
        ; Lấy dữ liệu từng dòng
        Loop 7
            LV_GetText(Data_%A_Index%,index,A_Index)
        ; Thay thế lệnh Sleep sẵn có do khi biến stop=0 thì vẫn phải đợi hết sleep mới dừng
        Delay(Data_6,Stop)
        if Stop
            break
        ; Hạn chế lỗi khi người dùng thao tác chuột
        SetControlDelay -1
        ControlClick,x%Data_1% y%Data_2%,%Data_7%,,%Data_3%,,NA
        ; Bỏ qua khi không gửi phím
        if !Data_4
            continue
        ; gửi phím bằng ControlSend khi tick vào CheckBox
        if Data_5
            ControlSend,,% Data_4,% Data_7
        ; gửi chiếm màng hình, k chiếm bàn phím nhá
        else
        {
            WinActivate,% Data_7
            SendInput,{Blind}%Data_4%
        }
    }
    stop:=0
    playing:=0
    SB_SetText("Trạng thái: Đã dừng auto",1)
    return
    Cuối cùng là đặt RequireAdmin() lên đầu để chạy lên hầu hết tất cả cửa sổ
    Mã (Autohotkey):
    RequireAdmin()

    {
    CommandLine := DllCall("GetCommandLine", "Str")

    If !(A_IsAdmin || RegExMatch(CommandLine, " /restart(?!\S)")) {
        Try {
            If (A_IsCompiled) {
                Run *RunAs "%A_ScriptFullPath%" /restart
            } Else {
                Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%"
            }
        }
        ExitApp
    }
    }
    Dưới đây là code đầy đủ
    Nội dung bị ẩn:
    ** Nội dung ẩn: Bạn phải nhấn 'Like' trước khi bạn có thể xem các dữ liệu ẩn chứa ở đây. **
    Cuối cùng thân chào tất cả các bạn :)
     

    Các file đính kèm:

    Chỉnh sửa cuối: 25/11/21
    KietVo, thainh107, 43Nobita and 395 others like this.
  18. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    Phần click thì đc bạn ạ
     
    toanxk1347 and btduc like this.
  19. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    Mình không chơi game nên chưa thử test, để mình xem lại.
     
  20. Milli Master

    Milli Master ??
    • 93/113

    Tham gia ngày:
    9/7/16
    Bài viết:
    106
    Đã được thích:
    2,301
    Nơi ở:
    Thủ Đức, TP Hồ Chí Minh
    Bạn thử lệnh ControlSend xem có hoạt động không
     
  21. bnlock

    bnlock Thành viên mới
    • 1/6

    Tham gia ngày:
    5/7/19
    Bài viết:
    6
    Đã được thích:
    0
    Hay lắm
     

Chia sẻ trang này

Đang tải...