    binkd9x - íâ® ¢¥àášï binkd, á¯¥æš «ì­® ª®¬¯š«šàã¥¬ ï €«ï à ¡®âë ¯®€
ã¯à ¢«¥­š¥¬ Win9x-ášáâ¥¬ (Windows 95/98/ME). ¥«® ¢ â®¬, çâ® ¢ íâšå
®¯¥à æš®­­ëå ášáâ¥¬ å š¬¥¥âáï €®ªã¬¥­âšà®¢ ­­ ï š ¯àš íâ®¬ ¢¥áì¬ 
¯à®âš¢­ ï ®èš¡ª  ¢ ª®­á®«ì­®© ¯®€ášáâ¥¬¥. §-§  ®èš¡ªš ª®­á®«ì ­¥ ¯®«ãç ¥â
­šª ªšå áš£­ «®¢ (á®®¡é¥­š©), ªà®¬¥ ª« ¢š âãà­ëå CTRL_C_EVENT š
CTRL_BREAK_EVENT.   ¯à ªâšª¥ íâ® ¯àš¢®€šâ ª ­¥¢®§¬®Š­®áâš  ¢â®¬ âšç¥áª®£®
ª®àà¥ªâ­®£® § ¢¥àè¥­šï binkd, ­ ¯àš¬¥à, ¯àš shutdown'¥ š«š ¯¥à¥§ £àã§ª¥ .

    binkd9x ­¥ ï¢«ï¥âáï ª®­á®«ì­ë¬ ¯àš«®Š¥­š¥¬ š á®§€ ñâ ®ª­®, ª®â®à®¥ ¯®«ãç ¥â
á®®¡é¥­šï ášáâ¥¬ë.  ªâšç¥áªš ¯à®€®«Š ¥â à ¡®â âì ª« áášç¥áªš© binkd, â®«ìª®
¡¥§ ª®­á®«š (¢ áªàëâ®¬ à¥Šš¬¥). â® ­¥€®áâ â®ª ­®¬¥à 1. àš íâ®¬ €«ï Win9x
ášáâ¥¬ ­¥®¡å®€š¬ ®â€¥«ì­ë© ¡š­ à­šª. â® ¢â®à®© ­¥€®áâ â®ª.

     ªŠ¥ binkd9x ã¬¥¥â à ¡®â âì á¥à¢šá®¬ ¯®€ Win9x-ášáâ¥¬ ¬š. ®­¥ç­®, íâ®â
à¥Šš¬ à ¡®âë ­¥«ì§ï áà ¢­š¢ âì á á¥à¢šá ¬š ¯®€ Windows NT/2000/XP ¯®
äã­ªæš®­ «ì­®áâš, ­® ­  Win9x ¢ ­¥ª®â®àëå á«ãç ïå íâ® ¡ë¢ ¥â ­¥®¡å®€š¬®,
­ ¯àš¬¥à, ¯àš ç áâëå Logoff' å. binkd9x, ãáâ ­®¢«¥­­ë© á¥à¢šá®¬, § £àãŠ ¥âáï
¯àš áâ àâ¥ ášáâ¥¬ë (€® Logon' ) š ­¥ ®áâ ­ ¢«š¢ ¥âáï ¯àš Logoff'¥.

    binkd9x š€¥­âšäšæšàã¥â á¥¡ï, ª ª "Win9x", ¢ ®â«šçš¥ ®â ®¡ëç­®£® binkd €«ï
Win32 ("Win32"). ¯à®ç¥¬, â ª®¥ ¯®¢¥€¥­š¥ ¬®Š­® «¥£ª® šá¯à ¢šâì ¢ config.h

     ­¥ª®â®àëå ášâã æšïå binkd9x  ªâš¢šàã¥â ¢à¥¬¥­­ãî ª®­á®«ì. àš €¥ ªâš¢ æšš
ª®­á®«š ®Šš€ ¥âáï ­ Š âš¥ «î¡®© ª« ¢šèš.

    â«šçš¥ ®¯æš© binkd9x ®â ®¡ëç­®£® binkd €«ï Win32:

"-T minimize to Tray" ¢ binkd9x ­¥€®áâã¯­ , â.ª. §  ­¥š¬¥­š¥¬ ª®­á®«š
­¥ç¥£® š ¬š­š¬š§šà®¢ âì.

"-v be verbose / dump version and quit", "-h print this help",
­¥€®ªã¬¥­âšà®¢ ­­ ï "--help",   â ªŠ¥ ¯àš § ¯ãáª¥ ¡¥§ ¯ à ¬¥âà®¢ binkd9x
 ªâš¢šàã¥â ¢à¥¬¥­­ãî ª®­á®«ì ¯¥à¥€ ¢ë¯®«­¥­š¥¬ á®®â¢¥âáâ¢ãîé¥£® €¥©áâ¢šï.

    ®¢ë¥ ®¯æšš:

"-i       install Win9x service"
 ­áâ ««šàã¥â á¥à¢šá.

    ¥à¢šáë ¯à®¯šáë¢ îâáï ¢ à¥¥áâà ¢ ¢¥â¢ì
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices".

     ªŠ¥ ¢ ¢¥â¢ì à¥¥áâà  "HKEY_LOCAL_MACHINE\Software\binkd9x" § ¯šáë¢ ¥âáï
â¥ªãéš© ¯ãâì ­  ¬®¬¥­â š­áâ ««ïæšš binkd9x. ¥à¢šá binkd9x ¯àš áâ àâ¥
ãáâ ­®¢šâ íâ®â ¯ãâì â¥ªãéš¬. á«š binkd9x ¯àš š­áâ ««ïæšš ¡ë« § ¯ãé¥­
š§ command.com'  š«š š§ ®¡®«®çªš (­ ¯àš¬¥à š§ Far' ), â® CommandLine
¯à®æ¥áá  binkd9x á®€¥àŠšâ "ª®à®âª®¥" š¬ï ä ©«  (š "ª®à®âªš©" ¯ãâì). á«š
­¥®¡å®€š¬® ¯àš š­áâ ««ïæšš § ­¥áâš ¢ à¥¥áâà "€«š­­®¥" š¬ï ä ©« , â® ¬®Š­®
šá¯®«ì§®¢ âì ª®¬ ­€ã start.  ¯àš¬¥à:
 start binkd9x-mingw -i binkd.cfg

    àš šá¯®«ì§®¢ ­šš ª®¬ ­€ "-i", "-u", "-t" binkd9x  ªâš¢šàã¥â ¢à¥¬¥­­ãî
