KillBill, vol. 1: find and close processes.

Post your working scripts, libraries and tools
Posts: 1425
Joined: 22 Jan 2017, 19:37

KillBill, vol. 1: find and close processes.

10 Nov 2019, 16:12

I frequently find myself with a host of unwanted processes list in Task Manager. Recently I created an infinite loop that started Firefox and was left with I-don't-have-a-clue-how-many instances of it running. Enough to eat all my system memory, at least. Killing them all in Task Manager was no fun. Thus this little utility.
It is ALPHA CODE and may sell your firstborn on the black market.

It hiccups often, but usually hitting "Clear" repeatedly mends things. Use with (lots of) caution.
(Seems to run better compiled)

Your comments are appreciated.
I'm sure you know where the name came from :D

Main screen - you can kill processes from here or after filtering. Either way, it requires SHIFT + DOUBLE-CLICK. Hit Clear afterward to be sure the LV updates!
MainScreen.PNG (74.42 KiB) Viewed 1536 times
Filtering for "conhost.exe" - you can kill a process the same way as you do from the main LV. Hit Clear afterward to be sure the LV updates!
filter.PNG (36.55 KiB) Viewed 1536 times
Tray icon:
TrayIcon.PNG (7.77 KiB) Viewed 1536 times
Have fun. Don't break anything.
User avatar
Posts: 1104
Joined: 23 Sep 2017, 13:34

Re: KillBill, vol. 1: find and close processes.

10 Nov 2019, 18:08

Very nice @burque505 :bravo:


20191110180316.png (2.67 KiB) Viewed 1513 times

20191110180337.png (1.28 KiB) Viewed 1513 times

1/10 :thumbdown:

User avatar
Posts: 6660
Joined: 21 Dec 2014, 02:44

Re: KillBill, vol. 1: find and close processes.

10 Nov 2019, 19:40

@burque505 - Great name and icon!

@Hellbent - I'm with you that the whole flat design movement has gone too far. I mainly blame Jony Ive at Apple.
User avatar
Delta Pythagorean
Posts: 573
Joined: 13 Feb 2017, 13:44
GitHub: DelPyth
Location: Somewhere in the US

Re: KillBill, vol. 1: find and close processes.

11 Nov 2019, 03:18

Looks and works great, wouldn't mind a few things though.
An icon for each process, if no icon found, use the default program icon.
And a way to toggle processes that users can interact with. For example: An admin with full power can interact with anything, but a Guest account could only interact with specific processes. Toggling which programs they're able to interact with would be great.

These are at least some suggestions or whatever.

I think I might take this and create something similar with the Death Note design in mind. Just a little something that would tickle my fancy :P

- [AHK].......: Unicode 64-bit
- [OS].........: Windows 10.0.19041
- [GITHUB]...:
- [PAYPAL]....:
- [DISCORD]..: Tophat Cat // Delta#8888

Remember to use [code]CODE[/code] for your multi-line scripts.
Stay safe, stay inside, and remember to wash your hands for 20 seconds!
Posts: 1425
Joined: 22 Jan 2017, 19:37

Re: KillBill, vol. 1: find and close processes.

14 Nov 2019, 15:53

Thanks, you guys, for your comments. I'll look to incorporate some of the suggestions in the next version. I think next on the list will be a way to kill multiple selected processes at the same time.
@Hellbent, for me it looks like your "Expectation" in your post on Win7, but like your "Reality" on Win10. I'm not sure how I might fix that in a non-trivial fashion.
P.S. I though i posted this 3 days ago, sorry!
User avatar
Posts: 4231
Joined: 09 Sep 2014, 18:38

Re: KillBill, vol. 1: find and close processes.

08 Mar 2020, 12:49

Here is something less fancy but works for visible windows. You can type part of a window title to select a row. Press ENTER to kill the window.

Code: Select all

; Kill a visible window
Process, Priority,, AboveNormal
SoundBeep, 1000, 40
; -------------------------------
exactMatchesToExclude = .Start.Program Manager. ; Separate exact window titles by "."
partialMatchesToExclude = ; Regular expression
lines := 0
; -------------------------------
WinGet, winArray, List ; Get unique ID numbers of all windows
Loop, %winArray% ; Loop through all windows
 winTitle := "ahk_id " . winArray%A_Index%
 WinGet, winStyle, Style, %winTitle% ; Get 8-digit hexadecimal number representing the window's style
 If (winStyle & 0x10000000) ; Window is visible
  WinGetTitle, title, %winTitle% ; Get the window's title
  needle = .%title%.
  If (InStr(exactMatchesToExclude,needle)) OR ((partialMatchesToExclude > "") AND (RegExMatch(title,partialMatchesToExclude)))
  If (title > "") ; Window has a non-null title
   If (lines > 0) ; This window is not the first with a non-null title
    box .= "`t" ; Add a tab as a delimiter
   box .= title ; Add the window title
Gui, Font, s10, Arial
Gui, Color, F9FF59
Gui +DelimiterTab +AlwaysOnTop -MinimizeBox -MaximizeBox
width := A_ScreenWidth - 400
Gui, Add, ListBox, w%width% r%lines% Sort vchoice, %box%
Gui, Add, Button, x+10 default w12, Kill ; Pressing ENTER will run subroutine "ButtonKill"
Gui, Add, Button, y+10 w12, Copy
Gui, Show, AutoSize Center, Visible windows (%lines%)
; =============================
; -----------------------------
#IfWinActive Visible windows
^c::Gosub, ButtonCopy ; Press CTRL-C to copy the window title to the Windows clipboard
; -----------------------------
ControlGet, text, Choice
Clipboard = %text%
Gui, hide
MsgBox, 64, Copied to Windows clipboard, %text%
Gui, show
; -----------------------------
Gui, Submit
If (choice = "")
MsgBox, 292, Confirm kill, %choice%
IfMsgBox Yes
 TrayTip, Killing, %choice%,, 1
 WinKill, %choice%
 Sleep, 1000
 Gui, show
Last edited by mikeyww on 08 Mar 2020, 15:05, edited 8 times in total.
Posts: 1425
Joined: 22 Jan 2017, 19:37

Re: KillBill, vol. 1: find and close processes.

08 Mar 2020, 14:01

Thanks for sharing that, @mikeyww. I'm sure many people will use it. I usually use KillBill for non-visible windows, orphaned conhost.exe, chrome.exe, cmd.exe and the like.

Return to “Scripts and Functions”

Who is online

Users browsing this forum: carno, Frosti, Gio, KruschenZ, swub and 31 guests