一、实验目的
1、熟悉Windows2000/XP中任务管理器的使用。
2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。
二、实验理论基础及教材对应关系
1、实验理论基础:
(1) 操作系统中的进程和线程的概念; (2) 进程PCB的各项指标含意; 2、本实验内容主要对应于教材第2章。
三、实验内容与步骤
1、 启动操作系统自带的任务管理器:
方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。如下图所示:
2、 调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并完成下表(填满即可):
表一:统计进程的各项主要信息
序号 进程名称 1 2 3 4 5 6 7 8 进程ID 线程数量 占用内存 优先级 占CPU时间 虚拟内存
3、 从桌面启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其
结束掉。再从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是 , 原因是 。
4、 在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所有窗口最小化,看看你的计算机系统起来什么样的变
化 、得到的结论是 (说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“
”,切换到进程显示栏上,查看
进程“explorer.exe”的各项信息,并填写下表:
表二:统计线程的各项信息
进程:explorer.exe 中的各个线程 序号 1 2 3 4 5 进程ID 线程ID 基本优先级 当前优先级 CPU时间 上下文开关 6 7 8 9 10 11 12 13 14
6、注意某些线程前有“+”,如图所示:
,说明二者
之间的差异是 。
四、实验材料的提交与成绩评定
lsass.exe 系统进程,用于微软Windows系统的安全机制。
services.exe 微软Windows操作系统的一部分。用于管理启动和停止服务。 winlogon.exe Windows 用户登陆程序,管理用户登录和退出。 csrss.exe 微软客户端/服务端运行时子系统。 smss.exe 会话管理子系统,负责启动用户会话
很多朋友都对窗口句柄比较迷糊,这篇短文就以spy++这个软件为主,介绍下窗体句柄和使用按键插件时
,如果对这个句柄发送消息,即所谓的后台挂机。
spy++这个软件来自VC++,装好VC后,就可以在工具中看到。
我们以“记事本”为例,看看如果给记事本发送按键消息。 首先启动记事本
随后启动SPY++
使用spy++的查找功能
点开后的效果
我们把黑色准星拖动到记事本窗体上
然后点击“确定”,看到了SPY++已经显示了下图红色的内容。
这三个句柄从上到下依次是: 记事本的主句柄 文字输入框的句柄 状态栏的句柄
我们要给记事本发送按键消息,就要选对发送对象(句柄),这里显然,我们要发送给“文字输入框”。我们双击“文字输入框”这里,可以看到“窗口标题”、“窗口大小”、“窗口位置”等信息。点击“类”选项卡,查看下类名是什么,代码里需要类名做参数
好了,基本的数据都有了,下面给出的代码:
1. //打开记事本
2. VBSCall RunApp(\"notepad.exe\") 3. //等待记事本完全打开 4. Delay 100
5. //得到当前窗口句柄 6. dim hwnd
7. Plugin hwnd=Window.Foreground() 8. //查找当前窗口下的子句柄 9. dim edithwnd
10. Plugin edithwnd=Window.FindEx(hwnd,0,\"Edit\ 11. //发送字符串消息
12. Plugin Window.SendString(edithwnd, \"看我发送字符串消息\") 13. //发送回车
14. Plugin Window.SendKeyDown(edithwnd,13) 15. //发送键盘消息
16. Plugin Window.SendKeyDown(edithwnd,asc(\"1\"))
复制代码
因篇幅问题不能全部显示,请点此查看更多更全内容