屏幕截取C#程序Word下载.docx
- 文档编号:19716266
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:11
- 大小:104.60KB
屏幕截取C#程序Word下载.docx
《屏幕截取C#程序Word下载.docx》由会员分享,可在线阅读,更多相关《屏幕截取C#程序Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
成绩
日期
2014年12月29日
课程设计任务书
学院
信息科学与工程学院
实践教学要求与任务:
任务:
对屏幕的当前桌面进行捕获。
要求:
1.设计数据结构,存储结构;
2.在c#兼容环境完成上述题目的代码编写与调试;
3.程序运行界面交互性好;
4.软件运行,给出测试数据。
工作计划与进度安排:
数据结构课程设计时间安排在教学第18周、第19周内完成,按上述题目要求完成查阅资料、程序设计、调试、运行等工作。
时间安排如下:
1、查阅资料、与初步设计;
1-2天
2、整体功能设计、代码编码与初步调试。
1-3天
3、调试和软件功能的测试和验收。
4、答辩与论文撰写。
指导教师:
2014年12月日
专业负责人:
2014年12月日
学院教学副院长:
目录
1题目内容及设计要求1
2软件设计2
2.1关键技术分析2
2.2软件模块设计3
2.3软件界面设计4
3软件测试及运行结果5
3.1测试方案……………………………………………5
3.2测试结果……………………………………………5
4收获与体会6
5源代码清单7
参考文献................................................................................10
1、实训题目和实训任务
1.1.实训题目和任务
(1)题目:
屏幕捕获程序
(2)任务:
1.2题目分析
为实现上述程序的功能,我们需要借助Win32API的函数来实现这个功能。
调用Win32API函数,从user32.dll中调用GetDesktopWindow()、GetDC()和ReleaseDC()函数并从gdi32.dll中调用GetCurrentObject()函数。
核心算法主要借助于Win32API的函数来实现这个功能。
1.3开发工具和环境
开发工具:
VisualStudio2003
环境:
Win7
2、软件设计
2.1.关键技术分析
首先,创建一个Windows窗口项目,命名为ScreenCapture。
其次,我们创建一个封装所需要的Win32API函数的类,命名为Capture.cs,在这个类中需要调用Win32API函数,所以要在头部引用System.Runtime.InteropServices命名空间。
然后,在命名为ScreenCapture的主窗口中添加一个容器控件Panel1,然后再Panel1控件内部添加一个图像控件PictureBox1。
因为在默认情况下PictureBox是不自带滚动条的,所以为了能够显示全部的图像,我们可以将Panel1控件的AutoScroll属性设置为True,在窗口的最下方添加一个执行捕获命令的按钮Capture。
2.2软件模块设计
2.1程序流程图
图2.1屏幕捕获程序流程图
2.3.软件界面设计
图2.2软件界面设计图
3、软件测试及运行结果
3.1.测试方案
单击Capture按钮,再单击ScreenCapture对话框中间空白处,出现所获取的屏幕
3.2.测试结果
图3.1测试结果图
4、收获和体会
课程设计是培养学生综合运用所学知识发现提出分析和解决实际问题锻炼时间能力的重要环节,是对我们的实际工作能力的具体训练和考察过程随着科学技术发展的日新月异,当前计算机应用在生活中可以说的是无处不在。
因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而c#又是最常见,功能最强大的一种高级语言,因此做好C++语言课程设计是十分必要的。
通过这次课程设计使我对c#有了初步的认识和深入的了解,也明白了c#在生活中的实际应用,让我对这些方面的内容有了进一步的了解,对c#的上机操作更加熟练。
同学之间的互相帮助,互相探讨,老师孜孜不倦的教导,在图书馆查阅资料等,让我感觉到我不是一个人在战斗。
程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。
再总体解决大的问题。
这样做起来不仅有条理也使问题得到了轻松的解决。
在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。
生活就是这样,汗水预示着结果也见证着收获。
通过这次的课程设计我对于专业课的学习有了更加深刻的认识,以为现在学的知识用不上就加以怠慢,等到想用的时候却发现自己的学习原来是那么的不扎实。
以后努力学好每门专业课,让自己拥有更多的知识,才能解决更多的问题。
5、源代码清单
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Runtime.InteropServices;
namespaceScreenCapture1
{
publicpartialclassForm1:
Form
{
publicForm1()
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
privatevoidpictureBox1_Click(objectsender,EventArgse)
pictureBox1.Image=DeskTopCapture.Capture();
pictureBox1.Size=pictureBox1.Image.Size;
publicclassDeskTopCapture
[DllImport("
user32.dll"
)]
privateexternstaticIntPtrGetDesktopWindow();
privateexternstaticIntPtrGetDC(IntPtrwindowHandle);
gdi32.dll"
privateexternstaticIntPtrGetCurrentObject(IntPtrhdc,ushortobjectType);
privateexternstaticvoidReleseDC(IntPtrhdc);
constintOBJ_BITMAP=7;
publicstaticBitmapCapture()
IntPtrdesktopWindow=GetDesktopWindow();
IntPtrdesktopDC=GetDC(desktopWindow);
IntPtrdesktopBitmap=GetCurrentObject(desktopDC,OBJ_BITMAP);
BitmapdesktopImage=Image.FromHbitmap(desktopBitmap);
//ReleseDC(desktopDC);
returndesktopImage;
}
}
Capture按钮代码:
staticclassProgram
///<
summary>
/summary>
[STAThread]
staticvoidMain()
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newForm1());
参考文献
[1]《数据结构与算法应用实践教程》李文书,北京大学出版社。
[2][C#开发实战宝典].王小科等.扫描版。
[3][精品教程]-VisualC#.NET案例开发集锦。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 屏幕 截取 C# 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)