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

Вниз

Старый добрый net send:)   Найти похожие ветки 

 
noname:) ©   (2004-12-01 00:09) [0]

Я понемаю что это заюзаная до дыр тема но всёже:)
У меня такая проблема. В моей программе есть возможность посылать net send сообщения с подменённым именем. В WinXP SP1 код с использованием NetMessageBufferSend всё ОК но уже в WinXP SP2 при попытке отправить сообщение с подменённым именем ничего не выходит! Решил через маилслоты попробовать. С ними сообщения с левым именем нормально шлются но при попытке вместо имени машины получателя поставить её айпи снова ничего не отправляется! Какойто замкнутый круг!!!! Главное в проге LanSend всё работает!!! Короче помогите как говорится кто чем может:)

Привожу код с использованием маилслотов - может я чёто напартачил:)

unit UberNetSend;
interface
 function SendMsg(sServer,sText,sFrom,sTo:string):boolean;
implementation
uses
Windows,sysutils;
function ConvertAnsiToOem(const S : string) : string;
{ ConvertAnsiToOem translates a string into the OEM-defined character set }
{$IFNDEF WIN32}
var
 Source, Dest : array[0..255] of Char;
{$ENDIF}
begin
{$IFDEF WIN32}
 SetLength(Result, Length(S));
 if Length(Result) > 0 then
   AnsiToOem(PChar(S), PChar(Result));
{$ELSE}
 if Length(Result) > 0 then
 begin
   AnsiToOem(StrPCopy(Source, S), Dest);
   Result := StrPas(Dest);
 end;
{$ENDIF}
end; { ConvertAnsiToOem }
function SendMsg(sServer,sText,sFrom,sTo:string):boolean;
var
pack : array[0..447] of char;
i,n : integer;
hsFile: THandle;
chbuf : array [0..$FF] of Char;
begin
 result:=false;
 //конвертируем в OEM
 sText:=ConvertAnsiToOem(sText);
 sFrom:=ConvertAnsiToOem(sFrom);
 sTo:=ConvertAnsiToOem(sTo);
 //отправляем
 hsFile:=CreateFile( PChar("\\" + sServer + "\mailslot\messngr"), GENERIC_WRITE, FILE_SHARE_READ,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
 if hsFile=INVALID_HANDLE_VALUE then exit;
 n:=0;
 for i:=1 to length(sFrom) do begin
   pack[n]:=sFrom[i];inc(n);
 end;
 pack[n]:=#0;inc(n);
 for i:=1 to length(sTo) do begin
   pack[n]:=sTo[i];inc(n);
 end;
 pack[n]:=#0;inc(n);
 for i:=1 to length(sText) do begin
   pack[n]:=sText[i];inc(n);
 end;
 pack[n]:=#0;inc(n);
 result:=WriteFile(hsFile, pack , n, DWORD(i), nil);
 CloseHandle(hsFile);
end;
end.

----------Посылаем------------------
SendMsg("alexxx","hi","god","alexxx")
------------------------------------


 
Ильичев С.А. ©   (2004-12-01 05:47) [1]

Так а ты не пытайся айпи вставлять.
Получай имя сначала по айпи.


 
noname:) ©   (2004-12-01 11:05) [2]

Дык пытался... У меня в сетке если у тебя указаны в свойствах подключения DNS-ы для подключения к инету а от этого самого инета тебя отключил злой админ то возвращение имени по айпи страшно тормозит. Вот я и подумал что может ещё какой сопособ есть:)



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

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

Наверх





Память: 0.45 MB
Время: 0.048 c
14-1106570898
vecna
2005-01-24 15:48
2005.02.13
2 torry !


14-1106732490
Andryk
2005-01-26 12:41
2005.02.13
Вопрос а ни кто не помнит такую старую добрую игру


1-1107030167
ASDASD
2005-01-29 23:22
2005.02.13
Два вопроса: Общие точки и Работа Chart


1-1106837691
novice_man
2005-01-27 17:54
2005.02.13
Динамическая библиотека и указатель.


1-1107083549
ТехникПТО
2005-01-30 14:12
2005.02.13
PChar в String





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский