Angielska wersja / English version
Opis ogólny | Szczegóły | Funkcje | FAQ | Pobierz | Zamów | Narzędzia












































































Designed by pup design  pupdesign@storm.pl
Windows Administrator Caller Cockroach Player Treeviev WebGen DrukForm 2001 Waluty Online Inne programy...
Windows Communicator           
                       
   

   Narzędzia

  • Windows Communicator Registration Server

Aplikacja w trayu oparta na Interbase SQL Server. WC Registration Server otwiera port 5600 i oczekuje na zapytania klientów Windows Communicator aby wyświetlić w ich oknie "Sieć" wszystkie dostępne servery Windows Comunicator dostępne w Internecie.

Domyślnie Windows Communicator Registration Server jest dostępny pod adresem autora 217.96.208.142 .

Windows Communicator Registration Server rejestruje także servery założone przez klientów Windows Communicatora, pozwala usuwać te servery lub poprawiać.

Każda operacja wykonana przez klientów WC takie jak dodawanie, poprawianie, usuwanie powoduje wysłanie do właściciela servera informację o jego operacji .

WC Registration Server pinguje wszystkie servery co 2 godziny. Jeśli server nie jest dostępny status server jest zmieniany na "niedostępny", po 7 dniach niedostępności server jest usuwany z bazy.

Plik konfiguracyjny - WCRegServer.conf

#Ścieżka do bazy danych
[IBServer]
Path=d:\delphi\wincom.gdb

#Server pocztowy smtp, dla informowanie klientów WC o 
#ich operacjach
[MailSettings]
FromText=From: "Windows Communicator Server" <admin@host.pl>
FromMail=admin@host.pl
SmtpHost=host.pl

 Do pobrania

 

  • Wtyczki

Wtyczki Windows Communicator wykorzystują dwa tryby pracy (DLL exportowe funkcje)

1. Uruchom jako serwis - Windows Communicator przegląda katalog \Plugins w poszukiwaniu  DLL bibliotek, ładuje je do pamięci i uruchamia ich procedurę RunPluginAsService (ParentApp : THandle;aLoggedUser: String; aUsersList : TtblUsers);StdCall;

Ta procedura jest przydatna do stałych oparacji takich jak zegary, przypominacze, terminarze, sprawdzanie poczty Email. Treść tej procedury może wyglądać tak 

procedure RunPluginAsService (ParentApp : THandle;aLoggedUser: String; aUsersList : TtblUsers);StdCall;
Begin
aTimer := TTimer.Create;
aTimer.OnTimer := ShowMeMessageEveryMinute;
aTimer.Interval := 1000 * 60;
aTimer.Enabled :=true;
End;

Jeśli Twój plugin nie jest zależny od czasu, pozostaw tą procedurę pustą.

2. Uruchom plugin - procedure RunPlugin (ParentApp : THandle;aLoggedUser: String; aSelUser : String;aUsersList : TtblUsers);StdCall;

Ta procedura jest uruchamiana kiedy użytkownik kliknie na pluginie w menu WC. Ta procedura powinna być używana aby wyświetlić okno konfiguracyjne wtyczki o ile jest to plugin zależny od czasu (używana funkcja RunAsService) , lub po prostu wyświetla dowolne okno np. gry, eksport użytkowników do html, czy inne...

Pozostałe funkcje 

  • GetPluginCaption - informacja dla procedury budującej menu Windows Communicatora - powinieneś zwrócić nazwę plugina
    Function GetPluginCaption : ShortString; Stdcall;
    Begin
    Result := 'My new plugin';
    End;
     
  • WriteSocketData (SocketID:Integer;SocketData:String); StdCall; - ta procedura jest używana przez Windows Communicator Client aby wysłać wtyczce komunikat z socketów. Ten komunikat jest wysyłany to każdegj wtyczki (DLL) z \Plugins foldera.
    Obieg komunikatów wygląda tak :
    Wtyczka -----> WC Client1 -----> WC Server ----->WC Client2 ----> Wtyczka
    Przykład komunikacji między wtyczkami :

    Nadawca :

    procedure RunPlugin (ParentApp : THandle;aLoggedUser: String; aSelUser : String;aUsersList : TtblUsers);StdCall;
    Const
           sSendMsg : = '050 %s|%s|'+#13#10;
    Begin
    PostMessage(aParentApp,wm_PluginSocketSend,
                          Longint(Format(sSendMsg,['Micheal','Hello Michael'),0);
    End;

    *) Michael jest użytkownikiem z stringlisty aUsersList 
    **) Jeśli chcesz wysłać komunikat do wybranego w WC użytkownika użyj aSelUser
    ***) Każdy wysyłany komunikat musi zawierać ID komunikatu ('050 blehbleh.....

    Uwaga! Do Twojej dyspozycji są komunikaty od 030 do 099, każda inna cyfra jest zarezerwowana lub ignorowana.
    *) Dodaj "0" przed wysłaniem komunikatu, i #13#10 jako zakończenie n.p. 
    sSendMsg : = '50 %s|%s|';  //----> błędne
    sSendMsg : = '050 %s|%s|'+#13#10;  //----> poprawne
    **) Użyj "|" jako separator.
    Sugeruję skorzystanie z funkcji StrTokenToStrings z biblioteki JclStrings do rozkodowania komunikatów u odbiorcy. JclStrings są dostępne tutaj.

    Odbiorca :

    procedure WriteSocketData (SocketID:Integer;SocketData:String); StdCall;
    Begin
    if SocketID = 50 then
       ShowMessage('Incoming message : ' +SocketData);
    End;

 

 Do pobrania