版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XX大学课程设计报告课程设计题目:Windows系统资源治理器与任务治理器学院:专业班级:年级:20222022 级姓名:学号:完成时间:20222022 年 7 7 月 3 3 日成绩:指导教师:教务处课程设计指导教师评定成绩表工程分值优秀(100 x90)良好(90 x80)中等(80 x70)及格(70 x60)不及格(x60)评分参考标准参考标准参考标准参考标准参考标准学习态度认学习态度比拟学习态度学习态度尚学习马虎,真,科学作风认真,科学作尚好,遵守可,能遵守组纪律松散,学习态度严谨,严格保风良好,能按组织纪律,织纪律,能按工作作风15证设计时间并期圆满完成任根本保证期完成任务不严谨
2、,不按任务书中规定的进度开展务书规定的任务设计时间,按期完成能保证设计时间和各项工作各项工作进度设计合理、理设计合理、理设计合理,设计根本合设计不合论分析与计算论分析与计算理论分析理,理论分析理,理论分正确,实验数正确,实验数与计算基与计算无大析与计算水 平 与实际能-l-t据准确,有很据比拟准确,本正确,实错,实验数据有原那么错25强的实际动手水平、 经济分析水平和计算有较强的实际动手水平、 经济分析水平和验数据比较准确,有一定的实无大错误,实验数据不口 靠,实际动手机应用水平,计算机应用能际动手能水平差,文力文献查阅水平力,文献引用、力,主要文献引用、调强、引用合理、调查调研比拟献引用、调
3、查调研有倜查调研非常合理、可信查调研比较大的问合理、可信较可信题后重大改良或后较大改良或有一定改有 f 见解观念陈旧创新10独特见解,有新奇的见解,进或新的一定实用价值实用性尚可见解论文(计算书、图纸)50结构严谨,逻辑性强,层次清楚,语言准确,义字流畅,完全符合标准化要求,书写工整或用计算结构合理,符合逻辑,文章层次清楚,语后准确,义字流畅,符合规范化要求,书写工整或用计结构合理,层次较为清楚,文理通顺,根本到达标准化要求,书写比拟工结构根本合理,逻辑根本清楚,义字尚通顺,勉强达到标准化要求;图纸比拟工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到标准化要求;图撰写壬旦四审机打印成文
4、;图纸非常工算机打印成文; 图纸工整、整; 图纸比较工整、清纸不工整或小清楚整、清楚清楚晰指导教师评定成绩:指导教师签名:重庆大学本科学生课程设计任务书课程设计题目Windows系统资源治理器与任务治理器学院计算机专业网络工程年级09参数和设计要求:(1)熟悉操作系统资源治理原理,掌握编程接口,能够使用高级谛言调用编程接口,设计并实现Windows操作系统资源治理器的全部功能(包括:菜单、图标、右键菜单),实现软件资源和数据资源的治理.(2)掌握操作系统任务与进程概念,熟悉任务与进程治理的方法,通过高级语言编程接口设计并实现Windows操作系统任务治理器的全部功能(包括:菜单、右键菜单、应用
5、程序治理、进程治理、性能显示、联网状态和用户信息).学生应完成的工作:(1)了解Windows操作系统的开展历史(2)了解WindowsXP的体系结构(3)掌握Windows系统API的调用方法(4)设计并实现Windows操作系统资源治理器的全部功能(包括:菜单、图标、右键菜单),实现软件资源和数据资源的治理.(5)设计并实现Windows操作系统任务治理器的全部功能(包括:菜单、右键菜单、应用程序治理、进程治理、性能显示、联网状态和用户信息).目前资料收集情况(含指定参考资料):(1)在互联网上收集相关资料(2)WilliamStallings,OperatingSystemsIntern
6、alsandDesignPrinciples6thEdition,电子工业出版社,2022年课程设计的工作(1)第 1第(2)第 4 天:(3)第 5第(4)第 10 天:(5)第 11 天:(6)第 12 天:方案:3 天:查询、收集资料,学习相关知识;熟悉掌握 API 函数使用;9 天:设计、实现程序;编写课程设计报告;检查程序;修改完善程序与课程设计报告.任务下达日期2022年6月18日完成日期2022年 N 月7日目录摘要第一章课程设计要求第二章设计概要2.1功能设计2.2程序系统功能模块2.2.1Windows任务治理器功能模块2.2.2Windows资源治理器功能模块2.3功能分析
7、2.1.1Windows任务治理器功能流程图2.1.2Windows资源治理器功能流程图2.1.3Windows任务治理器界面截图2.1.4Windows资源治理器界面截图2.1.5程序主要功能说明第三章调试分析与测试结果3.1Windows任务治理器3.1.1根本界面3.1.2进程状态查看3.1.3CPU状态查看3.1.4进程治理功能3.2Windows资源治理器3.2.1根本界面3.2.2剪切功能的实现3.2.3复制功能的实现3.2.4删除功能的实现第四章设计总结第五章参考文献操作系统是一个介于软件和硬件之间的特殊硬件,一方面分配硬件资源另一方面支持软件在它上面的实现,如何实时地监控和掌握
8、系统软硬件工作的状态、 资源分配和使用的情况,对计算机用户而言十分重要,于是就有了任务治理器这样的实时监控窗口;同理,我们也需要掌握计算机硬件设备的工作状态,掌握其如何存储文件、分配硬盘资源等,这也是我们做资源治理器的初衷.我们的电脑需要我们去了解它的运行状况,掌握和治理它的进程,并对其异常情况给予操作和限制,任务治理器就像是我们了解和限制自己电脑运作的一个窗口,通过这个窗口我们可以了解到电脑所有进程运行状况,并对运行的进程加于治理和限制,正如在本实验中,启动进程治理器后,可以通过获取进程功能来获得本计算机启动的进程,以及与该进程相关的信息,其中包括的信息有:进程映像名称,进程开启的线程数,进
9、程的PID以及进程的优先数,我们可以通过这些信息来了解计算机中每个进程的使用状况.同时我们可以在进程治理器上选中一个要终止的的进程,点击“终止进程功能按钮,该进程被终止执行并退出进程列表,其中还包括了自动刷新的功能,止匕按钮实现的功能正如我们电脑任务治理器的“进程功能,当电脑执行程序不能通过关闭窗口进行正常的关闭时,可以借助此方法来关闭进程.我们还可以通过这个进程治理器来启动新的进程,当我们要在进程治理器里启动新的进程时,只要点击“启动新进程按键,那么会弹出“翻开进程对话框,我们可以通过对话框里的“浏览窗口选择要翻开的新进程,这是任务治理器里没有实现的功能,通过这个功能我们在治理计算机时变得更
10、加灵活方便,也使进程治理的功能更加完善.在退出此进程治理器时候,只要选择“退出功能按钮那么可关闭进程治理器,快速退出治理器的界面.本治理器设计比拟简洁,操作灵活,使用简单,可以为我们治理和限制计算机的进程提供了一个简便的方法,是我们限制本计算机进程和了解计算机进程情况的良好助手.关键词:任务治理器资源治理器操作系统第一章课程设计要求题目名称:Windows系统资源治理器与任务治理器题目类型:设计型课程设计目的:熟悉操作系统资源治理原理,掌握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源治理器和任务治理器的全部功能.参数和设计要求:(3)熟悉操作系统资源治理原理,掌
11、握编程接口,能够使用高级语言调用编程接口,设计并实现Windows操作系统资源治理器的全部功能(包括:菜单、图标、右键菜单),实现软件资源和数据资源的治理;(4)掌握操作系统任务与进程概念,熟悉任务与进程治理的方法,通过高级语言编程接口设计并实现Windows操作系统任务治理器的全部功能(包括:菜单、右键菜单、应用程序治理、进程治理、性能显示、联网状态和用户信息).实验内容:(6)了解Windows操作系统的开展历史;(7)了解WindowsXP的体系结构;(8)掌握Windows系统API的调用方法;(9)设计并实现Windows操作系统资源治理器的全部功能(包括:菜单、图标、右键菜单),实
12、现软件资源和数据资源的治理;(10)设计并实现Windows操作系统任务治理器的全部功能(包括:菜单、右键菜单、应用程序治理、进程治理、性能显示、联网状态和用户信息).第二章设计概要2.1功能设计本工程是为了实现模拟Windows系统任务治理器和资源治理器.工程的分析及功能设计要求如下:(1)编程模拟实现Windows系统任务治理器和资源治理器两个应用程序;(2)效劳器端可以对文件进行治理,包括上传,下载,删除文件,重命名等;(3)客服端可以实现文件的上传、下载以及查看效劳器下默认目录的文件列表;(4)在程序中应用多线程来实现多个客户端同时对一个效劳器端进行请求操作2.2程序系统功能模块2.2
13、.1Windows任务治理器功能模块图 Windows资源治理器功能模块2.3功能分析WinJHws2 资源治理器Windows 任务治理器2.3.1Windows任务治理器图 Windows图 Windows用户操作鼠标事件上鼠标事鼠标消息件处理2.3.4Windows资源治理器界面截图实时状态监控文件名资源状态显示挎蜀阳断新建、翻开、保存、另编辑出金第窗口新建任 5:、丧文件在:栏页一文斗 d视图总、功能设计查看立即刷新、小图标、详细列帮物帮助资源治理器功能流程图任务治理器界面截图显示数据力捽作滋翻与进程数关于关于关机、注销显示操作效果限制系
14、统新建、切换进程、关闭进程资源文件资资源源数数据据. .用程序树态CPU 状态1 关机进程1、整体界面:2 、 功 能 界 面 展示:“文件功能展示“编辑功能展示“视图功能展示“帮助功能展示2.3.5程序主要功能说明一、Windows任务治理器主要功能代码实现:获得进程代码实现PublicSubListProcess()OnErrorResumeNextDimiAsLong,jAsLong,nAsLongDimprocAsPROCESSENTRY32DimsnapAsLongDimexenameAsString 应用程序名DimitemAsListItemDimlngHwndProcessAs
15、LongDimlngModules(1To200)AsLongDimlngCBSize2AsLongDimlngReturnAsLongDimstrModuleNameAsStringDimpmcAsPROCESS_MEMORY_COUNTERSDimWKSizeAsLongDimstrProcessNameAsStringDimstrCommentAsString装载进程注释的字符串DimProClassAsString程序的类名开始进程循环snap=CreateToolhelpSnapshot(TH32CS_SNAPall,0)proc.dwSize=Len(proc)theloop=Pr
16、ocessFirst(snap,proc)i=0n=0Whiletheloop0i=i+1翻开指定的进程序,并得到进程的句柄lngHwndProcess=OpenProcess(PROCESS_QUERY_INFORMATIONOrPROCESS_VM_READ,0,proc.th32ProcessID)IflngHwndProcess0Then枚举系统中正在运行的进程模板lngReturn=EnumProcessModules(lngHwndProcess,lngModules(1),200,lngCBSize2)IflngReturn0Then返回特定数目空格的strModuleName=
17、Space(MAX_PATH)获取一个已装载模板的完整路径名称lngReturn=GetModuleFileNameExA(lngHwndProcess,lngModules(1),strModuleName,500)strProcessName=Left(strModuleName,lngReturn)strProcessName=CheckPath(Trim$(strProcessName)IfstrProcessNameThen判断 ITEM 是否已经存在j=HaveItem(proc.th32ProcessID)Ifj=0Then如果没有该进程获取短文件名exename=Dir(str
18、ProcessName,vbNormalOrvbHiddenOrvbReadOnlyOrvbSystem)Ifexename=hh.exeThenMsgBoxSetProClass(proc.th32ProcessID,IDLE_PRIORITY_CLASS)EndIf添加进程 item 进程 IDitem.SubItems(1)=proc.th32ProcessID内存使用pmc.cb=LenB(pmc)获得进程的内存信息,在这里就是计算该进程占用内存多少lret=GetProcessMemoryInfo(lngHwndProcess,pmc,pmc.cb)n=n+pmc.WorkingSe
19、tSizeWKSize=pmc.WorkingSetSize/1024item.SubItems(3)=WKSize&K进程序 IP 号item.SubItems(2)=GetProClass(proc.th32ProcessID)进程图标将获取的图标加到 IMAGE 控件中Else如果已经有该进程pmc.cb=LenB(pmc)获得进程的内存信息,在这里就是计算该进程占用内存多少lret=GetProcessMemoryInfo(lngHwndProcess,pmc,pmc.cb)n=n+pmc.WorkingSetSizeWKSize=pmc.WorkingSetSize/1024计算占用
20、内存获得进程的类名ProClass=GetProClass(proc.th32ProcessID)EndIfEndIfEndIfEndIftheloop=ProcessNext(snap,proc)WendCloseHandlesnap显示总进程数 Label3IfiProCountThenLabel3.Caption=进程数:&iProCount=iEndIfIfnRamUseThen这里的130是后来加上去的.是为了和系统自带的数值一样Label5.Caption=Val(FormatLng(n)+130&MBRamUse=nFori=950ToVal(FormatLng(n)+400St
21、ep-90rampic.Line(0,i)-Step(1200,20),&HFF00&,BFNextiEndIfEndSub调用系统的关于窗PrivateSubabout_Click()OnErrorResumeNextShellAboutMe.hwnd,App.Title,谭建&文程&张源,ByVal0&EndSub退出本程序员PrivateSubclose_Click()tmrRefresh.Enabled=FalseUnloadMeEndSubPrivateSubCloseSystem_Click()tmrRefresh.Enabled=FalseUnloadMeEndSub应用程序切换
22、程序PrivateSubcmdSwitch_Click()DimhwndAsLongDimXAsLongDimlngWWAsLongIfLstApp.ListIndex0ThenBeep:ExitSubhwnd=LstApp.ItemData(LstApp.ListIndex)取得窗口的结构信息lngWW=GetWindowLong(hwnd,GWL_STYLE)IflngWWAndWS_MINIMIZEThen限制窗口的可见性X=ShowWindow(hwnd,SW_RESTORE)EndIf指定一个窗口新的位置第 2 个参数:将窗口置于 Z 序列的顶部X=SetWindowPos(hwnd
23、,HWND_TOP,0,0,0,0,_SWP_NOMOVEOrSWP_NOSIZEOrSWP_SHOWWINDOW)EndSub保持当前位置或保持当前大小或显示窗口弹出新建任务窗PrivateSubCommand1_Click()frmnew.ShowvbModalEndSub结束应用程序还有就是在如果列表中没有活动程序,点击结束程序会退出本身PrivateSubCommand3_Click()OnErrorResumeNextIfLstApp.ListCount=0Then应用程序的类名,和程序的标题DimlpclassnameAsString,lpcaptionAsString程序的句柄号
24、DimHandleAsLongDimRetvalAsLong先是翻开要关闭的程序,其它就是将该程序显示成当前程序ShellLstApp.Text,1Ipclassname=LstApp.TextIpcaption=LstApp.Text,获得程序的句柄号Handle=FindWindow(vbNullString,Ipcaption)用函数关闭应用程序PostMessageHandle,WM_Close,0&,0&所了和列表控件一至,在这里删除列表中的该进程名LstApp.RemoveItemLstApp.ListIndexLstApp.refresh刷新FindAllAppsEndSub结束
25、指定进程功能代码实现PrivateSubCommand4_Click()OnErrorResumeNextDimiAsLong,handAsLong,idAsLongIfMsgBox(确定要结束进程吗?,vbExclamation+vbOKCancel)=vbCancelThenExitSubIfid0ThenEndProidEndIfListProcessEndSubPrivateSubCommand5_Click()DimAboutRetAsLongAboutRet=ExitWindowsEx(EWX_LOGOFF,0)EndSub注销用户功能实现PrivateSubCommand6_Cl
26、ick()DimAboutRetAsLongAboutRet=ExitWindowsEx(EWX_LOGOFF,0)EndSub切换至功能实现PrivateSubcutoverto_Click()cmdSwitch_ClickMe.WindowState=1EndSub改变进程显示方式PrivateSubDetailed_Click()List1.View=lvwReportEndSub结束应用程序功能实现PrivateSubendprograme_Click()Command3_ClickEndSub,关机功能实现PrivateSubExit_Click()frmclose.ShowvbMo
27、dalEndSubCPU 效率监视CpuPicture(0).ScaleMode=vbPixelsCpuPicture(1).ScaleMode=vbPixelsSetQueryObject=NewCCpuwatch对象初始化QueryObject.Initialize翻开时间控件tmrRefresh.Enabled=True调用刷新过程tmrRefresh_Timer,*获得所有系统进程ListProcess窗体总在前SetTopMe,front.Checked*获得系统的当前用户cnt&=199s$=String$(200,0)dl&=GetUserName(s$,cnt)item.Sub
28、Items(2)=正在运行.item.SubItems(1)=WorkstationID设置系统托盘IfWindowState=vbMinimizedThenLastState=vbNormalElseLastState=WindowStateEndIfAddToTrayMe,TrayEndSubPrivateSubForm_Resize()SelectCaseWindowStateCasevbMinimizedMe.Visible=FalseCasevbMaximizedMe.Visible=TrueEndSelectIfWindowStatevbMinimizedThenLastState
29、=WindowStateMe.Visible=TrueEndIfEndSubPrivateSubForm_Unload(CancelAsInteger)RemoveFromTray关闭托盘tmrRefresh.Enabled=FalseUnloadMeEndSubPrivateSubfront_Click()front.Checked=Notfront.CheckedSetTopMe,front.CheckedEndSubPrivateSubjsjc_Click()Command4_ClickEndSubPrivateSubList1_ColumnClick(ByValColumnHeader
30、AsMSComctlLib.ColumnHeader)OnErrorResumeNextWithList1设置 Sorted 为 True 以将列表排序.If(ColumnHeader.Index-1)=.SortKeyThen.SortOrder=(.SortOrder+1)Mod2.Sorted=TrueElse.Sorted=False.SortOrder=0.SortKey=ColumnHeader.Index-1.Sorted=TrueEndIfEndWithEndSub右击菜单,并初使化进程的优先级别PrivateSubList1_MouseDown(ButtonAsInteger
31、,ShiftAsInteger,XAsSingle,yAsSingle)OnErrorResumeNextDimjAsLong,iAsLongIfButton=2ThenIfList1.HitTest(X,y)IsNothingThenExitSubj=List1.HitTest(X,y).IndexList1.ListItems(j).Selected=TrueFori=0To5mnuSetProClassSub(i).Checked=FalseNextCase实时:mnuSetProClassSub(0).Checked=TrueCase高:mnuSetProClassSub(1).Che
32、cked=TrueCase较高:mnuSetProClassSub(2).Checked=TrueCase标准:mnuSetProClassSub(3).Checked=TrueCase较低:mnuSetProClassSub(4).Checked=TrueCase氐:mnuSetProClassSub(5).Checked=TrueEndSelectPopupMenuyouEndIfEndSubPrivateSublog_Click()frmclose.ShowvbModalEndSub双击切换到另一个程序SublstApp_DblClick()cmdSwitch.Value=TrueEnd
33、Sub任务窗FunctionTaskWindow(hwCurrAsLong)AsLongDimlngStyleAsLong调用函数得到指定窗口的信息第一个参数是指定窗口的句柄,第二个是窗口的样式lngStyle=GetWindowLong(hwCurr,GWL_STYLE)If(lngStyleAndIsTask)=IsTaskThenTaskWindow=TrueEndFunction设置进程优先级PublicFunctionSetProClass(ByValPIDAsLong,ByValClassIDAsLong)OnErrorResumeNextDimhwdAsLong在这里得到一个句柄
34、hwd=OpenProcess(PROCESS_SET_INFORMATION,0,PID)调用这个函数设置进程的优先级SetProClass=SetPriorityClass(hwd,ClassID)EndFunction右键菜单PrivateSubLstApp_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,yAsSingle)IfButton=2ThenPopupMenuApplicationEndIfEndSub在这里设置进程优先级PrivateSubmnuSetProClassSub_Click(IndexAsInteger)On
35、ErrorResumeNextDimPIDAsLong,rtnAsLong得到进程 PIDIfmnuSetProClassSub(Index).Checked=TrueThenExitSubSelectCaseIndexCase 1:rtn=SetProClass(PID,HIGH_PRIORITY_CLASS)高Case 2:rtn=SetProClass(PID,32768)较高Case 3:rtn=SetProClass(PID,NORMAL_PRIORITY_CLASS)标准Case 4:rtn=SetProClass(PID,16384)较低Case 5:rtn=SetProClas
36、s(PID,IDLE_PRIORITY_CLASS)低EndSelectIfrtn=0ThenMsgBox无法为进程设置优先级.,vbCriticalEndSub弹出新建任务窗PrivateSubnewfile_Click()frmnew.ShowvbModalEndSubPrivateSubplaseago_Click()cmdSwitch_ClickEndSubPrivateSubrefresh_Click()frmclose.ShowvbModalEndSub刷新PrivateSubrefresh1_Click()FindAllAppsEndSubPrivateSubshowago_Cl
37、ick()showago.Checked=Notshowago.CheckedSetTopMe,showago.CheckedEndSubPrivateSubsmall_Click()List1.View=Index+2List1.Sorted=TrueEndSubPrivateSubSSTab1_DblClick()EndSubPrivateSubTimer3_Timer()DimXAsLongCallGlobalMemoryStatus(minfo)总的内存量X=-minfo.dwTotalPhys/1024Label2(0).Caption=Str$(Int(X)可用的内存量X=minf
38、o.dwAvailPhys/1024Label2(1).Caption=Str$(Int(X)系统缓存Label2(2).Caption=-(Val(Label2(0)-Val(Label2(1)-500)虚拟内存总数X=minfo.dwTotalVirtual/1024Label7(0).Caption=Str$(Int(X/1024)&M可用虚拟内存X=minfo.dwAvailVirtual/1024Label7(1).Caption=Str$(Int(X/1024)&MEndSubPrivateSubTimer4_Timer()Line14.X2=Line14.X2-20Line14.
39、X1=Line14.X1-20IfLine14.X1=0ThenTimer4.Enabled=FalseElseTimer4.Enabled=TrueEndIfEndSubPrivateSubTimer6_Timer()FindAllAppsEndSubCPU 效率监视PrivateSubtmrRefresh_Timer()DimRetAsIntegerDimcntAsIntegerDimiAsInteger返回 CPU 状态Ret=QueryObject.Querycnt=Int(Ret/10+1)CpuPicture(0).Cls去除窗口中的内容IfRet-1ThenFori=0Tocnt
40、-1用 PIC 控件的 LINE 方法在 PIC 上画图,用以显示 CPU 的占用率CpuPicture(0).Line(2,70-(5+i*6)-(79,70-(5+i*6+2),&HFF00&,BFNextiShiftPointsGraphPoints(UBound(GraphPoints)=RetCpuPicture(1).ClsForcnt=LBound(GraphPoints)ToUBound(GraphPoints)-1CpuPicture(1).Line(cnt,80-GraphPoints(cnt)-(cnt+1,80-GraphPoints(cnt+1),&HFF00&Nex
41、tcntCpuLabel.Caption=CStr(Ret)+%Label4.Caption=CPU 使用:&CStr(Ret)+%托盘显示 CPU 使用率SetTrayTipCPU 使用:&CStr(Ret)+%EndIfEndSubCPU 效率监视SubShiftPoints()DimcntAsIntegerForcnt=LBound(GraphPoints)ToUBound(GraphPoints)-1GraphPoints(cnt)=GraphPoints(cnt+1)NextcntEndSub判断 item 是否存在PublicFunctionHaveItem(ByValitemID
42、AsLong)AsLongOnErrorGoTozbbHaveItem=List1.ListItems(ID:&CStr(itemID).IndexExitFunctionzbb:Haveltem=0EndFunction结束一个进程PublicSubEndPro(ByValPIDAsLong)OnErrorResumeNextDimlngHwndProcessAsLongDimhandAsLongDimexitCodeAsLong翻开要结束的进程,把该进程的句柄赋给变量hand=OpenProcess(PROCESS_TERMINATE,True,PID)结束进程TerminateProce
43、sshand,exitCode关闭进程的内核对象(除非对内核对象的所有引用都已关闭,否那么该对象不会实际删除)CloseHandlehandEndSubPrivateSubTimer2_Timer()CheckProcessEndSubPrivateSubTimer1_Timer()ListProcessEndSub将正在运行的应用程序加到列表控件中SubFindAllApps()DimhwCurrAsLongDimintLenAsLongDimstrTitleAsStringDimitemAsListItem先清空LstApp.Clear获取一个窗口的句柄为一个源子窗口寻找第一个兄弟(同级)
44、窗口,或寻找第一个顶级窗口hwCurr=GetWindow(Me.hwnd,GW_HWNDFIRST)DoWhilehwCurrIfhwCurrMe.hwndAndTaskWindow(hwCurr)Then调查窗口标题文字或控件内容的长短intLen=GetWindowTextLength(hwCurr)+1strTitle=Space$(intLen)取得窗体的标题(caption)文字intLen=GetWindowText(hwCurr,strTitle,intLen)IfintLen0ThenLstApp.AddItemstrTitleLstApp.ItemData(LstApp.N
45、ewIndex)=hwCurrEndIfEndIf获取下一个窗口的句柄hwCurr=GetWindow(hwCurr,GW_HWNDNEXT)LoopEndSubPublicFunctionCheckPath(ByValPathStrAsString)AsStringOnErrorResumeNext返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的.PathStr=Replace(PathStr,?,)IfUCase(Left$(PathStr,12)=SYSTEMROOTThenPathStr=GetWinDir&Mid$(PathStr,12)C
46、heckPath=PathStrEndFunction新建一个进程的命令OpenProcess 函数声明PrivateDeclareFunctionOpenProcessLibkernel32_(ByValdwDesiredAccessAsLong,_ByValbInheritHandleAsLong,_ByValdwProcessIdAsLong_)AsLongCloseHandle 函数声明PrivateDeclareFunctionCloseHandleLibkernel32_(ByValhObjectAsLong)AsLongPrivateSubclose_Click()UnloadMeEndSubPrivateSubcmdnew_Click()cmdialo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钻床工岗前复测考核试卷含答案
- 2025-2026学年世界的聚落说课稿
- 印花制网工标准化能力考核试卷含答案
- 计算机芯片级维修工安全风险水平考核试卷含答案
- 锂盐田工岗前安全文化考核试卷含答案
- 木雕工安全检查知识考核试卷含答案
- 2025-2026学年8字绕长绳说课稿 博
- 2025-2026学年初三蛋白质说课稿
- 2025-2026学年帮领导写说课稿
- 2025-2026学年《森林大会》说课稿
- 小学语文新部编版六年级上册全册教案(2026秋新版)
- 满70岁以上换领驾照三力测试题及答案
- 2026年国家公务员考试(国考)行测+申论真题及标准答案(完整版)
- 八年级上册道德与法治第二单元《维护社会秩序》整体教学设计
- 2026年蜜雪冰城加盟考试题及答案
- 产品外观标准检验指导书
- 智联猎头:2026年企业薪酬调研报告
- 场景美术创作技法
- 10KV高压电缆敷设专项施工方案
- 2025年军事理论与国防教育考试题及答案
- 公司门房日常管理制度
评论
0/150
提交评论