I know the command tasklist is able to show running processes.

What I want the command line to show only running applications.

Is there such a command on Windows or is there a way to get this list by build-in tasklist's filter?


At Windows Task Manager, there is a tab called Applications (in Windows 10, it's under: Processes > Apps). How do I get that exact list of apps in the command line?


What I mean by "applications" are basically opened window name. As stated in Edit #1, in the Windows Task Manager they call it Applications thus I used that word.

  • @HelpingHand Yes! I am doing my own research on the powershell get-process and right now mustered this: powershell "gps | ? {$_.mainwindowhandle -ne 0} | select ProcessName | ft -hide" but I like your solution more. Also thanks for the blog link, now I know how do Windows categorize the processes into 'Apps'. Please write it as an answer and I will accept it. Jun 17, 2018 at 21:57

2 Answers 2


To quote Raymond Chen, given the following source: https://blogs.msdn.microsoft.com/oldnewthing/20171219-00/?p=97606

When you go to the Processes tab in Task Manager, you see the processes grouped into three categories: App, Background Process, and Windows Process. How does it decide which process goes into which category?

These are terms that Task Manager simply made up. The system itself doesn't really care what kind of processes they are.

If the process has a visible window, then Task Manager calls it an "App".

If the process is marked as critical, then Task Manager calls it a "Windows Process".

Otherwise, Task Manager calls it a "Background Process".

As the question is regarding "Applications" or "Apps" then we are just considering those with a visible Window.

The following Powershell commands maybe sufficient:

powershell "gps | where {$_.MainWindowTitle } | select Description

as might:

powershell "gps | where {$_.MainWindowHandle -ne 0 } | select Description

Related commands: powershell "gps | select *" will provide a list of properties of a process that could be included in a filter or output.


I can use Powershell:

$wd=new-object -com 'word.application'
$wd.tasks|?{$_.visible}|select name

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .