Navigace

Hlavnφ menu

 

Instantnφ zprßvy po intranetu jinak

P°i troÜe nßpaditosti je mo₧nΘ zaΦφt jako dopln∞k intranetu vyu₧φvat standardnφ v²bavu Windows k posφlßnφ okam₧it²ch zprßv u₧ivatel∙m sφt∞. Hodφ se to tam, kde nechceme instalovat ₧ßdnΘ dalÜφ produkty, kterΘ musφme bu∩ koupit nebo se smφ°it s vestav∞nou reklamou. N∞kterΘ produkty jsou navφc zßvislΘ na p°ipojenφ k internetu, tak₧e v chrßn∞n²ch sφtφch (firewall nebo proxy vy₧adujφcφ zvlßÜtnφ autentifikaci) je nenφ mo₧nΘ provozovat v∙bec.

Ve skuteΦnosti nejde o nic jinΘho, ne₧ o usnadn∞nφ pou₧itφ nepohodlnΘho povelu pro p°φkazov² °ßdek ve Windows NT/2K/XP (mo₧nosti Windows 9x/Me jsou odliÜnΘ a popφÜeme je dßle). P°i v²chozφ instalaci je aktivnφ takzvanß "Kur²rnφ slu₧ba" (Messenger Service), systΘm je tedy stßle p°ipraven p°ijφmat zprßvy. P°ijatß zprßva je zobrazena v pop°edφ, tak₧e nenφ mo₧nΘ ji p°ehlΘdnout. Zprßvy se nikam neuklßdajφ, jakmile u₧ivatel potvrdφ jejφ p°eΦtenφ tlaΦφtkem OK nebo zprßvu nelze doruΦit (adresßt nenφ dostupn²), zprßva zanikne. Zde tedy ₧ßdn² problΘm nenφ, horÜφ je to s odesφlßnφm. Zprßvu lze odeslat pomocφ systΘmovΘ konzole v ovlßdacφch panelech nebo povelem Net Send z p°φkazovΘho °ßdku, co₧ je velmi diskomfortnφ - je nutnΘ si pamatovat p°esnΘ zadßnφ parametr∙ a navφc °ada u₧ivatel∙ u₧ ani prost°edφ p°φkazovΘho °ßdku neznß.

╪eÜenφm je dßvkov² soubor, dφky n∞mu₧ m∙₧eme takΘ odesφlat jednu zprßvu vφce u₧ivatel∙m. Dßvkov² soubor p°evezme od u₧ivatele adresßta a text zprßvy, odeÜle ji a podß zprßvu o ·sp∞Ünosti doruΦenφ. Jde o klasick² soubor pro MS-DOS, co₧ je dnes sice historie, ale pro naÜi pot°ebu on∞ch pßr bajt∙ textu skv∞le poslou₧φ, ani₧ by bylo nutnΘ cokoli instalovat.

@Echo Off
Cls
:NextAddress
Echo.
If %USERNAME%XXX == XXX GoTo WinPopUp
Set ADDRESS=%1
If Not %ADDRESS%XXX == XXX GoTo IsAddress
Echo +++ Odeslßnφ zprßvy u₧ivateli nebo na poΦφtaΦ +++
Echo - pro nßpov∞du zadejte jako p°φjemce ?
Echo.
Set /p ADDRESS=P°φjemce zprßvy:
GoTo SetMessage
:IsAddress
Echo +++ Odeslßnφ zprßvy pro %ADDRESS% +++
Echo.
:SetMessage
If %ADDRESS%==? GoTo Help
If Not %MESSAGE%XXX == XXX GoTo IsMessage
Set /p MESSAGE=Text zprßvy:
Echo.
:IsMessage
Net.exe Send %ADDRESS% Od %USERNAME%: %MESSAGE% > nul
Echo.
If ErrorLevel 1 GoTo Error
Echo Zprßva byla ·sp∞Ün∞ doruΦena p°φjemci %ADDRESS%
GoTo End
:Help
Echo.
Echo Touto aplikacφ m∙₧ete zaslat zprßvu, kterß bude doruΦena p°φmo na obrazovku.
Echo.
Goto End
:Error
Echo Zprßva nebyla doruΦena, p°φjemce %ADDRESS% nenφ dostupn²!
:End
Shift
Echo.
If Not %1XXX == XXX Goto NextAddress
Set ADDRESS=
Set MESSAGE=
Echo.
Echo Pro pokraΦovßnφ stiskn∞te libovolnou klßvesu...
Pause > nul
GoTo End2
:WinPopUp
WinPopUp.exe
:End2

