[考研英语]信史服务.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[考研英语]信史服务

如何使用WinNT/Win2000的信史服务给别人发信息呢? 用一个API就可以搞定!- NET_API_STATUS NetMessageBufferSend( LPWSTR servername, ???????????????????????????????????? LPWSTR msgname, ???????????????????????????????????? LPWSTR fromname, ???????????????????????????????????? LPBYTE buf, ???????????????????????????????????? DWORD buflen ); ??? 看看MSDN,可能还是有些地方不明白。尤其是第一个参数,其实它不是你发信息的目标计算机名,而是执行此函数的计算机名。第二个参数才是你发信息的目标计算机名。还有buf这个参数,MSDN里写的是LPBYTE型,很含糊,实际上这也是要Unicode码的。而最后那个buflen又是buf所占的字节数,如Unicode编码的hello占字节数是10。 ??? 写个小例子吧。 #include windows.h #include lm.h #include lmmsg.h #pragma comment(lib,netapi32.lib) int main() { WCHAR msg[]=Lhello.;???????? //所发的信息 WCHAR serv[]=Lnowcan-do-it;? //目标计算机名,如果要给一个工作组广播消息,要在工作组名后面加个*,如workgroup* WCHAR from[]=LNowCan;??????? //你的名字,可以是NULL(这时默认用你的登陆名) NetMessageBufferSend(NULL,serv,from,(unsigned char *)msg,14); return 0; } 或者 #define _UNICODE? //程序全部使用Unicode #define UNICODE #include stdio.h #include stdlib.h #include string.h #include wchar.h #include windows.h #include locale.h #include lm.h #pragma comment(lib,netapi32.lib) int wmain(int argc, wchar_t *argv[])//这里是个问题,我用BCB怎么也无法链接,说 [Linker Error] Unresolved external _main referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\LIB\C0X32.OBJ,我一直不知道怎么解决,谁有解决方案可要告诉我。 { wchar_t *wtarget, *wfrom, *buffer; DWORD dwReturn; if(argc 4) { printf(Usge: MsgSend Target From Message); return 0; } wtarget = argv[1]; wfrom = argv[2]; buffer = argv[3]; dwReturn = NetMessageBufferSend(NULL, wtarget, wfrom, (LPBYTE)buffer, 2*lstrlen(buffer));//注意这里要对得出的长度乘2才是字节数,否则是字符数(一个Unicode字符占2字节) if(dwReturn == NERR_Success) { printf(Send Success!); } else { printf(Error!); } return 0; } ??? 还有一个小问题,你知道怎么得到Unicode吗?用AnsiString的一些成员函数--WideChar打头的函数都是与Unicode相关的。 -*-*-PATCH-*-*- ??? 上面那个wmain的问题已经得到解答。直接用命令行bcc32,如下。 bcc32 -WU -WC netmsg.cpp -WU 指定使用Unicode -WC 指定为控制台应用程序 -*-*-PATCH-*-*-

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档