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有关系?
[解决办法]
我也碰到过类似问题在用wpf的时候,不同的操作系统显示不同