Dßvkov² soubor nejprve zjistφ, zda je k dispozici u₧ivatel v prom∞nnΘ USERNAME. Pokud ne, dojde k pokusu o spuÜt∞nφ aplikace WinPopUp (popsßno dßle), proto₧e nejde o systΘm WinNT/2K/XP (kde se tato prom∞nnß nachßzφ). Dßle se ov∞°φ, zda je zadßn n∞jak² parametr. Pokud ano, pou₧ije se jako jmΘno adresßta. To se hodφ pro p°φpad, kdy chceme p°ipravit r∙znΘ zßstupce pro p°edem definovanΘ u₧ivatele. Pokud nenφ zadßn ₧ßdn² parametr, zobrazφ se v²zva pro zadßnφ adresßta. Adresßt je potΘ doΦasn∞ ulo₧en do systΘmovΘ prom∞nnΘ ADDRESS (jedin∞ takto lze toti₧ od u₧ivatele v dßvkovΘm souboru p°evzφt a ulo₧it n∞jak² ·daj). Dßle zjistφme, zda jako adresßt nenφ zadßn znak ä?ô, pokud ano, zobrazφ se jen nßpov∞da. Pokud ne, zobrazφ se v²zva pro zadßnφ textu zprßvy. Ta je potΘ doΦasn∞ ulo₧ena do systΘmovΘ prom∞nnΘ MESSAGE.

Nßsledn∞ jsou zadanΘ ·daje p°edßny povelu Net Send, navφc je k textu zprßvy p°idßno jmΘno odesφlatele, kterΘ je dostupnΘ v prom∞nnΘ USERNAME. V²stup je p°esm∞rovßn do za°φzenφ NUL, tak₧e pokud nedojde k chyb∞, p°φkaz na obrazovku odesφlatele nic nezobrazφ. V²slednou zprßvu o odeslßnφ si zobrazφme sami prost°ednictvφm otestovßnφ hodnoty ERRORLEVEL. Pokud nenφ 0, doÜlo k chyb∞ a zprßvu se nepoda°ilo odeslat.

Pomocφ povelu Shift se "p°esuneme" v p°edßvan²ch parametrech o jeden dßle - tedy parametr %1 bude ve skuteΦnosti udßvat hodnotu druhΘho parametru. Pokud je n∞jak² takov² zadßn, skoΦφme na nßv∞Ütφ NextAddress a cel² postup odesφlßnφ zprßvy se provede pro dalÜφho u₧ivatele. P°i tomto pr∙chodu je ji₧ nastavena i prom∞nnß MESSAGE, nenφ tedy zobrazen dotaz na text zprßvy, odesφlß se prve zadan² text. Takto jsme pomocφ povelu Shift vytvo°ili cyklus, kter² provede odeslßnφ na vÜechny u₧ivatele, zadanΘ jako parametry odd∞lenΘ mezerou, a to ani₧ bychom dop°edu znali jejich poΦet - m∙₧eme tedy hromadn∞ odeslat zprßv vφce vyjmenovan²m u₧ivatel∙m, nap°φklad vÜem koleg∙m v kancelß°i.

Nakonec zruÜφme doΦasnΘ prom∞nnΘ adresßta a textu zprßvy, zobrazφme v²zvu pro stisk klßvesy pro pokraΦovßnφ a pou₧ijeme povel Pause. Jeho v²stup je takΘ p°esm∞rovßn do NUL, dφky Φemu₧ m∙₧eme mφt v²zvu zobrazenou Φesky i pokud mßme anglickou verzi Windows.

Nßsledujφcφ obrßzek ukazuje, jak to m∙₧e vypadat, pokud zkuÜebn∞ poÜlete zprßvu sami sob∞:

Okno zkuÜebnφ zprßvy

