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

Hỏi đáp [Solved] Xin hàm tắt tất cả ứng dụng đang chạy trên máy

Thảo luận trong 'Thảo luận chung - Hỏi đáp' bắt đầu bởi Xuan Nghia, 17/11/15.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. Xuan Nghia

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

    Tham gia ngày:
    17/11/15
    Bài viết:
    3
    Đã được thích:
    3
    Sau khi tìm tòi thì em đã chế được đoạn code để tắt 1 ứng dụng trên máy tính khi nhấn Hotkey mình chọn

    Mã (AutoIt):
    HotKeySet("{F6}","exitt")

    Do
    ToolTip("test",0,0)
    Until 0

    Func exitt()
    ProcessClose ("File.exe")
    EndFunc
    Giờ em muốn tắt tất cả các ứng dụng đang chạy thì mình dùng hàm gì, xin các bác chỉ giáo
    Và thêm một hàm để ngoại trừ 1,2 ứng dụng không tắt thì làm sao, xin được chỉ giáo

    P/S: Nếu dùng lệnh CMD ta có lệnh tương tự như:

    Mã (Text):
    taskkill /F /FI "USERNAME eq user_name" /FI "IMAGENAME ne explorer.exe" /FI "IMAGENAME ne dwm.exe"
     
    Chỉnh sửa cuối: 17/11/15
    Phan Dong thích bài này.
  2. Trong

    Trong Thành viên
    • 18/23

    Tham gia ngày:
    4/11/15
    Bài viết:
    23
    Đã được thích:
    85
    Nơi ở:
    Hà Nội
    Các chương trình không muốn đóng thì thêm vào $sListProcessSystem phân cách bằng dâu | nhé!

    Mã (AutoIt):

    Opt("TrayAutoPause", 0)

    HotKeySet("{F6}", "CloseProcess")
    HotKeySet("{F7}", "_Exit")

    While 1
        Sleep(10)
        ToolTip("F6: CloseProcess - F7: Exit", @DesktopWidth / 2, @DesktopHeight / 2, "", 2, 2)
    WEnd

    Func CloseProcess()
        Local $sProcessList = ProcessList()
        For $i = 0 To UBound($sProcessList) - 1
            _CloseProcess($sProcessList[$i][0])
        Next
    EndFunc   ;==>CloseProcess

    Func _CloseProcess($sProcess)
        Local $sListProcessSystem = StringSplit(@ScriptName & "|AutoIt3.exe|SciTE.exe|dllhost.exe|UniKey.exe|explorer.exe|smss.exe|csrss.exe|wininit.exe|services.exe|lsass.exe|svchost.exe|spoolsv.exe|MsMpEng.exe|NisSrv.exe|dasHost.exe|SearchIndexer.exe|OSPPSVC.EXE|audiodg.exe|winlogon.exe|dwm.exe|taskeng.exe|sihost.exe|taskhostw.exe|RuntimeBroker.exe|ShellExperienceHost.exe|SearchUI.exe|SettingSyncHost.exe|SearchProtocolHost.exe|WUDFHost.exe|InstallAgent.exe|WmiPrvSE.exe|HxTsr.exe|SearchFilterHost.exe|rundll32.exe", "|")
        Local $sTrue = False
        For $x = 0 To UBound($sListProcessSystem) - 1
            If $sProcess = $sListProcessSystem[$x] Then $sTrue = True
        Next
        If Not $sTrue Then
            ConsoleWrite("ProcessClose: " & $sProcess & @CRLF)
            ToolTip("ProcessClose: " & $sProcess, @DesktopWidth / 2, @DesktopHeight / 2, "", 2, 2)
            ProcessClose($sProcess)
        EndIf
    EndFunc   ;==>_CloseProcess

    Func _Exit()
        Exit
    EndFunc   ;==>_Exit


     
     
    Chỉnh sửa cuối: 17/11/15
    Phan Dong and Xuan Nghia like this.
  3. Xuan Nghia

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

    Tham gia ngày:
    17/11/15
    Bài viết:
    3
    Đã được thích:
    3
    Cám ơn bạn đã dành thời gian chỉ cho mình. Mình muốn nhấn F6 thì thực hiện đóng tất cả các ứng dụng (trừ một số cái cần thiết) thì nguyên đoạn code là như vầy phải ko bạn?
    Mã (AutoIt):
    HotKeySet("{F6}","exitt")

    Do
    ToolTip("test",0,0)
    Until 0

    Local $sProcessList = ProcessList()
    For $i=0 To UBound($sProcessList)-1
        CloseProcess($sProcessList[$i][0])
    Next

    Func exitt()
    Func CloseProcess($sProcess)
        Local $sListProcessSystem=StringSplit("smss.exe|csrss.exe|wininit.exe|services.exe|lsass.exe|svchost.exe|spoolsv.exe|MsMpEng.exe|NisSrv.exe|dasHost.exe|SearchIndexer.exe|OSPPSVC.EXE|audiodg.exe|winlogon.exe|dwm.exe|taskeng.exe|sihost.exe|taskhostw.exe|RuntimeBroker.exe|ShellExperienceHost.exe|SearchUI.exe|SettingSyncHost.exe|SearchProtocolHost.exe|WUDFHost.exe|InstallAgent.exe|WmiPrvSE.exe|HxTsr.exe|SearchFilterHost.exe|rundll32.exe|", "|")
        For $x=0 To UBound($sListProcessSystem)-1
            If Not StringInStr($sProcess,$sListProcessSystem[$x]) Then
                ConsoleWrite("ProcessClose: " & $sProcess&@CRLF)
                ProcessClose($sProcess)
            EndIf
        Next
    EndFunc
    EndFunc
     
    Phan Dong thích bài này.
  4. Trong

    Trong Thành viên
    • 18/23

    Tham gia ngày:
    4/11/15
    Bài viết:
    23
    Đã được thích:
    85
    Nơi ở:
    Hà Nội
    Vừa chưa test copy lại code nhé! Bên trên đó.
     
    Phan Dong and Xuan Nghia like this.
  5. Xuan Nghia

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

    Tham gia ngày:
    17/11/15
    Bài viết:
    3
    Đã được thích:
    3
    Code chạy rất tốt, cám ơn bạn nhiều.
    Nhưng có một vấn đề nhỏ là khi vào một vaì game như Đột kích CrossFire Full màn hình thì nó không đóng được
    Mình phải nhấn Alt+Tab rồi nhấn Hotkey thì nó mới đóng được game.
    Bạn có cách nào khắc phục được vấn đề này không.
    LÀM PHIỀN THÊM TÍ NHÉ
     
    Chỉnh sửa cuối: 17/11/15
    Phan Dong thích bài này.
  6. Trong

    Trong Thành viên
    • 18/23

    Tham gia ngày:
    4/11/15
    Bài viết:
    23
    Đã được thích:
    85
    Nơi ở:
    Hà Nội
    Có thể Mấy thằng đó có AntiHack nó ko cho gửi Hotkey trong game,

    Bạn thử chạy với quyền Admin xem sao.
    Cả tiếng rồi mà chưa tải xong, ko test đc.

    Mã (AutoIt):
    #RequireAdmin
     
    Phan Dong thích bài này.
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này

Đang tải...