• getscreen > 因为近来想写个类似于远程桌面监控的程序
  • 因为近来想写个类似于远程桌面监控的程序

    免费下载 下载该文档 文档格式:DOC   更新时间:2007-07-04   下载次数:0   点击次数:1
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:doc
    文档作者:harve
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    因为近来想写个类似于远程桌面监控的程序,该程序中要用到屏幕捕捉.为实现该程序的一部分功能,做了个小DEMO.程序很简单,用到的技术也不多,只能实现类似qq的截图功能(方法虽然很笨)
    程序流程如下:
    1.截取整个屏幕并保存
    2.新开一个全屏窗口,将保存的屏幕作为背景
    3.鼠标拖动改变截取范围,右键取消
    4.双击截取,保存在粘贴板,全屏窗口关闭
    好了,下面的是代码部分
    首先新建一个项目ScreenCutter(VS2005),将窗体名改为MainForm,再新建一个窗体ScreenBody.
    添加一个按钮btnCutter到ScreenCutter并添加按钮事件:
    private void btnCutter_Click(object sender, EventArgs e)
    {
    Image img = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);
    Graphics g = Graphics.FromImage(img);
    g.CopyFromScreen(new Point(0, 0), new Point(0, 0), Screen.AllScreens[0].Bounds.Size);
    ScreenBody body = new ScreenBody();
    body.BackgroundImage = img;
    body.Show();
    }Screen.AllScreens[0]是获取当前所有设备窗口的第一个,我这里只有一个显示器,当然我就是第一个.
    利用Graphics的CopyFromScreen函数获取当前屏幕.
    好了,现在按下按钮全屏窗口就会出来了.
    下面讲全屏窗口ScreenBody,首先设置窗体的FormBorderStyle为None,然后声明以下变量
    private Graphics MainPainter; //主画笔
    private Pen pen; //就是笔咯
    private bool isDowned; //判断鼠标是否按下
    private bool RectReady; //矩形是否绘制完成
    private Image baseImage; //基本图形(原来的画面)
    private Rectangle Rect; //就是要保存的矩形
    private Point downPoint; //鼠标按下的点
    int tmpx;
    int tmpy;
    之后就是窗体的鼠标函数了,里面很多代码都没有作出整理,看了一下,整理后的代码应该会更少更精简的

    private void ScreenBody_DoubleClick(object sender, EventArgs e)
    {
    if (((MouseEventArgs)e).Button == MouseButtons.Left &&Rect.Contains(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y))
    {
    //保存的时候有很多种方法的......我这里只用了这种
    Image memory = new Bitmap(Rect.Width, Rect.Height);
    Graphics g = Graphics.FromImage(memory);
    g.CopyFromScreen(Rect.X + 1, Rect.Y + 1, 0, 0, Rect.Size);
    Clipboard.SetImage(memory);

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 DOC格式下载
  • 您可能感兴趣的
  • getscreen下载  getscreen错位  googlegetscreen  getscreen出错  getscreen教程  getscreenv1.5.0.0  getscreen怎么用  getscreen1.5  getscreenv1.5  getscreen上帝之眼