防QQ截图C#实现

时间:2024-10-20 00:17:12

1、创建一个Windows窗体项目,打开visual studio2017 ,选择文件->新建->项目,visual C#下的窗体应用项目,项目名为“防QQ截图”

防QQ截图C#实现

2、更改默认窗体Form1的Name属性为frm_main,在窗体上添加一个Button控件,用来实现仿QQ截图功能。默认窗体的名称设为“仿QQ截图”。

防QQ截图C#实现

3、在项目中添加一个Windows窗体,命名为frm_browser,实现截图功能。将frm_browser的FormBoderStyle设置为“none”;

防QQ截图C#实现

4、在截图按钮中实现抓取整个屏幕的图片,然后将抓取的图片传到第个第二个窗体作为背景。创建一个Image的对象 img = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);用来存储整个屏幕。用CopyFromScreen方法来捕获整个屏幕图像,g.CopyFromScreen(new Point(0, 0), new Point(0, 0), Screen.AllScreens[0].Bounds.Size);具体代码如下:

防QQ截图C#实现

5、定义全局变量,在窗体加载的试试初始化。public Image ig,这个变量是frm_main抓取的整个屏幕图片。

防QQ截图C#实现

6、窗体MouseDown事件,左键设置起始点、画矩形,右键在没有选择区域的时候单击关闭窗体。具体代码如下:

防QQ截图C#实现

7、在MouseUp时候,设置变量为默认值。MouseMove中先判断左键是否按下,如果按下,则开始获取鼠标拖动后绘制的选取。

防QQ截图C#实现

8、双击事件,判断是否双击了鼠标左键,如果是,则获取鼠标选择的区域,并存入系统剪贴板中。用Clipboard.SetImage(memory);将图片存入系统剪贴板。

防QQ截图C#实现

9、截图窗体没有关闭按钮,我们这里用键盘上的Esc关闭

防QQ截图C#实现

10、OK,我们的截图功能基本实现了。现在就来测试下吧。编译运行软件,介入截图主界面,

防QQ截图C#实现

11、单击截图会将整个屏幕页面截取,点鼠标左键不松,移动鼠标就会绘制一个选中的区域,松开鼠标,双击左键会将截图区域保存早剪贴板中。下面就是移动鼠标所产生的红框。

防QQ截图C#实现

12、现在讲我们剪贴板中的图片粘贴到画图软件中,就可以看到截图后的效果了。

防QQ截图C#实现
© 手抄报圈