ª®­á®«ì. ¯æšï "-q" ¡«®ªšàã¥â  ªâš¢ æšî ¢à¥¬¥­­®© ª®­á®«š €«ï ¢á¥å âàñå
ª®¬ ­€. àš íâ®¬ binkd9x ¡ã€¥â á®®¡é âì ¯®«ì§®¢ â¥«î «šèì ® ¢ Š­ëå ®èš¡ª å
¯àš ¯®¬®éš ¢á¯«ë¢ îé¥£® á®®¡é¥­šï.  ­­ë© à¥Šš¬ ã€®¡¥­ ¢ ®á­®¢­®¬
€«ï  ¢â®¬ âšç¥áª®£® ã¯à ¢«¥­šï á¥à¢šá ¬š ª®¬ ­€®© "-t". á«š ãáâ ­®¢ª 
á¥à¢šá  ¯à®è«  ãá¯¥è­®, binkd9x ¯ëâ ¥âáï § ¯ãáâšâì á¥à¢šá.

"-u       UNinstall Win9x service"
 € «¥­š¥ á¥à¢šá .  ¡®â ¥â  ­ «®£šç­® ª®¬ ­€¥ "-i". ®Š­® ã€ «šâì ¢á¥
 § à¥£šáâàšà®¢ ­­ë¥ á¥à¢šáë, ãª § ¢ ¢ ®¯æšš "-S name" š¬ï "all".
 àš¬¥à:
 1. binkd9x -u        ==> ã€ «šâì binkd9x-service
 2. binkd9x -u -S Zol ==> ã€ «šâì binkd9x-service-Zol
 3. binkd9x -u -S all ==> ã€ «šâì ¢á¥ binkd9x-á¥à¢šáë


"-t cmd   (start|stop|restart|status|install|uninstall) service(s)"
 ®¬ ­€  €«ï ã¯à ¢«¥­šï á¥à¢šá ¬š.

 "-t install" ­áâ ««šàã¥â á¥à¢šá.

    ¥à¢šáë ¯à®¯šáë¢ îâáï ¢ ¢¥â¢ì à¥¥áâà 
 "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices".

     ªŠ¥ ¢ ¢¥â¢ì à¥¥áâà  "HKEY_LOCAL_MACHINE\Software\binkd9x" § ¯šáë¢ ¥âáï
â¥ªãéš© ¯ãâì ­  ¬®¬¥­â š­áâ ««ïæšš binkd9x. ¥à¢šá binkd9x ¯àš áâ àâ¥
ãáâ ­®¢šâ íâ®â ¯ãâì â¥ªãéš¬. á«š binkd9x ¯àš š­áâ ««ïæšš ¡ë« § ¯ãé¥­
š§ command.com'  š«š š§ ®¡®«®çªš (­ ¯àš¬¥à š§ Far' ), â® CommandLine
¯à®æ¥áá  binkd9x á®€¥àŠšâ "ª®à®âª®¥" š¬ï ä ©«  (š "ª®à®âªš©" ¯ãâì). á«š
­¥®¡å®€š¬® ¯àš š­áâ ««ïæšš § ­¥áâš ¢ à¥¥áâà "€«š­­®¥" š¬ï ä ©« , â® ¬®Š­®
šá¯®«ì§®¢ âì ª®¬ ­€ã start.  ¯àš¬¥à:
 start binkd9x-mingw -t install binkd.cfg

    àš šá¯®«ì§®¢ ­šš ª®¬ ­€ë "-t" binkd9x  ªâš¢šàã¥â ¢à¥¬¥­­ãî ª®­á®«ì.
