你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 网络与通信
多媒体网络集中管理(四)
 

客户端侦听服务器连接请求,只要连接上,客户端根据服务器的指令来作出操作,其主要程序代码与步骤如下:

1Private Sub sckserver_ConnectionRequest(ByVal requestID As Long)

sckserver.Accept requested   '服务器首先接收对应客户端申请连接的请求

End Sub

2)彼此建立TCP/IP连接成功后服务器发送“关机”命令

Private Sub sckserver_DataArrival(ByVal bytesTotal As Long)

Dim remotedata As String

sckserver.GetData remotedata    '接收关机命令

If Trim(remotedata) = "关机" Then

    Call closeclient()     '调用关机程序

End If

End Sub

接下来讲解客户端关机程序closeclient()

2.客户端关闭2000/XP操作系统

目前计算机系统多为Windows 2000Windows XPWindows 98系统下的关机比较容易,只需要直接调用关闭计算机函数ExitWindowEx就可以了,而在Windows 2000系统下的调用这个函数只能“注销”而不能实现系统关机。在Windows 2000系统实现关机操作需得到SHUTDOWN许可,得到SHUTDOWN许可需要调用相应的API函数,具体过程如下:

①首先得到当前程序的进程句柄;

②使用这个进程句柄得到当前程序的访问标记;

③生成TOKEN_PRIVILEGES结构;

④有了TOKEN_PRIVILEGES结构后再获得SHUTDOWN权限;

⑤最后使用ExitWindowEx函数进行相关操作。

(1)相关的API函数

1)获得当前进程伪句柄函数GetCurrentProcess,函数声明如下:

    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

2)取得程序访问标记函数OpenProcessToken,函数声明如下:

    Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long

3)查找进程权限函数LookupPrivilegeValue,函数声明如下:

    Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long

    4)获得关机权限函数AdjustTokenPrivileges,函数声明如下:

    Private Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long

    5)关机函数ExitWindowEx

    用于关机操作的一些常数如表2所示。

2

常数值

字符标识

作用

&H20

TOKEN_ADJUST_PRIVILEGES

关机权限标识

&H8

TOKEN_QUERY

标识查询

&H2

SE_PRIVILEGE_ENABLED

私有进程有效

0

EWX_LOGOFF

终止进程系统注销

1

EWS_SHUTDOWN

关闭系统电源

2

EWS_REBOOT

重新启动

4

EWS_FORCE

强行终止没有响应的进程

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089