Search code examples
c#window-handlesrundll32

GetForegroundWindow throws Win32Exception Access Denied


public partial class Form1 : Form
{
    [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
    private static extern IntPtr GetForegroundWindow();

    public Form1()
    {
        InitializeComponent();
        var proc = Process.GetProcesses().Single(x => x.Handle == GetForegroundWindow());
    }
}

I've tried running the app as Administrator, no go. What am I doing wrong here that I get this exception?


Solution

  • Turns out that the whole loop I was doing was also going over protected processes which resulted in access denied