Get List of open windows in a machine including pop up windows

class Program
{
{
foreach (KeyValuePair<IntPtr, string>lWindow in OpenWindowGetter.GetOpenWindows())

IntPtr lHandle = lWindow.Key;
string lTitle = lWindow.Value;
Console.WriteLine({0}: {1}, lHandle, lTitle);}}
}

================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
namespace GetOpenWindows
{
using HWND = IntPtr;///

Contains a method to get all the open windows.

public static class OpenWindowGetter{///

Returns a dictionary that contains the handle and title of all the open windows.

/// A dictionary that contains the handle and title of all the open windows.
 {
    EnumWindows(delegate(HWND hWnd, int lParam)
     {
        if (hWnd == lShellWindow) return true;

        if (!IsWindowVisible(hWnd)) return true;
        int processId;
        processId= GetWindowThreadProcessId(hWnd,out processId);
        int lLength = GetWindowTextLength(hWnd);
        if (lLength == 0) return true;
        StringBuilder lBuilder = new StringBuilder(lLength);
        GetWindowText(hWnd, lBuilder, lLength + 1);
        lWindows[hWnd] = lBuilder.ToString();
         return true;
      }, 0);
   return lWindows;
 }

delegate bool EnumWindowsProc(HWND hWnd, int lParam);

[DllImport(“USER32.DLL”)]
static extern bool EnumWindows(EnumWindowsProc enumFunc, int lParam);

[DllImport(“USER32.DLL”)]
static extern int GetWindowText(HWND hWnd, StringBuilder lpString, int nMaxCount);

[DllImport(“USER32.DLL”)]
static extern int GetWindowTextLength(HWND hWnd);

[DllImport(“USER32.DLL”)]
static extern int GetWindowThreadProcessId(HWND hWnd, out int processId);

[DllImport(“USER32.DLL”)]
static extern bool IsWindowVisible(HWND hWnd);

[DllImport(“USER32.DLL”)]
static extern IntPtr GetShellWindow();

 }
}

Thanks,
Md. Jawed

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s