線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1506
推到 Plurk!
推到 Facebook!

如何知道哪个区域(任意的)被重画了

尚未結案
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-10 09:51:37 IP:218.5.xxx.xxx 未訂閱
有朋友要我做一个小工具,要求是能监控某一区域是否变色(并且不是该工具上的区域,而是其他软件),一旦变色就让鼠标去点击这个区域。请教大大该怎么实现。
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-11 01:07:40 IP:59.104.xxx.xxx 未訂閱
引言: 有朋友要我做一个小工具,要求是能监控某一区域是否变色(并且不是该工具上的区域,而是其他软件),一旦变色就让鼠标去点击这个区域。请教大大该怎么实现。
1. dc:=GetDC(0); //<--抓取桌面HDC BitBlt(Bmp.Canvas.Handle,0,0,Width,Height,dc,Left,Top,SCRROPY); //<-將桌面的畫面複製到bmp內!! 2. 再使用Bmp的ScanLine及CompareMem函數比對!! 3.設定個計時器定時判斷!! Or!!攔劫繪圖API or!攔劫WM_PAINT等訊息
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-13 14:39:37 IP:218.5.xxx.xxx 未訂閱
谢谢jest0024兄,你提供的第一个方法是一个不错的想法,但我担心会影响速度.我原来想到的就是栏截WM_PAINT,但不知应该如何实现,能不能说详细点,如果能提供一个链接就更好了.
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-13 20:14:58 IP:59.104.xxx.xxx 未訂閱
引言: 谢谢jest0024兄,你提供的第一个方法是一个不错的想法,但我担心会影响速度.我原来想到的就是栏截WM_PAINT,但不知应该如何实现,能不能说详细点,如果能提供一个链接就更好了.
使用注射方式,將自己的源碼注射到其他的程序內進行監控!!
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-14 11:03:44 IP:218.5.xxx.xxx 未訂閱
小弟愚钝,不明白什么是注射方式,也可能是两岸的表述上的差异(这个现象确实存在),希望jest0024能给个简单的例子说明.占用你的宝贵时间实在抱歉.
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-14 23:34:49 IP:59.104.xxx.xxx 未訂閱
引言: 小弟愚钝,不明白什么是注射方式,也可能是两岸的表述上的差异(这个现象确实存在),希望jest0024能给个简单的例子说明.占用你的宝贵时间实在抱歉.
之前發表過CreateRemoteThread注射的方式!! http://delphi.ktop.com.tw/topic.php?TOPIC_ID=51114 不過注射的方式還有別的方式像SetWindowHookEx等等~
fangwy
中階會員


發表:99
回覆:139
積分:62
註冊:2003-09-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-17 11:10:03 IP:218.5.xxx.xxx 未訂閱
谢谢jest0024,这几天没时间研究这个主题,你给了我解决问题的方向,有空时我try一try,有什么问题再向你请教。
系統時間:2024-11-24 10:15:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!