如题

解决方案 »

  1.   

    你说的是用DELPHI程序实现吗?
    如果不是你可以用print screen sys rq键实现!
    有问题请发信息到我的E-mail:[email protected]
      

  2.   

    你也可以通过Timer控件实现!
    procedure TForm2.Timer1Timer(Sender: TObject);
    var
    Fullscreen:Tbitmap;
    FullscreenCanvas:TCanvas;
    dc:HDC;
    begin
    timer1.Enabled:=false;
    Fullscreen:=TBitmap.Create;
    Fullscreen.Width:=screen.width;
    Fullscreen.Height:=screen.Height;
    DC:=GetDC(0);
    FullscreenCanvas:=TCanvas.Create;
    FullscreenCanvas.Handle:=DC;
    Fullscreen.Canvas.CopyRect(Rect
    (0,0,screen.Width,screen.Height),fullscreenCanvas,
    Rect(0,0,Screen.Width,Screen.Height));
    FullscreenCanvas.Free;
    ReleaseDC(0,DC);
    image1.picture.Bitmap:=fullscreen;
    image1.Width:=fullscreen.Width;
    image1.Height:=fullscreen.Height;
    fullscreen.free;
    form2.WindowState:=wsMaximized;
    form2.show;
    messagebeep(1);
    foldx:=-1;
    foldy:=-1;
    image1.Canvas.Pen.mode:=pmnot;
    //笔的模式为取反
    image1.canvas.pen.color:=clblack;
    //笔为黑色
    image1.canvas.brush.Style:=bsclear;
    //空白刷子
    flag:=true;
    end;
    procedure TForm2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    if trace=true then//是否在追踪鼠标?
    begin//是,擦除旧的矩形并画上新的矩形
    with image1.canvas do
    begin
    rectangle(x1,y1,oldx,oldy);
    Rectangle(x1,y1,x,y);
    oldx:=x;
    oldy:=y;
    end;
    end
    else if flag=true then//在鼠标所在的位置上画十字
    begin
    with image1.canvas do
    begin
    moveTo(foldx,0);//擦除旧的十字
    LineTo(foldx,screen.height);
    moveto(0,foldy);
    lineto(screen.width,foldy);
    moveTo(x,0);//画上新的十字
    LineTo(x,screen.height);
    moveto(0,y);
    lineto(screen.width,y);
    foldx:=x;
    foldy:=y;
    end;
    end;
    有问题请发信息到我的E-mail:[email protected]