Dßvkov² soubor tedy mßme, ovÜem hlavnφ prßce nßs teprve Φekß. Nejprve umφstφme soubor do sdφlenΘ slo₧ky, aby jej mohli vÜichni u₧ivatelΘ pou₧φt. Vytvo°φme k n∞mu zßstupce a p∙vodnφ dßvkov² soubor nastavφme jako skryt². Ve slo₧ce tak z∙stane viditeln² jen zßstupce. Ve vlastnostech zßstupce pak nastavφme velikost okna, vhodnou ikonu, pφsmo a barvy. ╚ßsteΦn∞ tφm napravφme nep°φv∞tivost v²chozφho ΦernobφlΘho p°φkazovΘho °ßdku. DobrΘ je zvolit barvy, kterΘ pou₧φvßme i na ostatnφch strßnkßch naÜeho intranetu. Dßle si zkopφrujeme zßstupce t°eba na Plochu, tam jej p°ejmenujeme na jmΘno u₧ivatele a do cesty (Target) p°idßme parametr jmΘna u₧ivatele. Vznikne tak zßstupce, kter²m budeme odesφlat zprßvy p°φmo danΘmu u₧ivateli. UpravenΘho zßstupce zkopφrujeme do sdφlenΘ slo₧ky a zßstupce, kterΘho mßme zkopφrovanΘho na ploÜe, upravφme pro dalÜφho u₧ivatele a op∞t nakopφrujeme do sdφlenΘ slo₧ky a tak dßle, dokud nebudeme mφt zßstupce vÜech u₧ivatel∙. Ve v∞tÜφch sφtφch bude asi dobrΘ vytvo°it pro r∙znΘ t²my zvlßÜ¥ slo₧ky se zßstupci u₧ivatel∙ jen z konkrΘtnφ skupiny. M∙₧eme vytvo°it i zvlßÜtnφ zßstupce, kterΘ hromadn∞ odeÜlou zprßvu vφce u₧ivatel∙m - prost∞ v p°φkazovΘm °ßdku zßstupce vyjmenujeme vφce u₧ivatel∙ odd∞len²ch mezerou.

V²slednΘ okno slo₧ky potom m∙₧e vypadat nßsledovn∞ (jsou vid∞t zßstupci p°edp°ipraven²ch u₧ivatel∙ a zßstupce pro poslßnφ zprßvy komukoli):

Slo₧ka se zßstupci

Do strßnky v intranetu potom p°idßme odkaz, sm∞°ujφcφ ke slo₧ce s naÜimi zßstupci, nebo t°eba iframe, kter² bude mφt jako zdroj uvedenu cestu do slo₧ky se zßstupci. Pokud se na intrantetu pou₧φvß Internet Explorer, bez problΘm∙ se takov²m odkazem otev°e slo₧ka pro odesφlßnφ zprßv (v poslednφ verzi Mozilly to funguje takΘ):

<a href="\\PC_se_sdilenou_slozkou\Messaging\" target="_blank">Messaging</a>

K naÜemu dßvkovΘmu souboru lze jen dodat, ₧e zadßnφm adresßta ä*ô se zprßva odeÜle vÜem u₧ivatel∙m v sφti. Zadat m∙₧ete takΘ poΦφtaΦ pomocφ IP adresy.

Na zßv∞r dopln∞k pro systΘmy s Windows 9x/Me, v kter²ch Kur²rnφ slu₧ba nenφ a vestav∞n² povel Net neznß slu₧bu Send. V tomto systΘmu musφme pou₧φt aplikaci WinPopUp (p°idß se v ovlßdacφch panelech), kterß zprßvy umo₧≥uje odesφlat i p°ijφmat. Aby byla tato slu₧ba trvale k dispozici, je nejlepÜφ p°idat do slo₧ky "Po spuÜt∞nφ" zßstupce programu WinPopUp a ve vlastnostech zßstupce nastavit, aby se spouÜt∞l v minimalizovanΘm okn∞. NestraÜφ tak na ploÜe, ale p°itom je p°ipraven p°ijφmat zprßvy. Bohu₧el tato slu₧ba nedovede v sφtφch bez domΘnovΘho °adiΦe urΦit, zda byla zprßva korektn∞ doruΦena. Jinak lze ovÜem naprosto transparentn∞ posφlat zprßvy mezi systΘmy s WinPopUpem a Kur²rnφ slu₧bou. Aby se WinPopUp choval co nejpodobn∞ji Kur²rnφ slu₧b∞, je dobrΘ nastavit mo₧nosti podle obrßzku. U₧ivatelΘ tohoto programu si vÜak nebudou moci vybrat z p°edvolen²ch u₧ivatel∙, jmΘno adresßta budou muset v₧dy vypisovat ruΦn∞.

Konfigurace WinPopUp

Navφc m∙₧ete pou₧φt soubor winpopup.reg a winpopup.adm, kter²mi lze uvedenß nastavenφ vnutit pomocφ editoru registru nebo editoru systΘmovΘ politiky p°φmo po sφti. M∙₧ete si takΘ stßhnout vÜechny zmφn∞nΘ soubory a pou₧φt je, ani₧ byste je museli upravovat.

R∙₧iΦka, Pavel (31.7. 2003)
odborn² redaktor Interval.cz