读书人

Win API GetPixel 为什么在 WIN2008 3

发布时间: 2013-07-01 12:33:04 作者: rapoo

Win API GetPixel 为什么在 WIN2008 32位 SP1 取得的数据全为 空呢? 谢谢


namespace WpfApplication1
{
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
var desk = GetDesktopWindow();
var dc = GetDC(desk);
var pix = GetPixel(dc, 100, 200);
MessageBox.Show(pix.ToString());
}

public const string USER32 = "user32.dll";

[DllImport(USER32, EntryPoint = "GetDesktopWindow")]
public static extern IntPtr GetDesktopWindow();
[DllImport(USER32, EntryPoint = "GetDC", SetLastError = true)]
public static extern IntPtr GetDC(IntPtr hWnd);
[DllImport("gdi32.dll")]
public static extern uint GetPixel(IntPtr hWnd, int XPos, int YPos);
}
}

以上代码,在XP,WIN7上,都可以正确的取得 屏幕X=100 Y=200的颜色
但是在WIN2008上取得的就为:4294967295 也就相当于0xFFFFFFFF 为空的意思

这是怎么回事?

谢谢
[解决办法]
是不是出异常了?
[解决办法]
wpf貌似是会出现这类问题,用winform算了
------解决方案--------------------


引用:
wpf貌似是会出现这类问题,用winform算了

这个和wpf有关系?
[解决办法]
引用:
引用:wpf貌似是会出现这类问题,用winform算了
这个和wpf有关系?

我也碰到过类似问题在用wpf的时候,不同的操作系统显示不同

读书人网 >C#

热点推荐