Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по отправке сообщения   Найти похожие ветки 

 
Guzz   (2003-04-23 19:50) [0]

Здравствуйте Мастера! Как отправить сообщение (Memo1) по локальной сети адресату (Edit1)?


 
Fixxxer   (2003-04-23 23:31) [1]

А ты сам пробовал чего?


 
Guzz   (2003-04-25 10:01) [2]

Я пробовал, ShellExecute и ниче не получается (всмысле командой net send имя сообщение), как можно еще попробовать?


 
Fixxxer   (2003-04-26 01:50) [3]

...ну я тогда не знаю...


 
Snap   (2003-04-26 17:17) [4]

>>>Guzz © (23.04.03 19:50)
уточни вопрос


 
Guzz   (2003-04-26 21:08) [5]

>>>Snap © (26.04.03 17:17) уточни вопрос

Уточняю: Требуется отправить сообщение из своей проги для требуемого адресата(либо весь домен) в сети (стандартная сеть MicroSoft) на 98 тачках это в WinPopup или стандартный обработчик событий в XP или на NT-системах.
Я пробую net send имя сообщение - не проходит (может что и не так делаю конечно), но всетаки есть какаято стандартная команда для отправки сообщений по сети из Дельфей (либо ее заменяющая процедура)?


 
Shurik   (2003-04-27 03:42) [6]

Попробуй это:
type
TNetMessageBufferSend = function (ServerName, MsgName, FromName: PWideChar;
Buff: Pointer; BufLen: DWord): Word; stdcall;

var
NetMessageBufferSend: TNetMessageBufferSend;
HLib: HModule;
PWCHost, PWCMsg: PWideChar;

function NetSend (Host: String; Msg: String): String;
var
Error: Word;
begin
Error:=0;
Result:="";
@NetMessageBufferSend:=nil;
HLib:=LoadLibrary ("netapi32.dll");
if HLib <> 0 then
begin
@NetMessageBufferSend:=GetProcAddress (HLib, "NetMessageBufferSend");
if @NetMessageBufferSend <> nil then
begin
try
GetMem (PWCHost, 2*Length (Host)+2);
GetMem (PWCMsg, 2*Length (Msg)+2);
StringToWideChar (Host, PWCHost, Length (Host)+2);
StringToWideChar (Msg, PWCMsg, Length (Msg)+2);
Error:=NetMessageBufferSend (nil, PWCHost, nil, PWCMsg, 2*Length (Msg));
finally
FreeMem (PWCHost);
FreeMem (PWCMsg);
if Error <> 0 then
Result:="Error calling NetMessageBufferSend";
end;
end
else
Result:="Error while loading NetApi32.dll";
FreeLibrary (HLib);
end
else
Result:="Error while loading NetApi32.dll: "+WindowsError (GetLastError);
end;

