| 
				 (2)调用的关闭计算机的程序代码如下: 
Private Sub closeclient() 
  Dim hProcessHandle As Long 
  Dim hTokenHandle As Long 
  Dim tmpLuid As LUID 
  Dim tkpNew As TOKEN_PRIVILEGES 
  Dim tkpPrevious As TOKEN_PRIVILEGES 
  Dim lBufferNeeded As Long 
 '获取当前进程的一个伪句柄 
  hProcessHandle = GetCurrentProcess() 
  OpenProcessToken hProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hTokenHandle 
  LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid' 获取 LUID 关闭权限 
  tkpNew.PrivilegeCount = 1 ' 设置权限 
  tkpNew.TheLuid = tmpLuid 
  tkpNew.Attributes = SE_PRIVILEGE_ENABLED 
  lBufferNeeded = 0' 使关闭程序标识有效 
'允许当前应用程序有关闭操作系统的权限 
  AdjustTokenPrivileges hTokenHandle, False, tkpNew, Len(tkpPrevious), tkpPrevious, lBufferNeeded 
ExitWindowsEx EWX_FORCE Or EWX_POWEROFF, 0 
End Sub 
将上述关机代码写入每个需要控制的客户端计算机当中,就可以关闭计算机了。图3图4分别为多媒体网络集中管理系统的服务器端与客户端主界面: 
 
  
              图3  服务器端控制软件 
 
  
       图4 客户端控制软件 
四、结语 
本文所阐述的只是多媒体网络控制系统中的几个关键技术,唤醒程序是在VB.NET 2003版中实现的控制台应用程序;关机程序是在VB.6.0中实现的。整个多媒体网络集中管理系统在实际运行中效果很好、各项功能都能实现。 
  
参考文献 
  
[1]欧阳均.基于远程控制的多媒体教室的设计与实现[J].温州大学学报,2007,8:56~58 
[2]如何远程唤醒计算机[EB/OL] http://www.tjcz.com/Article/Catalog13/105.html 2005-9-7 
[3]彭建业,王海峰.基于VB的计算机远程关机的设计与实现[J].现代电子技术,2007,11:85~86 
[4]曹衍龙.Visual Basic 系统开发实例精粹[M].北京:人民邮电出版社,2005,8:358~357 
[5]崔彦峰,银华强等编著. Visual Basic.NET网络编程[M]. 北京:清华大学出版社2004:311~314 			
				 |