¯æšï "-q" ¡«®ªšàã¥â  ªâš¢ æšî ¢à¥¬¥­­®© ª®­á®«š. àš íâ®¬ binkd9x ¡ã€¥â
á®®¡é âì ¯®«ì§®¢ â¥«î «šèì ® ¢ Š­ëå ®èš¡ª å ¯àš ¯®¬®éš ¢á¯«ë¢ îé¥£®
á®®¡é¥­šï.  ­­ë© à¥Šš¬ ã€®¡¥­ ¢ ®á­®¢­®¬ €«ï  ¢â®¬ âšç¥áª®£® ã¯à ¢«¥­šï
á¥à¢šá ¬š. á«š ãáâ ­®¢ª  á¥à¢šá  ¯à®è«  ãá¯¥è­®, binkd9x ¯ëâ ¥âáï § ¯ãáâšâì
á¥à¢šá.

 "-t uninstall" ã€ «ï¥â á¥à¢šá.  ¡®â ¥â  ­ «®£šç­® ª®¬ ­€¥ š­áâ ««ïæšš. ®Š­®
 ã€ «šâì ¢á¥ § à¥£šáâàšà®¢ ­­ë¥ á¥à¢šáë, ãª § ¢ ¢ ®¯æšš "-S name" š¬ï "all".
 àš¬¥à:
 1. binkd9x -t unistall        ==> ã€ «šâì binkd9x-service
 2. binkd9x -t unistall -S Zol ==> ã€ «šâì binkd9x-service-Zol
 3. binkd9x -t unistall -S all ==> ã€ «šâì ¢á¥ binkd9x-á¥à¢šáë


 "-t status" ¯®ª §ë¢ ¥â á®áâ®ï­š¥ § à¥£šáâàšà®¢ ­­ëå ¢ à¥¥áâà¥ á¥à¢šá®¢
 binkd9x.
 "-t start" § ¯ãáª ¥â á¥à¢šáë.
 "-t stop" ®áâ ­ ¢«š¢ ¥â á¥à¢šáë.
 "-t restart" ¯¥à¥§ ¯ãáª ¥â á¥à¢šáë.

    ® ¢á¥å á«ãç ïå ¯® ã¬®«ç ­šî €¥©áâ¢šï ¯à®š§¢®€ïâáï á á¥à¢šá®¬
"binkd9x-service". ®Š­® ãª § âì š¬ï á¥à¢šá  ¢ ®¯æšš "-S name".
á«š ¢¬¥áâ® š¬¥­š á¥à¢šá  ãª § âì all, â® ®¯¥à æšï ¡ã€¥â ¯à®¢¥€¥­  á® ¢á¥¬š
§ à¥£šáâàšà®¢ ­­ë¬š ¢ à¥¥áâà¥ á¥à¢šá ¬š.

    á¯®«ì§®¢ ­š¥ ®¯æšš "-q" á ª®¬ ­€®© "-t status" ®á®¡®£® á¬ëá«  ­¥ š¬¥¥â.

    àš¬¥à:
1. binkd9x -t status    ==> ë¢¥€¥â á®áâ®ï­š¥ á¥à¢šá  binkd9x-service
2. binkd9x -t status -S local
                        ==> ë¢¥€¥â á®áâ®ï­š¥ á¥à¢šá  binkd9x-service-local
3. binkd9x -t status -S all
                        ==> ë¢¥€¥â á®áâ®ï­š¥ ¢á¥å § à¥£šáâàšà®¢ ­­ëå á¥à¢šá®¢
4. binkd9x -t status -S all -q
                        ==> á¬. 2., ­® ¯à ªâšç¥áª®£® á¬ëá«  ­¥ š¬¥¥â
                             (®âáãâáâ¢ã¥â ª®­á®«ì)
5. binkd9x -t start     ==>  ¯ãáâšâ á¥à¢šá binkd9x-service, ¥á«š â®â ­¥ ¡ë«
                            § ¯ãé¥­
6. binkd9x -t start -S local
                        ==> á¬. 5., ­® €«ï á¥à¢šá  binkd9x-service-local
7. binkd9x -t start -S all
                        ==> á¬. 5., ­® €«ï ¢á¥å á¥à¢šá®¢.
