VB程序实现PPT演示文稿记时
2018-03-21张玉虎
摘 要 在电脑、网络普及的今天,PPT(PowerPoint)以其制作简单,功能强大,被广泛运用在专题讲座、工作汇报、项目申报、单位年终述职、述廉等工作中。 比如在单位年终述职、述廉工作中,因为参加的人员较多,为了公平起见,给每人限定时间用PPT演示文稿对自己的工作做介绍,所以设计一款小程序对PPT演示文稿进行记时有一定的实用价值,本文以限定6分钟演示时间为例,介绍VB程序设计、实现的全过程。
【关键词】VB程序设计 PPT演示文稿 记时
1 引言
本程序为驻留程序,设计监测、显示、处理三个模块,监测模块一旦监测到PPT演示文稿运行,立即调用显示模块显示PPT文稿演示时间,如果演示时间到,处理模块将关闭PPT演示文稿,并提示:演示时间到。
程序流程图如图1所示。
2 实现过程
2.1 处理模块的实现
该模块的主要功能是关闭PPT文件,定义一个Killppt(Sppt As String)过程实现。
Private Sub KILLppt(sPPT As String)
Dim PPTSSot As Long
Dim PPTppss As Long
Dim PPTpe As PPTRY32
PPTSSot = CreateToolhelp32Snapshot(&H2;&, 0&)
If PPTSSot <> -1 Then
PPTpe.PPTSize = Len(PPTpe)
PPTppss = Process32First(PPTSSot, PPTpe)
Do While PPTppss
If LCase$(sPPT) = LCase$(Left(PPTpe.PPTexitfl, InStr(1, PPTpe.PPTexitfl, Chr(0)) - 1)) Then
Dim PPTss11 As Long
Dim PPTcode As Long
PPTss11 = OpenProcess(1, False, PPTpe.PPT32pss)
TerminateProcess PPTss11, PPTcode
CloseHandle PPTss11
End If
PPTppss = Process32Next(PPTSSot, PPTpe)
Loop
CloseHandle (PPTSSot)
End If
End Sub
2.2 监测模块的实现
该模块主要检测PPT演示文稿的运行,一旦监测到PPT演示文稿启动运行,调用显示模块开始对PPT演示文稿运行时间进行倒记时,并在屏幕最上方显示倒记时效果,一旦设定的PPT文稿演示时间到,该模块调用处理模块关闭PPT演示文稿,并提示“您的演示时间到”信息;该模块还有一个功能就是保证显示模块一直处在最上面透明显示,不因为演示者操作电脑影响显示效果,通过VB时钟控件实现,主要程序代码如下:
Private Sub Timer1_Timer()
'如何窗体不在最前面,就把窗体放到最前面并透明
If pptrtValue <> SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 300, 300, SWP_SHOWWINDOW) Then
Call SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3) '调用窗体处理的API函数,“通用“处申明
Me.BackColor = vbRed '透明色为红色
SetWindowLong Me.hwnd, -20, GetWindowLong(Me.hwnd, -20) Or &H80000;
SetLayeredWindowAttributes Me.hwnd, vbRed, 0, 1
Label1.BackColor = Me.BackColor
End If
BorderStyle = 0
If Exitppt("POWERPNT.EXE") Then '检测进程……
