...die Benutzer-Kontaktliste aus MSN lesen?
Autor: neoturk
(*********************************************************************
this code was tested with microsoft messenger 4.6..
not yet tested on 6.1 or 6.2
this code shows you all msn contact/allow/block user list from registry,
you know, this values type is Binary..
good luck.. if you have news please write me, thx..
written by neoturk from turkey
*********************************************************************)
//.. put the memo on the form, name as memo2 ..
function msnlist(xx: string): string;
var
  x2, x, x3, xtemp: string;
  reg: TRegistry;
  fBuffer: array [0..1024] of Byte;
  m, n: Longint;
begin
  Form1.Memo2.Clear;
  for n := 0 to 125 do
  begin
    x2 := xx + IntToStr(n);
    reg := TRegistry.Create;
    reg.RootKey := HKEY_CURRENT_USER;
    reg.OpenKey('\Software\Microsoft\MessengerService\ListCache\.NET Messenger Service',
      False);
    if reg.ValueExists(x2) then
    begin
      reg.ReadBinaryData(x2, fBuffer, 1024);
      m  := 0;
      x  := '';
      x3 := '';
      repeat
        xtemp := IntToHex(fbuffer[m], 2);
        x := x + xtemp + ' ';
        x3 := x3 + chr(StrToInt('$' + xtemp));
        m := m + 1;
      until m >= 1024;
      Form1.Memo2.Lines.Add(x2 + '=' + x3);
      //showmessage(trim(x2+'='+x3));
    end;
  end;
  reg.CloseKey;
  reg.Free;
  Result := Form1.Memo2.Text;
  //final
end;
// in your program:
procedure DoSomething;
begin
  //...
  memo5.Lines.Add('--------------');
  memo5.Lines.Add(msnlist('allow'));
  memo5.Lines.Add('--------------');
  memo5.Lines.Add('Reverse_list:');
  memo5.Lines.Add('--------------');
  memo5.Lines.Add(msnlist('reverse'));
  memo5.Lines.Add('--------------');
  memo5.Lines.Add('Contact_list:');
  memo5.Lines.Add('--------------');
  memo5.Lines.Add(msnlist('contact'));
  memo5.Lines.Add('--------------');
  memo5.Lines.Add('Block_list:');
  memo5.Lines.Add('--------------');
  memo5.Lines.Add(msnlist('block'));
  //......ok.
end;
printed from
  www.swissdelphicenter.ch
  developers knowledge base