9. binkd9x -t start -q  ==> á¬. 5., ­® ­¥ á®§€ ñâ ª®­á®«ì (ã€®¡­® €«ï
                             ¢â®¬ âš§ æšš ¯àš ¯®¬®éš áªàš¯â®¢ š«š bat-ä ©«®¢).
10. binkd9x -t stop -q  ==>  ­ «®£šç­® 9., â®«ìª® ®áâ ­®¢ª  á¥à¢šá .
 ... ­ã š â ª € «¥¥...

"-S name  set Win9x service name, all - use all services"
 ª §ë¢ ¥â š¬ï á¥à¢šá , á ª®â®àë¬ ¡ã€¥â à ¡®â âì ª®¬ ­€  -t. ¥ «ì­®¥ š¬ï
 á¥à¢šá  (ª®â®à®¥ ¯à®¯šáë¢ ¥âáï ¢ à¥¥áâà¥) áâà®šâáï ¯® ¯àš­æš¯ã:
 "binkd9x-service[-name]", £€¥ "binkd9x-service" - ®¡ï§ â¥«ì­ ï ç áâì,
   "-name" €®¡ ¢«ï¥âáï ¯àš ­ «šçšš ¯ à ¬¥âà  "-S name". «ï ¢á¥å ª®¬ ­€, ªà®¬¥
 "-t install" €®¯ãáâš¬® šá¯®«ì§®¢ âì á¯¥æš «ì­®¥ š¬ï á¥à¢šá  all.  íâ®¬ á«ãç ¥
 ãª § ­­ ï ®¯¥à æšï ¡ã€¥â ¯à®š§¢¥€¥­  ­ € ¢á¥¬š š­áâ ««šà®¢ ­­ë¬š á¥à¢šá ¬š.
 á«š ¢ ª ç¥áâ¢¥ "name" ãª § ­® "binkd9x-service" š«š "binkd9x-service-*",
 â® š¬ï á¥à¢šá  ¡ã€¥â šá¯®«ì§®¢ ­® "ª ª ¥áâì", â.¥. ¡¥§ €®¯®«­šâ¥«ì­®£®
 €®¡ ¢«¥­šï ¯à¥äšªá  "binkd9x-service". àš¬¥àë:

1. binkd9x -t install binkd.cfg                    ==> binkd9x-service
2. binkd9x -t install -S local binkd.cfg           ==> binkd9x-service-local
3. binkd9x -t install -S binkd9x-service binkd.cfg ==> binkd9x-service
4. binkd9x -t install -S binkd9x-service-local binkd.cfg
                                                   ==> binkd9x-service-local
5. binkd9x -t status -S all                        ==> ¡ã€¥â ¢ë¢¥€¥­ áâ âãá
                                                        ¢á¥å š­áâ ««šà®¢ ­­ëå
                                                        á¥à¢šá®¢

    ¡®àª  binkd9x:

     ­ áâ®ïéš© ¬®¬¥­â binkd9x á®¡šà ¥âáï ¯®€ MSVC š MinGW.
¥å­®«®£šï á¡®àªš ¯à ªâšç¥áªš â ª ï Š¥, ª ª š €«ï ®¡ëç­®£® binkd.

    «ï MSVC ­¥®¡å®€š¬® â®«ìª® ãª § âì nmake ¬ ªà®á "BINKD9X", ­ ¯àš¬¥à:
1. nmake BINKD9X=1                          ==> á®¡¥àñâ binkd9x á
                                                       Release-ª®­äš£ãà æš¥©
2. nmake BINKD9X=1 DEBUG=1                  ==> á®¡¥àñâ binkd9x á
                                                         Debug-ª®­äš£ãà æš¥©
3. nmake BINKD9X=1 STATIC=1                 ==> á®¡¥àñâ binkd9x á
                                   šá¯®«ì§®¢ ­š¥¬ áâ âšç¥áª®© RTL-¡š¡«š®â¥ªš

    ®€ MinGW  ­ «®£šç­®:
 make BINKD9X=1

    ! àš ¯®¯¥à¥¬¥­­®© ª®¬¯š«ïæšš binkd š binkd9x ¯®€ MinGW ­¥®¡å®€š¬®
¢ë¯®«­ïâì make clean š«š ¢àãç­ãî ã€ «šâì *.o, nt/*.o š ntlm/*.o ä ©«ë.
á«š íâ®£® ­¥ á€¥« âì, â® ¢®§¬®Š­ë ®èš¡ªš ª®¬¯š«ïæšš š«š ­¥¯à ¢š«ì­®¥
äã­ªæš®­šà®¢ ­š¥ binkd š binkd9x.

 ¡ã€ã à €, ¥á«š binkd9x ¯àš£®€šâáï ª®¬ã-â® ªà®¬¥ ¬¥­ï.

Alexander Reznikov, 2:4600/220@fidonet
                    homebrewer@yandex.ru

$Id$
