设为首页 加入收藏

TOP

18.2.5 在局域网中发送短消息
2013-10-07 00:13:18 】 浏览:262
Tags:18.2.5 局域网 发送 短消息

18.2.5  在局域网中发送短消息

Windows系统提供有信使服务,用户可以通过该服务向局域网中的用户发送信息。为了使用Windows信使服务,需要使用netapi函数NetMessageBufferSend。为了使用该函数,需要从netapi32.dll动态库中导入该函数。

下面根据一个例子来介绍如何在局域网中发送短消息。具体操作步骤如下。
ch1805实例位置:mr\18\sl\05
(1)新建一个基于对话框的应用程序,向对话框中添加按钮、编辑框、静态文本等控件,如图18.9所示。
(2)处理“发送”按钮的单击事件,向指定计算机发送信息。

typedef UINT ( __stdcall *funNetMessageBufferSend) 
(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
void CSendMsgDlg::OnSend()
{
CString name;
m_Merchine.GetWindowText(name);

if (name.IsEmpty())
{
MessageBox("请输出对方名称");
return;
}
//加载网络库
HINSTANCE  hInstance = LoadLibrary("netapi32.dll");
//获取函数入口地址
funNetMessageBufferSend NetMessageBufferSend = (funNetMessageBufferSend)
GetProcAddress(hInstance,"NetMessageBufferSend");
if (NetMessageBufferSend)
{
CString content;
m_Content.GetWindowText(content);
CString localname;
localname.GetBufferSetLength(MAX_PATH);
gethostname(localname.GetBuffer(0), MAX_PATH);
NetMessageBufferSend(NULL,name.AllocSysString(),NULL
,_T(content.AllocSysString()),content.GetLength()*2);
content.ReleaseBuffer();
localname.ReleaseBuffer();
}
FreeLibrary(hInstance);
}

(3)运行程序,效果如图18.10所示。
       
图18.9  对话框设计窗口                    

图18.10  在局域网中发送短消息

【责任编辑:阚书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇18.4.3 使用WinSock类设计网络聊.. 下一篇18.1.3 TCP/ IP协议簇分析

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目