Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отправка сообщения

7.1K
28 августа 2006 года
Urfen_Djus
61 / / 30.06.2006
Привет всем!!!
Как мне отправить сообщение на комп через NetSend???
unit Mess;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, dblookup, DB, ADODB, Menus;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
NetSendBtnClick: TButton;
ADOConnection1: TADOConnection;
ADOCommand1: TADOCommand;
DataSource1: TDataSource;
ADOTable1: TADOTable;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
ComboBox1: TComboBox;
Memo1: TMemo;
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure NetSendBtnClickClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Mess2, Mess3;

{$R *.dfm}
function NetSend(const sTo, sMessage: string): Boolean;
type
PNetMessageBufferSend = ^TNetMessageBufferSend;
TNetMessageBufferSend = function(
servername: PWideChar;
msgname: PWideChar;
fromname: PWideChar;
buf: PBYTE;
buflen: DWORD
):Integer; stdcall;
var
wMessage, wTo: PWideChar;
i, hLib: Integer;
NetMessageBufferSend: TNetMessageBufferSend;
begin
Result:= False;
hLib:= LoadLibrary('NetApi32.dll');
if hlib > 0 then
try
@NetMessageBufferSend:= GetProcAddress(hLib, 'NetMessageBufferSend');
if @NetMessageBufferSend <> nil then
begin
wMessage:= CoTaskMemAlloc((Length(sMessage) + 1) * sizeof(WideChar));
try
wTo:= CoTaskMemAlloc((Length(sTo) + 1) * sizeof(WideChar));
try
StringToWideChar(sMessage, wMessage, Length(sMessage) + 1);
StringToWideChar(sTo, wTo, Length(sTo) + 1);
i:= NetMessageBufferSend(nil, wTo, nil, PBYTE(wMessage), (Length(sMessage) + 1) * sizeof(WideChar));
Result:= i = ERROR_SUCCESS;
if not Result then
MessageBox(GetForegroundWindow, 'Сообщение не отправлено.', nil, $1010);
finally
CoTaskMemFree(wTo);
end;
finally
CoTaskMemFree(wMessage);
end;
end else
MessageBox(GetForegroundWindow, 'Функция NetMessageBufferSend не обнаружена.', nil, $1010);
finally
FreeLibrary(hLib);
end
else
MessageBox(GetForegroundWindow, 'NetApi32.dll не загружена.', nil, $1010);
end;

procedure TForm1.NetSendBtnClickClick(Sender: TObject);
begin
if NetSend(combobox1.Text, Memo1.Text) then begin
Memo1.Clear;
MessageBox(Form1.Handle, 'Отправка сообщения.', 'Сообщение отправлено', MB_ICONINFORMATION);
end;

procedure TForm1.N4Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.N5Click(Sender: TObject);
begin
Form2.ShowModal;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
Form3.ShowModal;
end;

end.
339
29 августа 2006 года
verybadbug
619 / / 12.09.2005
ShellExecute(Handle, 'open', 'net.exe', PChar('send ' + combobox1.text + ' ' + memo1.Text), nil, SW_SHOWMINIMIZED);
7.1K
29 августа 2006 года
Urfen_Djus
61 / / 30.06.2006
Как сделать возможным отправку одного письма сразу нескольким компьютерам одновременно???
6.8K
29 августа 2006 года
Romikgy
84 / / 28.04.2005
В
ShellExecute(Handle, 'open', 'net.exe', PChar('send ' + combobox1.text + ' ' + memo1.Text), nil, SW_SHOWMINIMIZED);
меняй combobox1.text и шли многим :)
7.1K
29 августа 2006 года
Urfen_Djus
61 / / 30.06.2006
а можно по подробней пожалуйста???
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог