2

これが私がやろうとしていることです。リストの連絡先が Microsoft Communicator 2007 でステータスを変更したときに通知を受け取りたいです。Windows 7 で Delphi XE を実行しています。

フォーム作成で、コミュニケーター オブジェクトを作成し、連絡先リストを TListBox に読み込みました。CommunicatorAPI_TLB で、次のメソッドがあることがわかりました。

  DMessengerEvents = dispinterface
...
    procedure OnContactStatusChange (const pMContact: IDispatch; mStatus: MISTATUS); dispid 1030;

使いたいのはこれだと思います。これを自分のコードに統合するにはどうすればよいですか?

{ Create the communicator object, it's already up and running }
COMMUNICATOR := CoMessenger.Create;

{ Load my contacts into a listbox; do NOT use Hard Typecasts }
Contacts := COMMUNICATOR.MyContacts As IMessengerContacts;

For ContactIndex := 0 To (Contacts.Count - 1) Do Begin

  Application.ProcessMessages;

  Contact := (Contacts.Item (ContactIndex) As IMessengerContact);

  { Add the contact to the list }
  lstContacts.AddItem (Contact.FriendlyName, Nil);

 End; { For }
4

0 に答える 0