回 帖 发 新 帖 刷新版面

主题:急求 后台取色 的方法

看见按键精灵的插件可以后台取色,我自己试了一下
使用如下代码好像不行,总是返回 CLR_INVALID

    HDC hDC = ::GetDC(hWindow);
    COLORREF rgb = ::GetPixel(hDC, x, y);
    ::ReleaseDC(hWindow, hDC);
    return rgb;

有潜水的高手指点一下,万分万分的感激,网上都搜索不到答案,.........[em10][em10]

回复列表 (共3个回复)

沙发

要取得桌面上任何窗口,任何地方的颜色?
首先要获得当前鼠标所指的窗口的句柄 HWND hwnd = WindowFromPoint( p );
然后把当前鼠标坐标转换成这个窗口的坐标,再获取DC取色
方法不一定对,嘿嘿,试试吧

板凳

试过,我想取得被其他窗口遮挡的部分
但是无论怎么搞,都只能取得显示在屏幕上的东西;翻遍整个网络都找不到方法啊
真是佩服死那个写插件的人了....难道是直接读取的内存???..

3 楼

呵呵,其它窗口摭挡的部分?

我来回复

您尚未登录,请登录后再回复。点此登录或注册