VB 怎样后台获取指定窗口内颜色?
http://zhidao.baidu.com/question/102882060.html这里有一种方法后台获取指定点颜色,但这方法如果指定的窗口被其它窗口盖住就不能...
http://zhidao.baidu.com/question/102882060.html
这里有一种方法后台获取指定点颜色,但这方法如果指定的窗口被其它窗口盖住就不能获取到正确的颜色了。
网上还有一种方法是先把指定的窗口截图放到Picture控件再找色,怎样可以全后台,不用控件不会因为窗口被覆盖而获取不了颜色的方法呢?
麻烦高手写个例子,可以的话加点注释方便学习,先谢谢了。
kamael_147 谢谢你的回答,不过getpixel不可以做到被档住也能获取颜色值啊,你说这涵数就是我问题那网址的第一个例子。 展开
这里有一种方法后台获取指定点颜色,但这方法如果指定的窗口被其它窗口盖住就不能获取到正确的颜色了。
网上还有一种方法是先把指定的窗口截图放到Picture控件再找色,怎样可以全后台,不用控件不会因为窗口被覆盖而获取不了颜色的方法呢?
麻烦高手写个例子,可以的话加点注释方便学习,先谢谢了。
kamael_147 谢谢你的回答,不过getpixel不可以做到被档住也能获取颜色值啊,你说这涵数就是我问题那网址的第一个例子。 展开
3个回答
展开全部
阿弥陀佛。老衲来了。多年不回答问题了= =+
= =注意。getpixel的第一个参数不是窗口句柄。楼主不要看错
他是一个容器的hdc句柄。容器句柄。并不是窗口句柄。
后台取色getpixel的像素点是取不了的。覆盖就不行
PrintWindow可以。变通一下就可以达到后台取色。覆盖也可以取色。
但是也有一个条件。不能最小化。
至于PrintWindow的用处。那是很简单。看msdn上边有。给你申明一个
'//vb的
Declare Function PrintWindow Lib "user32" (ByVal Hwnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long
'//sdk
BOOL PrintWindow(
HWND hwnd, // Window to copy
HDC hdcBlt, // HDC to print into
UINT nFlags // Optional flags
);
估计楼主做坏事。就这样。已经很详细了。
后台也就是这个api函数最完美了。
不来了。原来是 匿名回答。不给分的= =
= =注意。getpixel的第一个参数不是窗口句柄。楼主不要看错
他是一个容器的hdc句柄。容器句柄。并不是窗口句柄。
后台取色getpixel的像素点是取不了的。覆盖就不行
PrintWindow可以。变通一下就可以达到后台取色。覆盖也可以取色。
但是也有一个条件。不能最小化。
至于PrintWindow的用处。那是很简单。看msdn上边有。给你申明一个
'//vb的
Declare Function PrintWindow Lib "user32" (ByVal Hwnd As Long, ByVal hdcBlt As Long, ByVal nFlags As Long) As Long
'//sdk
BOOL PrintWindow(
HWND hwnd, // Window to copy
HDC hdcBlt, // HDC to print into
UINT nFlags // Optional flags
);
估计楼主做坏事。就这样。已经很详细了。
后台也就是这个api函数最完美了。
不来了。原来是 匿名回答。不给分的= =
参考资料: www.imoling.com
展开全部
仔细研究下PrintWindow函数。。网上例子很多的。。有问题大家一起讨论,共同学习。
另外getpixel可以取得被挡住的窗口的颜色值,注意你说的例子中getpixel函数中的第一个参数是窗口句柄,你可以用findwindow函数获得要截图的窗口的句柄。
另外getpixel可以取得被挡住的窗口的颜色值,注意你说的例子中getpixel函数中的第一个参数是窗口句柄,你可以用findwindow函数获得要截图的窗口的句柄。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以。。。要在前面和能读到
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询