如何用delphi 做一个信使服务 ? 如何用delphi调用net send ?如何用delphi 做一个信使服务 感激 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这些是我程序的一部分function NetMessageBufferSend(servername: LPCWSTR; msgname: LPCWSTR; fromname: LPCWSTR; buf: Pointer; buflen: DWORD): DWORD; stdcall; external 'netapi32.dll' name 'NetMessageBufferSend';................function sendmsg(destIP,msg:string):dword;var fromname: PWideChar; DestWideChar: PWideChar; MessagetextWideChar: PWideChar; str:string;begin try GetMem(MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1); GetMem(DestWideChar, 20 * SizeOf(WideChar) + 1); GetMem(fromname,20*sizeof(widechar)+1); StringToWideChar(Msg, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1); StringToWideChar(DestIP, DestWideChar, 20 * SizeOf(WideChar) + 1); str:='0'; StringToWideChar(str, fromname, 20 * SizeOf(WideChar) + 1); Result := NetMessageBufferSend(nil, DestWideChar,fromname,MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1) finally freemem(DestWideChar,0); freemem(MessagetextWideChar,0); freemem(fromname,0); end;end; function NetSend(dest, Source, Msg: string): Longint; overload;typeTNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar;buf: PWideChar; buflen: Cardinal): Longint;stdcall;varNetMessageBufferSend: TNetMessageBufferSendFunction;SourceWideChar: PWideChar;DestWideChar: PWideChar;MessagetextWideChar: PWideChar;Handle: THandle;beginHandle := LoadLibrary('NETAPI32.DLL');if Handle = 0 thenbeginResult := GetLastError;Exit;end;@NetMessageBufferSend := GetProcAddress(Handle, 'NetMessageBufferSend');if @NetMessageBufferSend = nil thenbeginResult := GetLastError;Exit;end;MessagetextWideChar := nil;SourceWideChar := nil;DestWideChar := nil;tryGetMem(MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);GetMem(DestWideChar, 20 * SizeOf(WideChar) + 1);StringToWideChar(Msg, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);StringToWideChar(Dest, DestWideChar, 20 * SizeOf(WideChar) + 1);if Source = '' thenResult := NetMessageBufferSend(nil, DestWideChar, nil,MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)elsebeginGetMem(SourceWideChar, 20 * SizeOf(WideChar) + 1);StringToWideChar(Source, SourceWideChar, 20 * SizeOf(WideChar) + 1);Result := NetMessageBufferSend(nil, DestWideChar, SourceWideChar,MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);FreeMem(SourceWideChar);end;finallyFreeMem(MessagetextWideChar);FreeLibrary(Handle);end;end;function NetSend(Dest, Msg: string): Longint; overload;beginResult := NetSend(Dest, '', Msg);end;function NetSend(Msg: string): Longint; overload;beginResult := NetSend('', '', Msg);end;// Example:procedure TForm1.Button1Click(Sender: TObject);constNERR_BASE = 2100;NERR_NameNotFound = NERR_BASE + 173;NERR_NetworkError = NERR_BASE + 36;NERR_Success = 0;varRes: Longint;sMsg: string;beginRes := NetSend('LoginName', 'Your Message...');case Res ofERROR_ACCESS_DENIED: sMsg := 'user does not have access to the requested information.';ERROR_INVALID_PARAMETER: sMsg := 'The specified parameter is invalid.';ERROR_NOT_SUPPORTED: sMsg := 'This network request is not supported.';NERR_NameNotFound: sMsg := 'The user name could not be found.';NERR_NetworkError: sMsg := 'A general failure occurred in the network hardware.';NERR_Success: sMsg := 'Message sent!';end;ShowMessage(sMsg);end; 谢谢您!给我一份:[email protected] [email protected] 谢拉! 谢谢您!给我一份:[email protected] 谁给我介绍一个不错的API的书籍啊? 大狭,俺也想要[email protected] var IP,Msg: String;WinExec(PChar('net send '+IP+Msg), SW_SHOW) var IP,Msg: String;WinExec(PChar('net send '+IP+Msg), SW_SHOW) 能给我吗?我的地址:[email protected]顺便问一下,我的程序只能给局域网内发送,不知道能不能向非局域网内的其他ip发送吗?我总是没有试验成功!谢谢! 8错谢谢[email protected] WinExec(PChar('net send '+对方计算机名或IP+信息), 1) 首先加入函数声明functionNetMessageBufferSend(servername:PWideChar;msgname:PWideChar;fromname:PWideChar;buf:PWideChar;buflen:DWORD):DWORD;stdcall;external 'netapi32.dll' procedure TForm1.Button1Click(Sender: TObject);var Msg:WideString; Target: WideStrign;begin Msg:='你好,信使服务测试'; //信息内容 Target:= 'computer1'; //对方计算机名称 NetMessageBufferSend(NIL,PWidechar(Target),Nil,PWideChar(Msg),Length(String(Msg)));end; 恐怖份子在广州的不幸遭遇 请问哪儿可以搞到神龙卡的DIRECTSHOW的SDK? 如何提取XML字符串中的数据供grid的使用??? 我作了一个小东东,大家给长点人气! 怎样监视BDE 关于统计的问题 怎样知道在delphi中查看到电脑的硬件信息? 十万火急,进者给分 请教 Delphi 数据库搜索组件包EsSearch 1.1 最新版本!!!很好用哦 非常奇怪的问题 如何在一表中增加多个记录?
fromname: LPCWSTR; buf: Pointer; buflen: DWORD): DWORD; stdcall; external 'netapi32.dll' name 'NetMessageBufferSend';
........
........
function sendmsg(destIP,msg:string):dword;
var fromname: PWideChar;
DestWideChar: PWideChar;
MessagetextWideChar: PWideChar;
str:string;
begin
try
GetMem(MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
GetMem(DestWideChar, 20 * SizeOf(WideChar) + 1);
GetMem(fromname,20*sizeof(widechar)+1);
StringToWideChar(Msg, MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1);
StringToWideChar(DestIP, DestWideChar, 20 * SizeOf(WideChar) + 1);
str:='0';
StringToWideChar(str, fromname, 20 * SizeOf(WideChar) + 1);
Result := NetMessageBufferSend(nil, DestWideChar,fromname,MessagetextWideChar, Length(Msg) * SizeOf(WideChar) + 1)
finally
freemem(DestWideChar,0);
freemem(MessagetextWideChar,0);
freemem(fromname,0);
end;
end;
给我一份:[email protected]
谢拉!
给我一份:[email protected]
[email protected]
IP,Msg: String;WinExec(PChar('net send '+IP+Msg), SW_SHOW)
IP,Msg: String;WinExec(PChar('net send '+IP+Msg), SW_SHOW)
我的地址:[email protected]
顺便问一下,我的程序只能给局域网内发送,不知道能不能向非局域网内的其他ip发送吗?我总是没有试验成功!
谢谢!
谢谢
[email protected]
function
NetMessageBufferSend(servername:PWideChar;msgname:PWideChar;
fromname:PWideChar;buf:PWideChar;buflen:DWORD):DWORD;stdcall;external 'netapi32.dll'
procedure TForm1.Button1Click(Sender: TObject);
var
Msg:WideString;
Target: WideStrign;
begin
Msg:='你好,信使服务测试'; //信息内容
Target:= 'computer1'; //对方计算机名称
NetMessageBufferSend(NIL,PWidechar(Target),Nil,PWideChar(Msg),Length(String(Msg)));
end;