<% dim ModuleName,InfoID,ChannelShortName,CorrelativeArticle,InstallDir,ChannelDir,Keyword,PageTitle,ArticleIntro,Articlecontent Keyword=stripHTML("编程,Visual C#,Windows信使服务") PageTitle=stripHTML("Visual C#实现Windows信使服务") ArticleIntro=stripHTML("") Articlecontent=stripHTML("现在有很多网络管理软件都具备网络上信息实时传送的功能,虽然有些网络通讯软件功能比较强大,有的软件不仅可以传送文本信息,还可以传送二进制文件等。但它们都有一个无法…") ModuleName = stripHTML("programme") InfoID = stripHTML("114950") ChannelShortName=stripHTML("编程") InstallDir=stripHTML("http://www.77169.com/") ChannelDir=stripHTML("programme") %> Visual C#实现Windows信使服务 - 华盟网 - http://www.77169.com
您现在的位置: 华盟网 >> 编程 >> Vc >> 正文

[组图]Visual C#实现信使服务

2012/5/4 作者:不详 来源: 华盟收集
导读 <% if len(ArticleIntro)<3 then Response.Write Articlecontent 'Response.Write "Articlecontent" else Response.Write ArticleIntro 'Response.Write "ArticleIntro" end if %>

  现在有很多网络管理软件都具备网络上信息实时传送的功能,虽然有些网络通讯软件功能比较强大,有的软件不仅可以传送文本信息,还可以传送二进制文件等。但它们都有一个无法克服的缺点,那就是分发比较困难,信息传送双方计算机都需要安装通讯软件的客户端和服务器端软件,并且只有但双方都打开相应软件时,才可能进行信息传送。而信使通讯就可以克服上述缺点,由于信使服务在Windows 2000系统以上都是自带的,并且此服务在安装完Windows 2000以上后的缺省状态是打开的。所以只要网络的二台计算机安装Windows 2000以上系统,不再需要安装其他软件,就可以通过此服务实现信息传送了。当然这种网络信息传送分发也有先天不足,就是只能传送文本信息,如果您需要传送二进制文件等复杂的信息或数据,就无法使用这种方法了。

  一.简介Windows的信使服务及其使用方法:

  首先进入"控制面板",在"管理工具"中选择"服务"后,就可以得到如图01所示界面,图01就是Windows服务的运行窗口:

  

  图01:计算机Windows"服务"运行界面

  信使服务在Windows操作系统中对应的服务名称是"Messager"。Windows操作系统给此服务的定义是"发送和接收系统管理员或者"警报器"服务传递的消息。"在缺省状态信使服务是启动的,如果发现它处于"停止"或者"已禁用"状态,请启动它,因为后面介绍的程序能够正常运行的条件之一就算此服务处于"启动"状态。

  利用Windows系统也可以通过信使服务发送信息,具体操作如下:

  1. 在"桌面"上选中"我的电脑"后,单击鼠标右键,在弹出的菜单中选择"管理"后,弹出"计算机管理"对话框:

  2. 打开"共享文件夹",选中"共享"后,单击鼠标右键,在弹出的菜单中选择"所有任务"中的"发送控制台消息",具体如图02所示,当完成以上操作就可以得到如图03所示界面:

  

  图02:利用"信使服务"实现信息发送界面之一

  3. 在图03所示界面中,单击"添加"按钮,输入要发送到的计算机的IP地址或主机名称,在"消息"文本框中输入要发送的信息后,单击"发送"按钮,则信息就通过信使服务发送到对方了。

  

  图03:利用"信使服务"实现信息发送界面之一

  以上就是利用Windows的自身的信使服务来发送信息的具体步骤。

  二.Visual C#通过信使服务实现网络信息传送关键技术:

  虽然.Net FrameWork SDK中提供了许多开发网络程序的类库,但这些类库中却没有提供调用信史服务的方法,所以要调用信史方法只有使用WinAPI函数,这个WinAPI函数NetMessageBufferSend,它位于"Netapi32.dll"文件中。以下就是NetMessageBufferSend函数在Visual C#中的声明方法:

  [DllImport ( "Netapi32" , CharSet = CharSet.Unicode ) ]

  public static extern int NetMessageBufferSend (

  string servername , //服务器名称,为NULL

  string fromname , //接收方名称,可为IP或计算机名称

  string msgname , //信息名称,为NULL

  string buf , //信息

  int buflen ) ; //信息长度

  对照NetMessageBufferSend函数参数分别输入相应的接收方名称和信息内容即可,可见NetMessageBufferSend的使用方法还是非常简单的。下面就来详细介绍Visual C#通过信史服务实现网络信息传送的具体实现方法。



  • 上一篇编程:

  • 下一篇编程: