![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сообщение [D7, Win95/98]
rosl © (2004-07-30 03:23:00)Как послать сообщение всем пользователям в локальной сети.
Нужно, чтоб выходило просто, как
showmessage('Ok');
OSokin (2004-07-30 20:45:00) [1]WinExec('net send /domain:WorkGroupName Your Message',0);
Rouse_ (2004-07-30 14:01:00) [2]Ну тогда мэйлслотами на \\имя компа\mailslot\messngr
Vixen (2004-07-30 13:09:00) [3]net send95/98win не очень-то и поддерживается...
Vetek_2 (2004-07-30 12:58:00) [4]код из моей проги:
type TNetMessageBufferSend = function (ServerName, MsgName,FromName:PWideChar; Buf:Pointer;BufLen: DWord):word; stdcall;
function NetSend(Host, Msg, ot: String): boolean;
var Error:word;
PWCHost,PWCMsg,otp: PWideChar;
Hlib: Cardinal;
NetMessageBufferSend: TNetMessageBufferSend;
begin
@NetMessageBufferSend := nil;
HLib:=LoadLibrary('netapi32.dll');
if HLib=0 then messagebox(0,'error load api','error',0);
if HLib<>0 then
begin
@NetMessageBufferSend:=GetProcAddress(HLib,'NetMessageBufferSend');
if @NetMessageBufferSend=nil then messagebox(0,'error load api 2','error',0);
if @NetMessageBufferSend<>nil then
begin
try
Error:=1;
GetMem(PWCHost, 2*Length(Host)+2);
GetMem(PWCMsg, 2*Length(Msg)+2);
GetMem(otp, 2*Length(ot)+2);
StringToWideChar(ot, otp, Length(ot)+2);
StringToWideChar(Host, PWCHost, Length(Host)+2);
StringToWideChar(Msg, PWCMsg, Length(Msg)+2);
Error:=NetMessageBufferSend(nil, PWCHost, otp, PWCMsg, 2*Length(Msg));
finally
FreeMem(PWCHost);
FreeMem(PWCMsg);
Result := (Error = 0);
end;
end;
end;
FreeLibrary(HLib);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Caption:='жди, мессаги идёт ...';
if not NetSend(edit1.Text, edit2.Text,edit3.Text)
then MessageBox(form1.handle,Pchar('Error # '+inttostr(GetlastError)),'Error',0);
button1.Caption:='ПослАть !';
end;
Rouse_ (2004-07-30 09:29:00) [5]net send
NetMessageBufferSend