Форум: "Сети";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизWindows Messenger Найти похожие ветки
← →
hfa © (2004-02-16 09:29) [0]Прошу вас мастера помогите в следующем! Как перехватить сообщение и от кого послано время дату приходящие в Windows Messenger.. Заранее Спасибо..
← →
Rouse_ © (2004-02-16 10:32) [1]Можно сниффером сесть на 138 порт и ловить там.
Можно програмно, но для этого придется отключить службу сообщений и выполнить следующий код:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Memo1: TMemo;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
MailSlot: THandle;
ErrStr: array [0..MAX_PATH] of Char;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
CurrentSize, Size, Count: DWORD;
Msg: String;
Err: LongBool;
I: Integer;
From, sTo: String;
begin
Count := 0;
Err := GetMailSlotInfo(MailSlot, nil, Size, @Count, nil);
if not Err then
begin
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM,
nil,
GetLastError,
0,
@ErrStr[0],
MAX_PATH,
nil);
Memo1.Lines.Add("Can not GetMailSlotInfo: " + String(ErrStr));
Exit;
end;
if Count > 0 then
begin
SetLength(Msg, Size);
ReadFile(MailSlot, Msg[1], Size, CurrentSize, nil);
I := 1;
while (Msg[I] <> #0) do Inc(I);
From := Copy(Msg, 1, I - 1);
Delete(Msg, 1, I);
I := 1;
while (Msg[I] <> #0) do Inc(I);
sTo := Copy(Msg, 1, I - 1);
Delete(Msg, 1, I);
OemToChar(PChar(From), PChar(From));
OemToChar(PChar(sTo), PChar(sTo));
OemToChar(PChar(Msg), PChar(Msg));
Memo1.Lines.Add("Ïîëó÷åíî ñîîáùåíèå îò: " + From +
" äëÿ " + sTo + #13#10 + Msg);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MailSlot := CreateMailslot("\\.\mailslot\messngr", 0, MAILSLOT_WAIT_FOREVER, nil);
if MailSlot = INVALID_HANDLE_VALUE then
begin
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM,
nil,
GetLastError,
0,
@ErrStr[0],
MAX_PATH,
nil);
Memo1.Lines.Add("Can not create mailslot: " + String(ErrStr));
Exit;
end;
end;
end.
Желаю успехов
← →
hfa © (2004-02-16 10:52) [2]а на XP работает? да и помомему мессенгер использует не один порт.. и где можно найти инфу по снифферу?
← →
hfa © (2004-02-16 10:56) [3]а как отключить службу сообщений?
← →
Rouse_ © (2004-02-16 11:12) [4]> а на XP работает?
Да
> а как отключить службу сообщений?
services.msc - в нм ищешь "Служба сообщений"
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c