public static extern IntPtr OpenDesktop(string lpszDesktop , OpenDesktopFlag dwFlags , bool fInherit , DesktopAccessRight dwDesiredAccess );
public static extern IntPtr OpenInputDesktop(uint dwFlags, bool fInherit, DesktopAccessRight dwDesiredAccess);
internal static extern IntPtr OpenInputDesktop(uint dwFlags, [MarshalAs(UnmanagedType.Bool)] bool fInherit, DesktopAccessRight dwDesiredAccess);