如何使用WIN2000中的信使服务?(50分)

F

flycity

Unregistered / Unconfirmed
GUEST, unregistred user!
在WIN2000中有一条net send 命令,可以在局域网内相互通信,它的好处就是不要用户打开任何软件就能接收到消息,它的消息是以弹出式对话框显示出来的。在Delphi中就如何用这个命令的功能,还有如何将这个消息拦截下来?
 
方法1:
WinExec('net send 192.168.0.15 hello',SW_HIDE);

方法2:
duckstar (2002-5-24 15:30:00)
下面是一个单元文件,你直接用SendMsg函数就可以了,有问题和我联系。

unit Unit2;
interface
uses SysUtils, Classes;

function ToUnicode(str:string;dest:pWideChar):integer;
function SendMsg(Toh,From,Msg:string):integer;
function NetMessageBufferSend(servername:pWideChar;
MsgName:pWideChar;
FromName:pWideChar;
Buf: PWideChar;
var BufLen:integer):integer;cdecl;
implementation
function ToUnicode(str:string;dest:pWideChar):integer;
var
len:integer;
begin
StringToWideChar(str,dest,len);
Result:=len;
end;


function NetMessageBufferSend; external 'netapi32.dll' name 'NetMessageBufferSend';

function SendMsg(Toh,From,Msg:string):integer;
var
ToName :array [0..64] of WideChar;
WMsgText:array [0..1000] of WideChar;
MsgLen, i:integer;
begin
for i := 0 to 64 do ToName := #0;
ToUnicode(Toh,ToName);
for i := 0 to 1000 do WMsgText := #0;
ToUnicode(Msg,WMsgText);
Result:=NetMessageBufferSend(nil,ToName,nil,@WMsgText,MsgLen);
end;

end.
 
楼上的大佬,可否告知我有什么办法可以禁止别人发信息给我呢?
这段时间我老是收到“信使服务”的信息,搞得我老是要点击它...
 
to chillkwanjane,
在管理工具中的服务中,把Messenger服务禁用就可以了。
 
在命令行输入下面的命令:
net stop messenger
就可以终止


net start messenger
就可以启动

你可以用net命令察看语法
 
to zw84611:thank you [:D],但可否告知我有什么办法可以在程序中截取别人发给我的信息?
 
用winexec()发信息时要如何才能知道自己发的信息是否发送成功呢????[:(]
 
★★★★ ★★★★★ ★
★ ★ ★ ★ ★★★★ ★★★★★★
★ ★ ★★★★★ ★ ★ ★ ★
★★★★ ★ ★ ★ ★
★ ★ ★ ★★★★ ★★★★★★
★ ★ ★★★★★ ★
★ ★★★★ ★ ★ ★ ★★ ★★★★★★
★ ★ ★ ★ ★ ★ ★ ★ ★★
★ ★★★★ ★ ★ ★ ★ ★ ★
★★★ ★ ★ ★ ★★★★★ ★ ★
★ ★★ ★ ★ ★★
 
先写一个text.bat 文件
在里面写如
net send 目标ip 发送内容


在winexec调用啊
 
顶部