第2章 Windows任务管理器Word文件下载.docx
- 文档编号:968658
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:31
- 大小:201.85KB
第2章 Windows任务管理器Word文件下载.docx
《第2章 Windows任务管理器Word文件下载.docx》由会员分享,可在线阅读,更多相关《第2章 Windows任务管理器Word文件下载.docx(31页珍藏版)》请在冰点文库上搜索。
❑应用程序模块
应用程序模块主要包括获取计算机系统正在运行的应用程序列表的功能。
❑进程管理模块
进程管理模块主要包括获取当前正在运行的进程列表功能。
❑性能查询模块
性能查询模块主要包括实时获取计算机系统的CPU使用率信息以及内存使用情况信息功能。
❑网络连接信息查询模块
网络连接信息查询模块主要包括实时获取计算机系统网络端口连接状况的信息。
❑用户管理模块
用户管理模块主要包括获取什么用户当前正在使用计算机系统。
❑新建任务模块
新建任务模块主要包括浏览计算机系统中的可执行程序、执行系统中的可执行程序以及取消执行系统的可执行程序等功能。
❑查看系统版本信息模块
查看系统版本信息模块主要是实现查看计算机系统的版本信息功能。
2.2.2系统功能结构
系统的功能结构如图2.1所示。
图2.1系统功能图
2.2.3设计目标
本系统是根据计算机用户使用系统时的实际需求而开发的,完全能够实现用户对计算机系统的监控和查询,通过本系统可以达到以下目标:
❑系统运行稳定,安全可靠。
❑界面设计美观,人机交互界面友好。
❑信息查询灵活、方便、快捷、准确。
❑采用多种方式查询计算机系统相关信息。
2.4主要功能模块设计
2.4.1建立工程框架
在VisualC#中建立Windows任务管理器的基本框架,步骤如下:
(1)单击菜单“文件-->
新建-->
项目”命令,打开“新建项目”对话框,单击左边的“VisualC#-->
Windows”项目类型,选择右边的“Windows窗体应用程序”模板,输入工程名“Windows任务管理器”,并设置路径,如图2.2所示。
图2.2“新建项目”对话框
(2)设置好的属性如图2.2所示,单击“确定”按钮后,就完成了新建工程。
(3)将Form1重命名为“frmMain”,并对所有引用的项目中执行重命名,如图2.3所示。
并将frmMain的Text属性设置为“Windows任务管理器”。
图2.3“重命名”对话框
2.4.2主窗口设计
1.主菜单设计
主窗口菜单设置的主要步骤如下:
(1)单击集成编辑器左边的“工具箱”选项卡,选中“MenuStrip”选项,拖动该工具项到右边的frmMain窗体中,如图2.4所示。
图2.4“MenuStrip”窗口
(2)设计主菜单的各个子项目内容如表2.1所示。
表2.1设计菜单表
文件
选项
关机
帮助
新建任务(运行…)
最小化时隐藏
注销计算机
查看系统版本
退出任务管理器
关闭计算机
重启计算机
休眠计算机
(3)选择“menuStrip1”控件,单击“ToolMenuStripItem”栏,对此菜单项的属性进行设计。
如表2.2所示。
表2.2菜单项属性设计
控件名称
属性类型
属性值
事件类型
事件名
文件ToolStripMenuItem
Name
无
Text
新建任务运行ToolStripMenuItem
新建任务运行ToolStripMenuItem_Click
新建任务(运行...)
退出任务管理器ToolStripMenuItem
退出任务管理器ToolStripMenuItem_Click
选项ToolStripMenuItem
最小化时隐藏ToolStripMenuItem
最小化时隐藏ToolStripMenuItem_Click
关机ToolStripMenuItem
注销计算机ToolStripMenuItem
注销计算机ToolStripMenuItem_Click
关闭计算机ToolStripMenuItem
关闭计算机ToolStripMenuItem_Click
重启计算机ToolStripMenuItem
重启计算机ToolStripMenuItem_Click
休眠计算机ToolStripMenuItem
休眠计算机ToolStripMenuItem_Click
帮助ToolStripMenuItem
查看系统版本ToolStripMenuItem
查看系统版本ToolStripMenuItem_Click
(4)完成“新建任务运行ToolStripMenuItem_Click”事件。
privatevoid新建任务运行ToolStripMenuItem_Click(objectsender,EventArgse)
{
frmCreateExefce=newfrmCreateExe();
fce.ShowDialog();
}
(5)完成“退出任务管理器ToolStripMenuItem_Click”事件。
privatevoid退出任务管理器ToolStripMenuItem_Click(objectsender,EventArgse)
notifyIcon1.Dispose();
Application.Exit();
(6)完成“最小化时隐藏ToolStripMenuItem_Click”事件。
privatevoid最小化时隐藏ToolStripMenuItem_Click(objectsender,EventArgse)
if(ShowInTaskbar==false)
this.最小化时隐藏ToolStripMenuItem.CheckState=CheckState.Unchecked;
ShowInTaskbar=true;
return;
if(ShowInTaskbar==true)
this.最小化时隐藏ToolStripMenuItem.CheckState=CheckState.Checked;
ShowInTaskbar=false;
(7)完成“注销计算机ToolStripMenuItem_Click”事件。
privatevoid注销计算机ToolStripMenuItem_Click(objectsender,EventArgse)
if(DialogResult.Yes==MessageBox.Show("
是否要注销计算机"
"
提示"
MessageBoxButtons.YesNo))
ExitWindowsEx(0,0);
(8)完成“关闭计算机ToolStripMenuItem_Click”事件。
privatevoid关闭计算机ToolStripMenuItem_Click(objectsender,EventArgse)
是否要关闭计算机"
System.Diagnostics.ProcessmyProcess=newSystem.Diagnostics.Process();
myProcess.StartInfo.FileName="
cmd.exe"
;
myProcess.StartInfo.UseShellExecute=false;
myProcess.StartInfo.RedirectStandardInput=true;
myProcess.StartInfo.RedirectStandardOutput=true;
myProcess.StartInfo.RedirectStandardError=true;
myProcess.StartInfo.CreateNoWindow=true;
myProcess.Start();
myProcess.StandardInput.WriteLine("
shutdown-s-t0"
);
(9)完成“重启计算机ToolStripMenuItem_Click”事件。
privatevoid重启计算机ToolStripMenuItem_Click(objectsender,EventArgse)
是否要重启计算机"
shutdown-r-t0"
(10)完成“休眠计算机ToolStripMenuItem_Click”事件。
privatevoid休眠计算机ToolStripMenuItem_Click(objectsender,EventArgse)
是否要休眠计算机"
Application.SetSuspendState(PowerState.Hibernate,true,true);
(11)完成“查看系统版本ToolStripMenuItem_Click”事件。
privatevoid查看系统版本ToolStripMenuItem_Click(objectsender,EventArgse)
frmVersionfv=newfrmVersion();
fv.ShowDialog();
2.用户区设计
(1)打开工具箱选项窗口,在主窗体中添加1个tabControl1选项卡控件,用来区分不同的功能模块。
在tabControl1中新建5个选项卡tabPage1,tabPage2,tabPage3,tabPage4,tabPage5,这些选项卡的Text属性分别是:
应用程序,进程,性能,联网,用户。
(2)在主窗体下边添加状态栏statusStrip1,添加toolStripStatusLabel1、toolStripStatusLabel2、toolStripStatusLabel3和toolStripStatusLabel4,这些状态标志的Text属性分别是:
当前时间:
、当前进程数:
、CPU使用率、可用物理内存。
系统主窗体和用户区设计效果如图2.5所示。
图2.5系统主界面
(3)编写获取状态栏的值的程序。
privatevoidStatusInfo()
toolStripStatusLabel1.Width=150;
toolStripStatusLabel1.Text="
"
+DateTime.Now.TimeOfDay.ToString();
toolStripStatusLabel2.Width=60;
toolStripStatusLabel2.Text="
当前进程数:
+listBox2.Items.Count.ToString();
toolStripStatusLabel3.Width=60;
toolStripStatusLabel3.Text="
CUP使用:
+lblCPU.Text;
toolStripStatusLabel4.Width=60;
toolStripStatusLabel4.Text="
可用物理内存:
+textBox2.Text+"
M"
(4)在工具箱选项窗口选择一个定时器Timer并添加到主窗体中,在timer1控件Tick成员函数中添加状态栏程序代码。
privatevoidtimer1_Tick(objectsender,EventArgse)
StatusInfo();
2.4.3应用程序模块设计
每个执行的应用程序的都含有一个或多个进程,我们可以通过查找进程的方式来找到当前运行的应用程序。
.Net的Process类提供了对本地和远程进程的访问,通过Process类的GetProcess方法可以创建新的Process组件的数组,并将它们与现有进程资源关联。
然后使用foreach循环遍历每一个进程,通过对进程的MainWindowTitle属性进行判断就可以得知此进程是否属于一个应用程序,如果该进程的MainWindowTitle属性值不为空,则可认定该进程属于一个正在运行的应用程序,同时将该进程对象MainWindowTitle属性的内容加入到应用程序列表,如果该属性为空则可以判定该进程不属于一个正在执行的应用程序。
当循环结束时,应用程序列表保存的应用程序信息即为当前系统的运用程序列表。
1.实现目标
应用程序运行信息列表框的设计如图2.6所示。
图2.6应用程序列表框
2.设计步骤
(1)向tabPage1选项卡中添加一个listBox1列表框控件。
其属性列表如表2.3所示。
表2.3属性列表
tabPage1
应用程序
UseVisualStyleBackColor
true
listBox1
Dock
Fill
SelectedIndexChanged
listBox1_SelectedIndexChanged
FormattingEnabled
3.代码实现
(1)编写获取应用程序列表的程序。
privatevoidApplicationList()
if(listBox1.Items.Count>
0)
listBox1.Items.Clear();
Process[]myProcesses=Process.GetProcesses();
foreach(ProcessmyProcessinmyProcesses)
if(myProcess.MainWindowTitle.Length>
listBox1.Items.Add(myProcess.ProcessName.ToString().Trim());
(2)在主窗体frmMain控件Load成员函数中添加获取进程列表程序代码。
privatevoidfrmMain_Load(objectsender,EventArgse)
ApplicationList();
(3)在timer1控件Tick成员函数中添加获取应用程序列表程序代码。
ApplicationList();
(4)添加关闭应用程序的事件listBox1_SelectedIndexChanged。
privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)
Process[]myProcesses=Process.GetProcessesByName(listBox1.SelectedItem.ToString().Trim());
myProcess.CloseMainWindow();
MessageBox.Show("
程序已关闭"
信息"
MessageBoxButtons.OK,MessageBoxIcon.Information);
2.4.4进程模块设计
应用程序运行信息列表框的设计如图2.7所示。
图2.7进程列表框
(1)向tabPage2选项卡中添加一个listBox2列表框控件。
其属性列表如下表所示。
表2.4属性列表
tabPage2
进程
listBox2
(1)编写获取进程列表的程序。
privatevoidProcessList()
if(listBox2.Items.Count>
listBox2.Items.Clear();
ManagementObjectSearchersearcherProcess=newManagementObjectSearcher("
select*fromWin32_Process"
foreach(ManagementObjectmyobjectProcessinsearcherProcess.Get())
listBox2.Items.Add(myobjectProcess.ToString());
ProcessList();
(3)在timer1控件Tick成员函数中添加获取进程列表程序代码。
ProcessList();
2.4.5性能模块设计
计算机运行性能信息列表的设计如图2.8所示。
图2.8运行性能模块框
(1)向tabPage3选项卡中添加2个Pane
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 Windows任务管理器 Windows 任务 管理器
![提示](https://static.bingdoc.com/images/bang_tan.gif)