Вниз
Скачать: CL | DM;

Netsend от другово имени.   Найти похожие ветки 

 
BLABLA   (2004-09-07 08:44) [0]

Как реализовать net send от другово имени.
Спасибо всем


 
Rouse_ ©   (2004-09-07 09:18) [1]

NetMessageBufferSend, третий параметр слева (или справа :)


 
MetalFan ©   (2004-09-07 12:19) [2]

хе-хе... не прокатит!
вот как делаю я:
function NetSend_Messenger(Source,Dest, Msg: String): boolean; type
 TNetMessageBufferSendFunction = function(servername, msgname, fromname: PWideChar;
   buf: PWideChar; buflen: Cardinal): Longint; stdcall;
 TNetNameFunction = function(servername, msgname: PWideChar): Longint; stdcall;

var
 NetMessageBufferSend: TNetMessageBufferSendFunction;
 SourceWideChar: WideString;
 DestWideChar: WideString;
 MessagetextWideChar: WideString;
function NameAdd(aName:string):boolean;
var
   lWS2: WideString;
   lProc:TNetNameFunction;
begin
   lWS2:=aName;
   @lProc := GetProcAddress(FLibHandle, "NetMessageNameAdd");
   if @lProc = nil then
   begin
     Result := false;
     Exit;
   end;
   result:= lProc(nil,PWideChar(lWS2))=0;
end;
function NameDel(aName:string):boolean;
var
 lWS2: WideString;
  lProc:TNetNameFunction;
begin
   lWS2:=aName;
   @lProc := GetProcAddress(FLibHandle, "NetMessageNameDel");
   if @lProc = nil then
   begin
     Result := false;
     Exit;
   end;
   result:= lProc(nil,PWideChar(lWS2))=0;
end;
begin
 @NetMessageBufferSend := GetProcAddress(FLibHandle, "NetMessageBufferSend");
 if @NetMessageBufferSend = nil then
 begin
   Result := false;
   Exit;
 end;
     if length(source)>0 then
       if not NameAdd(Source) then exit;
     SourceWideChar:=Source;
     MessagetextWideChar:=Msg;
     DestWideChar:=Dest;
     if length(Source)>0 then
       Result := NetMessageBufferSend(nil, PWideChar(DestWideChar), PWideChar(SourceWideChar),
           PWideChar(MessagetextWideChar), Length(MessagetextWideChar) * 2)=0
     else
       Result := NetMessageBufferSend(nil, PWideChar(DestWideChar), nil,
           PWideChar(MessagetextWideChar), Length(MessagetextWideChar) * 2)=0;

     NameDel(Source);
end;


 
Сетевик   (2004-09-07 13:28) [3]

Народ, подскажите, а для чего нужет первый параметр в NetMessageBufferSend ?


 
MetalFan ©   (2004-09-07 15:41) [4]

...
Parameters:
servername
[in] Pointer to a constant Unicode string specifying the name of the remote server on which the function is to execute. The string must begin with \\. If this parameter is NULL, the local computer is used.
...

теперь понятно?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.038 c
14-1098898230
Rusel
2004-10-27 21:30
2004.11.14
PaintBox


1-1099031346
NewDelpher
2004-10-29 10:29
2004.11.14
Как правильно дождаться завершения потока?


3-1097653399
Lex_!
2004-10-13 11:43
2004.11.14
Динамическое изменение пути к базе в БДЕ


1-1099412841
Владимир
2004-11-02 19:27
2004.11.14
Восстановление окон


1-1099041836
Tom
2004-10-29 13:23
2004.11.14
Рисую на форме в Run Time...




   Наверх