SPY工具闪框实现方法

Delphi版:

‍procedure DrawWindowFrame(HWND:Thandle); //画闪烁边框
var
    DeskHwnd:Thandle;
    DeskDC:HDC;
    oldRop2:integer;
    rc:Trect;
    newPen:hpen;
    oldPen:HGDIOBJ;
begin
    DeskHwnd:=GetDesktopWindow();//取得桌面句柄
    DeskDC:=GetWindowDC(DeskHwnd);//取得桌面设备场景
    oldRop2:=SetROP2(DeskDC, R2_NOTXORPEN);
    GetWindowRect(hWnd, rc); //获得窗口矩形
    if rc.Left<0 then
    begin
      rc.Left:=0;
    end;
    if rc.Top <0 then
    begin
      rc.Top:=0;
    end;
    newPen:=CreatePen(0, 3, RGB(125,0,125));//建立新画笔,载入DeskDC
    oldPen := SelectObject(DeskDC, newPen);
    Rectangle(DeskDC, rc.left, rc.top, rc.right, rc.bottom); //在指示窗口周围显示闪烁矩形
    Sleep(100);    //设置闪烁时间间隔
    Rectangle( DeskDC, rc.left, rc.top, rc.right, rc.bottom);
    SetROP2(DeskDC, oldRop2);
    SelectObject( DeskDC, oldPen);
    DeleteObject(newPen);
    ReleaseDC( DeskHwnd, DeskDC);
    DeskDC := NULL;
end;

转自:http://hi.baidu.com/xkq722/item/00e0af3da24680ffdf222156

相关文章:http://www.coffnet.com/a/xy/wlbc/2012/0321/277.html

百度不能搜索这方面的内容,召唤Google吧!

posted @ 2012-09-03 14:47  stma  阅读(254)  评论(0)    收藏  举报