远程桌面控制

  • 期末的一个课程设计

一个控制端,一个被控制端。 用同步Sock Tcp连接

控制端:

  1. 被控制端截屏传送图片控制端
  2. 控制端最大化显示图片(去掉边框)
  3. 记录控制端图片的坐标,将坐标传送被控制端

被控制端:

  1. 截屏整个屏幕发送控制端
  2. 接受控制端传送过来的坐标。
  3. 用 mouse_event()API 作出点击的操作

 

被控制端主要编码:

截屏:

复制代码
public void CurScreen()
{          
    Rectangle rect = new Rectangle();

    //创建一个屏幕一样大的Rectangle
    rect = Screen.GetBounds(this);

    //Windows桌面的Graphics对象
    IntPtr ponter = GetDesktopWindow();
    g1 = Graphics.FromHwndInternal(ponter);

    //创建Iamge对象屏幕大小和分辨率
    Image image = new Bitmap(rect.Width, rect.Height,g1);
    Graphics g2 = Graphics.FromImage(image);

    //截屏,将dc1 复制到 dc2
    IntPtr dc2 = g2.GetHdc();
    IntPtr dc1 = g1.GetHdc();

    BitBlt(dc2, 0, 0, rect.Width, rect.Height, dc1, 0, 0, CopyPixelOperation.SourceCopy);

    //释放掉Bitmap的DC 
    g1.ReleaseHdc(dc1);
    g2.ReleaseHdc(dc2);
}
复制代码

 

posted @   WilsonPan  阅读(261)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示