首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-07-01 
Win API GetPixel 为什么在 WIN2008 32位 SP1 取得的数据全为 空呢? 谢谢namespace WpfApplication1{///

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的时候,不同的操作系统显示不同

热点排行