Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

net send без имени компа? [D5, Win95/98, WinME, NT4, Win2k]


Osmiy ©   (2001-11-22 13:38:00) 

Есть какой либо способ послать сообщение типа net send только чтобы не выдовало имя компа с которого посылается.


Tosov   (2001-12-01 16:25:00) [1]

marconi
Пожалуйста прокоментируй эту строчку (есть подозрение, что она требует прав админа :(, к сожалению проверить пока не могу ):
NetMessageBufferSend("", User, UName, MsgBuff, lStrLenW(MsgBuff)* SizeOf(pWideChar));



Osmiy   (2001-12-01 15:43:00) [2]

marconi:Спасибо за код, но он к сожалению посылает сообщение только если вместо StrPas(" TEST "); я напишу имя своего компа, иначе он пишет :) в метке типа ошибка 2273, вроде как подходит к ошибке 2200-2299 - NNTP, но что это значит... мне мало что говорит.
Если знаешь как от этого избавится то можешь поиочь?


marconi   (2001-11-29 10:31:00) [3]


unit Net_Send2;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, lmmsg;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

Function UserName: string;
var
Size: DWORD;
Buffer : PChar;
begin

Size:=32;
GetMem(Buffer, Size);
try
if GetUserName(Buffer,Size) then
Result := StrPas("TEST"); //StrPas(Buffer); <--- Имя !!! от кого мессага
finally
FreeMem(Buffer);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Code : Integer;
MsgBuff : pWideChar;
Size, NewSize : Integer;
User, UName : Array[0..127] Of WideChar;
begin

Size := Length(Memo1.Text);
StringToWideChar(ComboBox1.Text, User, SizeOf(User) div 2);
StringToWideChar(UserName, UName, SizeOf(UName) div 2);

NewSize := Size * 2;
MsgBuff := VirtualAlloc(nil, Size, Mem_Commit, Page_ReadWrite);
MultiByteToWideChar(CP_ACP, 0, PChar(Memo1.Text), Size, MsgBuff, NewSize);

Code := NetMessageBufferSend("", User, UName, MsgBuff, lStrLenW(MsgBuff)* SizeOf(pWideChar));

If Code = 0 Then
Label3.Caption := "Message was sent Successfully!"
Else
Label3.Caption := "Returned Error Code: " + IntToStr(Code);


{case a of
ERROR_ACCESS_DENIED : ShowMessage("The user does not have access to the requested information.");
ERROR_INVALID_PARAMETER : ShowMessage("The specified parameter is invalid.");
ERROR_NOT_SUPPORTED : ShowMessage("This network request is not supported");
NERR_NameNotFound : ShowMessage("The user name could not be found.");
NERR_NetworkError : ShowMessage("A general failure occurred in the network hardware");
Else
ShowMessage("Unknow Error");
end;
}

end;

end.


marconi   (2001-11-28 12:50:00) [4]

Я в своем время использовал Languard Network Scaner, он позвалял отсылать net send с чужим именем (каким захочеш) поищи в сети, но если тебе нужно самому написать то сорри ....


Osmiy   (2001-11-28 12:32:00) [5]

Tosov:
Спасибо за адресок.
Работать то работает, но имя исходящего компа поменять нельзя, работает только если введео имя моего компа!
Мне хотелось бы чтобы вместо имени моего компабыло написано что я захочу!


Tosov   (2001-11-24 16:13:00) [6]

Уточняющий вопрос:
тебе надо просто net send (на дельфи : http://delphi.xonix.ru/faq/lan/netsend01.shtmlна С поищи NetMessageBufferSend ) или надо net send без имени пользователя или компа??


Osmiy   (2001-11-24 15:28:00) [7]

Уточняю я не админ.
Т.е. Мне надо исходничек net"a, мона на Делфе, но лучше на С конечно.


Tosov   (2001-11-23 21:50:00) [8]

2handra
>под NT4 - есть способ отправить сообщение по абсолютно любым именем
КАК???


handra   (2001-11-23 10:54:00) [9]

под NT4 - есть способ отправить сообщение по абсолютно любым именем


Tosov   (2001-11-23 00:56:00) [10]

Вроде имеется возможность послать сообщение от другого компа (ты там должен быть админом)[WinNT/Win2k]


Наверх

Титульная страница Поиск, карта сайта Написать письмо