function OpenMailSlot (const Server, Slot: String): THandle;
var
FullSlot: String;
begin
FullSlot:="\\"+Server+"\mailslot\"+Slot;
Result:=CreateFile (PChar (FullSlot), GENERIC_WRITE, FILE_SHARE_READ, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
end;

function SendBufToMailSlot (const Server, Slot: String; Data: PChar; Length:
Integer): Boolean;
var
hToSlot: THandle;
BytesWritten: DWORD;
begin
Result:=False;
hToSlot:=OpenMailSlot (Server, Slot);
if hToSlot = INVALID_HANDLE_VALUE then
Exit;
try
BytesWritten:=0;
if (not WriteFile (hToSlot, Pointer (Data)^, Length, BytesWritten, nil)) or
(BytesWritten <> Length) then
Exit;
Result:=True;
finally
CloseHandle (hToSlot);
end;
end;

function SendToWinpopup (Server, Reciever, Sender, Msg: String): Boolean;
var
S: String;

const
wpSlot = "messngr";

begin
CharToOEM (PChar (Server), PChar (Server));
CharToOEM (PChar (Sender), PChar (Sender));
CharToOEM (PChar (Reciever), PChar (Reciever));
CharToOEM (PChar (Msg), PChar (Msg));
S:=Sender+#0+Reciever+#0+Msg;
Result:=SendBufToMailSlot (Server, wpSlot, PChar(S), Length(S));
end;

...
if WinNT then
NetSend (edDest.Text, mmMessage.Text)
else
SendToWinpopup (edDest.Text, edDest.Text, "", mmMessage.Text);
...


 
Guzz   (2003-04-29 19:34) [7]

>>>> Shurik (27.04.03 03:42)
Пример хороший, но что-то не могу с ним разобраться...
Вот на это матерился компирятор - type
TNetMessageBufferSend = function (ServerName, MsgName, FromName: PWideChar;
Buff: Pointer; BufLen: DWord): Word; stdcall;
но я исправил на function TNetMessageBufferSend (.......
думаю это просто была опечатка...
далее матерится на - var
NetMessageBufferSend: TNetMessageBufferSend;
что типа не описана gbitn - Undeclared identifier: "TNetMessageBufferSend"
затем на вот это - @NetMessageBufferSend:=nil; пишет - Left side cannot be assigned to
затем тоже самое на - @NetMessageBufferSend:=GetProcAddress (HLib, "NetMessageBufferSend");
затем на это - Result:="Error while loading NetApi32.dll: "+WindowsError (GetLastError); говорит - Undeclared identifier: "WindowsError"
вот вобщем почти все ошибки... может нужно какой-нить модуль подключить, чтобы он понял все это?
вобщем пока ничего не получается...


 
Illusion   (2003-04-29 23:50) [8]

2Guzz...
ноу коментс, как говорится... :)
TNetMessageBufferSend = function (ServerName, MsgName, FromName: PWideChar; Buff: Pointer; BufLen: DWord): Word; stdcall;
пусть я в дельфих уже лох, но должно быть понятно, что человек щадают не функцию, а тип функции... НЕ САМУ ФУНКЦИЮ! Приглядись в код...

var
NetMessageBufferSend: TNetMessageBufferSend;
...
@NetMessageBufferSend:=nil;
HLib:=LoadLibrary ("netapi32.dll");
if HLib <> 0 then
begin
@NetMessageBufferSend:=GetProcAddress (HLib, "NetMessageBufferSend");
...
даже МНЕ понятно, что человек грузит библиотеку, ищет функцию ит назначает её! ОН НЕ ПИШЕТ ЕЁ, А ЭКСПОРТИРУЕТ! И после тех изменений, что ты в нёс, ты хочешь чтобы всё работало? Почитай внимателее хелп по type-у... поищи декларирование функций...


 
Абармот   (2003-05-02 14:11) [9]

еще можно поглядеть вот здесь:
http://dmess.netz.ru/winpopup/ondelphi.htm

И не париться с загрузкой всяких там dll и определением системы.


 
Guzz   (2003-05-03 18:38) [10]

Illusion © (29.04.03 23:50) > уменя хелп не русский....

Абармот (02.05.03 14:11) > огромное пасибо!!! это мне и нужно!!!


 
cfG   (2003-05-04 20:29) [11]

Ну вообщем то можно сделать все намного проще!
Можно создать батник с кодом:

:ONEMORE
net send 192.168.0.1 FUCK OFF !
GOTO ONEMORE

и запустить его!




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

Форум: "Сети";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-31303
GrEG
2003-06-26 11:27
2003.07.10
CreateProcess


3-31162
RDA
2003-06-16 12:20
2003.07.10
Импорт записей из другой таблицы


6-31386
Kurt_
2003-05-05 12:49
2003.07.10
С помощью компоненты NMSMTP оптравляю письма. Выдает следующую


14-31454
copyr25
2003-06-22 21:24
2003.07.10
Хакеры уже вербуют даже девушек.


14-31462
ewgeny
2003-06-24 10:01
2003.07.10
Дизайнер форм





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский