home *** CD-ROM | disk | FTP | other *** search
/ Systema 1.6 / USSYS16.iso / mouse / disk1 / common.in_ / common.in
Encoding:
Text File  |  1995-07-24  |  32.1 KB  |  978 lines

  1.  '**************************************************************************
  2. '**************************************************************************
  3. DECLARE SUB InitialIzation
  4. DECLARE SUB BadOpSysNT
  5. DECLARE SUB BadOpSys30
  6. DECLARE SUB WAutoFig
  7. DECLARE SUB Notadmini
  8. DECLARE SUB Disincentive
  9. DECLARE SUB FindOldSoftWare
  10. DECLARE SUB ASKEXIT
  11. DECLARE SUB GetPath
  12. DECLARE SUB QuitInstall
  13. DECLARE SUB FillCopyList
  14. DECLARE SUB FillIniFile
  15. DECLARE FUNCTION WriteDisToFile LIB "mscuistf.dll" (Direct$) AS INTEGER
  16. DECLARE FUNCTION ReadIniDisin   LIB "mscuistf.dll" (Direct$) AS INTEGER
  17. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  18. DECLARE FUNCTION IsWinNT LIB "mscuistf.dll" AS INTEGER
  19. DECLARE FUNCTION FindWindow LIB "USER" (classname$, title$) AS INTEGER
  20. DECLARE FUNCTION SwapMouseButton LIB "USER" (x%) AS INTEGER
  21. DECLARE FUNCTION GetBasicStr LIB "string.dll" (x%) AS INTEGER
  22. DECLARE FUNCTION SetRunLine LIB "mscuistf.dll" (lpNewLine$) AS INTEGER
  23. DECLARE FUNCTION SetSchemes LIB "mscuistf.dll" (szThe$) AS INTEGER
  24. DECLARE FUNCTION RegisterWindowMessage LIB "USER" (sz$) AS INTEGER
  25.  
  26. DECLARE FUNCTION NTInit LIB "MSCOMSTF" AS INTEGER
  27. DECLARE FUNCTION NTIsDirWritable LIB "MSCOMSTF" (DirName$) AS INTEGER
  28. DECLARE FUNCTION NTCreateDir LIB "MSCOMSTF" (DirName$) AS INTEGER
  29. DECLARE FUNCTION NTGetWinDir LIB "MSCOMSTF" () AS INTEGER
  30. DECLARE FUNCTION NTGetSysDir LIB "MSCOMSTF" () AS INTEGER
  31. DECLARE FUNCTION NTCheckSecurity LIB "MSCOMSTF" AS INTEGER
  32. DECLARE FUNCTION NTSetRegistry LIB "MSCOMSTF" (RegInfo$, lang%) AS INTEGER
  33. DECLARE FUNCTION NTSetMouse LIB "MSCOMSTF" (MouseCode%) AS INTEGER
  34. DECLARE FUNCTION NTReboot LIB "MSCOMSTF" (Reboot%) AS INTEGER
  35. DECLARE FUNCTION NTFindDirs LIB "MSCOMSTF" (t1$, t2$, szDevice$) AS INTEGER
  36.  
  37. CONST WM_REBOOT    = 1536
  38. CONST WM_WTYPE     = 1537
  39. CONST WM_LANG      = 1538
  40. CONST WM_NONWINKBD = 1539
  41. CONST WM_KEYBOARD  = 1540
  42.  
  43. CONST DIS_NOT_INSTALLED = 101
  44. CONST DIS_INSTALLED = 202
  45. CONST DIS_CORUPTED = 303
  46.  
  47. '**************************************************************************
  48. '**************************************************************************
  49. SUB InitialIzation STATIC
  50.  
  51.     SetBitmap "string.dll", 1
  52.  
  53.     x% = GetBasicStr(8002)
  54.     sz$ = GetSymbolValue("SetupString")
  55.     SetTitle sz$
  56.     RemoveSymbol "SetupString"
  57.  
  58.     '' Get windows type
  59.     WINTYPE% = IsWinNT
  60.  
  61.     IF WINTYPE% = -1 THEN
  62.         BadOpSysNT
  63.     ELSEIF WINTYPE% = 0 THEN
  64.         WINTYPE% = GetWindowsMajorVersion
  65.         IF WINTYPE% = 3 THEN
  66.             x% = GetWindowsMinorVersion
  67.             IF x% = 0 THEN
  68.                 BadOpSys30
  69.             ENDIF
  70.             IF x% > 60 THEN
  71.                 WINTYPE% = 4
  72.             ENDIF
  73.         ENDIF
  74.     ENDIF
  75.  
  76.     'Find out if Autoexec.bat and Config.sys are writeable
  77.     i% = AutoFigWriteable()
  78.     if i% = 0 then
  79.         'Autoexec/Config.sys are read-only
  80.         WAutoFig
  81.     ENDIF
  82.  
  83.     '' Read setup.inf file
  84.     szSTR$ = GetSymbolValue("STF_SRCINFPATH")
  85.     IF szSTR$ = "" THEN
  86.         szSTR$ = GetSymbolValue("STF_CWDDIR")
  87.     END IF
  88.     SETUPINF$ = szSTR$
  89.  
  90.     ReadInfFile MakePath(szSTR$, "setup.inf")
  91.  
  92.     '' Find the Mother ship
  93.     HWIN% = FindWindow("STUFF-BOOT", NULL)
  94.     
  95.     '' Get source dir
  96.     SRCDIR$ = GetSymbolValue("STF_SRCDIR")
  97.  
  98.     '' Disincentive
  99.     RetCode% = ReadIniDisin(MakePath(SRCDIR$, "setup.ini"))
  100.  
  101.     ''Make Our Default drive and path string
  102.     IF WINTYPE% = 3 THEN
  103.         WINDIR$ = GetWindowsDir
  104.         WINSYSDIR$ = GetWindowsSysDir
  105.     ELSE
  106.         '32-Bit Windows
  107.         x% = NTInit()
  108.         if WINTYPE% = 1 then
  109.             'Basic does both tests on an AND... duh!
  110.             if NTCheckSecurity() = 0 then
  111.                 Notadmini
  112.             endif
  113.         endif
  114.         'Windows and windows/System32 may use 
  115.         'long filenames (get 8.3)
  116.         x%= NTGetWinDir()
  117.         WINDIR$ = GetSymbolValue("SetupString")
  118.         RemoveSymbol "SetupString"
  119.         x%= NTGetSysDir()
  120.         WINSYSDIR$ = GetSymbolValue("SetupString")
  121.         RemoveSymbol "SetupString"
  122.     ENDIF
  123.     
  124.     'Default MSINPUT directory
  125.     SHMSE$ = MID$(WINDIR$, 1, 1) + ":\MSINPUT"
  126.  
  127.     '' Set /O switch if on comand line
  128.     SETUPTYPE$ = GetIniKeyString(MakePath(SRCDIR$, "setup.lst"), "SetupType", "OEM")
  129.  
  130.     IF SETUPTYPE$ = "TRUE" THEN
  131.         OEMTYPE% = 1
  132.     ELSE
  133.         OEMTYPE% = 0
  134.     ENDIF
  135.  
  136.     if WINTYPE% <> 4 then
  137.         'Win16/WinNT
  138.         '' Kill Logitech's mouse cursor stuff
  139.         kbd& = PostMessage(FindWindow("LCURSOR",NULL), 2, 0, 0)
  140.         '' Kill Old Pointer   This stuff is in \common\win\inc\pointer.h
  141.         kbd& = PostMessage(FindWindow("POINTEXE","Pointer.exe Invisible Window"), 1133, 0, 0)
  142.         '' Kill Real Old Pointer
  143.         kd& = PostMessage(FindWindow("GROWSTUB",NULL),16,0,0)
  144.         '' Kill Keyboard or Mouse managers
  145.         x% = RegisterWindowMessage("PROPWINSHUTDOWN")
  146.         kd& = PostMessage(-1,x%,0,0)
  147.     endif
  148.  
  149. END SUB
  150. '**************************************************************************
  151.  
  152. '**************************************************************************
  153. '**************************************************************************
  154. SUB BadOpSysNT STATIC
  155.  
  156. BNT:
  157.     sz$ = UIStartDlg(COMDLL$, BADOSNT, "FQuitDlgProc", 0, "")
  158.     IF sz$ = "HELP" THEN
  159.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  160.         UIPop 1
  161.         GOTO BNT
  162.     ENDIF
  163.     UIPopAll
  164.     ERROR STFQUIT
  165.  
  166. END SUB
  167. '**************************************************************************
  168.  
  169. '**************************************************************************
  170. '**************************************************************************
  171. SUB BadOpSys30 STATIC
  172.  
  173. B30:
  174.     sz$ = UIStartDlg(COMDLL$, BADOS30, "FQuitDlgProc", 0, "")
  175.     IF sz$ = "HELP" THEN
  176.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  177.         UIPop 1
  178.         GOTO B30
  179.     ENDIF
  180.     UIPopAll
  181.     ERROR STFQUIT
  182.  
  183. END SUB
  184. '**************************************************************************
  185.  
  186. '**************************************************************************
  187. '**************************************************************************
  188. SUB WAutoFig STATIC
  189.  
  190. WAF:
  191.     sz$ = UIStartDlg(COMDLL$, WRITEAUTOFIG, "FQuitDlgProc", 0, "")
  192.     IF sz$ = "HELP" THEN
  193.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  194.         UIPop 1
  195.         GOTO WAF
  196.     ENDIF
  197.     UIPopAll
  198.     ERROR STFQUIT
  199.  
  200. END SUB
  201. '**************************************************************************
  202.  
  203. '**************************************************************************
  204. '**************************************************************************
  205. SUB Notadmini STATIC
  206.  
  207. NA:
  208.     sz$ = UIStartDlg(COMDLL$, NOTADMIN, "FQuitDlgProc", 0, "")
  209.     IF sz$ = "HELP" THEN
  210.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  211.         UIPop 1
  212.         GOTO NA
  213.     ENDIF
  214.     UIPopAll
  215.     ERROR STFQUIT
  216.  
  217. END SUB
  218. '**************************************************************************
  219.  
  220. '**************************************************************************
  221. '**************************************************************************
  222. SUB Disincentive STATIC
  223.  
  224.     IF RetCode% = DIS_NOT_INSTALLED THEN
  225.  
  226. REDOO:
  227.         sz$ = UIStartDlg(COMDLL$, CDGETNAME, "FNameOrgDlgProc", 0, "")
  228.         szName$ = GetSymbolValue("NameOut")
  229.         szOrg$ = GetSymbolValue("OrgOut")
  230.  
  231.         IF sz$ = "CONTINUE" THEN
  232.             IF szName$ = "" THEN
  233. BN:
  234.                 sz$ = UIStartDlg(COMDLL$, CDBADNAME, "FConfirmDlgProc", 0, "")
  235.                 IF sz$ = "CONTINUE" THEN
  236.                     UIPop 1
  237.                     GOTO REDOO
  238.                 ELSEIF sz$ = "CANCEL" THEN
  239.                     ASKEXIT
  240.                     GOTO BN
  241.                 ELSEIF sz$ = "HELP" THEN
  242.                     sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  243.                     UIPop 1
  244.                     GOTO BN
  245.                 ELSE
  246.                     UIPop 2
  247.                 ENDIF
  248.             ENDIF                   
  249.             AddListItem "ConfirmTextIn", szName$
  250.             AddListItem "ConfirmTextIn", szOrg$
  251.  
  252. CDCONFIRM:
  253.             sz$ = UIStartDlg(COMDLL$, CDCONFIRMINFO, "FConfirmDlgProc", 0, "")
  254.  
  255.             RemoveSymbol "ConfirmTextIn"                                                            
  256.             
  257.             IF sz$ = "BACK" OR sz$ = "CANCEL" THEN
  258.                 UIPop(1)
  259.                 GOTO REDOO
  260.             ELSEIF sz$ = "HELP" THEN
  261.                 sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  262.                 UIPop 1
  263.                 GOTO CDCONFIRM
  264.             ELSE
  265.                 UIPop(2)
  266.             ENDIF
  267.  
  268.         ELSEIF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  269.             ASKEXIT
  270.             GOTO REDOO
  271.         ELSEIF sz$ = "HELP" THEN
  272.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  273.             UIPop 1
  274.             GOTO REDOO
  275.         ELSE
  276.             GOTO REDOO
  277.         ENDIF
  278.  
  279.         SetSymbolValue "INSTALLEDNAME", szName$ 
  280.         SetSymbolValue "INSTALLEDORG", szOrg$ 
  281.         sx% = WriteDisToFile(MakePath(SRCDIR$, "setup.ini"))
  282.         
  283.     ELSEIF RetCode% = DIS_INSTALLED THEN
  284.  
  285. DISINSTALLED:
  286.         szName$ = GetSymbolValue("INSTALLEDNAME")
  287.         szOrg$ = GetSymbolValue("INSTALLEDORG")
  288.         szSer$ = GetSymbolValue("INSTALLEDSER")
  289.  
  290.         AddListItem "ConfirmTextIn", szName$
  291.         AddListItem "ConfirmTextIn", szOrg$
  292.         AddListItem "ConfirmTextIn", szSer$
  293.  
  294.         sz$ = UIStartDlg(COMDLL$, CDALREADYUSED, "FConfirmDlgProc", 0, "")
  295.         RemoveSymbol "ConfirmTextIn"                                                            
  296.  
  297.         IF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  298.             ASKEXIT
  299.             GOTO DISINSTALLED
  300.         ELSEIF sz$ = "HELP" THEN
  301.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  302.             UIPop 1
  303.             GOTO DISINSTALLED
  304.         ELSE
  305.             UIPop(1)
  306.         ENDIF
  307.  
  308.     ELSEIF RetCode% = DIS_CORUPTED THEN
  309.  
  310. DISCORUPTED:
  311.         sz$ = UIStartDlg(COMDLL$, CDBADFILE, "FInfoDlgProc", 0, "")
  312.  
  313.         IF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  314.             ASKEXIT
  315.             GOTO DISCORUPTED
  316.         ELSEIF sz$ = "HELP" THEN
  317.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  318.             UIPop 1
  319.             GOTO DISCORUPTED
  320.         ELSE
  321.             UIPop(1)
  322.         ENDIF
  323.  
  324.     ENDIF
  325.  
  326. END SUB
  327. '**************************************************************************
  328.  
  329. '**************************************************************************
  330. '**************************************************************************
  331. SUB FindOldSoftWare STATIC
  332.  
  333.     DLG% = DESTPATH
  334.     Cursor% = ShowWaitCursor()
  335.         
  336.     FOUNDOTHER% = 0
  337.     sz$ = GetEnvVariableValue("MSINPUT")
  338.     IF sz$="" AND WINTYPE% <> 3 THEN
  339.         'Win95 and WinNT
  340.         i% = NTFindDirs("", "", "MOUSE")
  341.         IF i% <> 0 THEN
  342.             sz$ = GetSymbolValue("SetupString")
  343.         ENDIF
  344.     ENDIF
  345.         
  346.     IF sz$ <> "" THEN
  347.         FOUNDOTHER% = 1
  348.         SHMSE$ = sz$
  349.         IF FindFileUsingFileOpen(MakePath(sz$,"MOUSE\UNINSTAL.EXE")) <> "" THEN
  350.             DLG% = FOUNDSOFT
  351.         ENDIF
  352.         'Check if previous Keyboard product was installed
  353.         IF FindFileUsingFileOpen(MakePath(SHMSE$,"KEYBOARD\KBDX16.EXE")) <> "" THEN
  354.             IF FindFileUsingFileOpen(MakePath(SHMSE$,"KEYBOARD\NTFILE.EXE")) = "" THEN
  355.                 'Nexus
  356.                 szIni$ = MakePath(SHMSE$,"MSINPUT.INI")
  357.                 CreateIniKeyValue szIni$, "Setup", "OldKeyboard.Win16", MakePath(SHMSE$, "KEYBOARD"), cmoOverwrite
  358.             ENDIF
  359.         ENDIF
  360.     ENDIF
  361.  
  362.     RestoreCursor Cursor
  363.  
  364. END SUB
  365. '**************************************************************************
  366.  
  367. '**************************************************************************
  368. '**************************************************************************
  369. SUB GetPath STATIC
  370.  
  371. FOUND:
  372.     IF FOUNDOTHER% = 1 THEN
  373.         AddListItem "ConfirmTextIn", SHMSE$
  374.         '' Do you realy want to change the directory?
  375. DET:
  376.         sz$ = UIStartDlg(COMDLL$, DETECT, "FConfirmDlgProc", 0, "")
  377.         IF sz$ = "CONTINUE" THEN
  378.             UIPop 1
  379.             GOTO XSTALL
  380.         ELSEIF sz$ = "CANCEL" THEN
  381.             ASKEXIT
  382.             GOTO DET
  383.         ELSEIF sz$ = "HELP" THEN
  384.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  385.             UIPop 1
  386.             GOTO DET
  387.         ENDIF
  388.         UIPop 1
  389.  
  390.         AddListItem "ConfirmTextIn", SHMSE$
  391.         '' Do you REALY REALLY want to change the directory?
  392. WARN:
  393.         sz$ = UIStartDlg(COMDLL$, WARNING, "FConfirmDlgProc", 0, "")
  394.         IF sz$ = "CONTINUE" THEN
  395.             UIPop 1
  396.             GOTO XSTALL
  397.         ELSEIF sz$ = "CANCEL" THEN
  398.             ASKEXIT
  399.             GOTO WARN
  400.         ELSEIF sz$ = "HELP" THEN
  401.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  402.             UIPop 1
  403.             GOTO WARN
  404.         ENDIF
  405.         UIPop 1
  406.     ENDIF
  407.  
  408.     SetSymbolValue "EditTextIn", SHMSE$
  409.     SetSymbolValue "EditFocus", "ALL"
  410. GETPATHL1:
  411.     sz$ = UIStartDlg(COMDLL$, DLG%, "FEditDlgProc", 0, "")
  412.     IF sz$ = "CONTINUE" THEN
  413.         SHMSE$ = GetSymbolValue("EditTextOut")
  414.         if SHMSE$ = "" then
  415.             goto BADPATH
  416.         endif
  417. RMBACK:
  418.         IF MID$(SHMSE$, LEN(SHMSE$), 1) = "\" THEN
  419.             IF LEN(SHMSE$) > 3 THEN
  420.                 SHMSE$ = MID$(SHMSE$, 1, LEN(SHMSE$)-1)
  421.                 GOTO RMBACK
  422.             ENDIF
  423.         ENDIF
  424.  
  425.         IF IsDirWritable(SHMSE$) = 0 THEN
  426. BADPATH:
  427.             sz$ = UIStartDlg(COMDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  428.             IF sz$ = "REACTIVATE" THEN
  429.                 GOTO BADPATH
  430.             ELSEIF sz$ = "HELP" THEN
  431.                 sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  432.                 UIPop 1
  433.                 GOTO BADPATH
  434.             END IF
  435.             UIPop 1
  436.  
  437.             GOTO GETPATHL1
  438.  
  439.         END IF
  440.         UIPop 1
  441.  
  442.         '' Is there room on the drive?
  443.         IF WINTYPE% = 1 OR WINTYPE% = 4 THEN
  444.                ''   INPUT   USER
  445.             need& = 347957 + 422923
  446.         ELSEIF WINTYPE% = 3 THEN
  447.                ''   INPUT   USER
  448.             need& = 271697 + 345995
  449.         ENDIF
  450.         drive$ = MID$(SHMSE$, 1, 1)
  451.  
  452.         IF need& > GetFreeSpaceForDrive(drive$) THEN
  453. NOSPACE:
  454.             sz$ = UIStartDlg(COMDLL$, NOSPACEEXPRESS, "FInfo0DlgProc", 0, "")
  455.             IF sz$ = "CONTINUE" THEN
  456.                 UIPop 1
  457.                 GOTO GETPATHL1
  458.             ELSEIF sz$ = "BACK" OR sz$ = "CANCEL" THEN
  459.                 UIPop 1
  460.                 ASKEXIT
  461.                 GOTO GETPATHL1
  462.             ELSEIF sz$ = "REACTIVATE" THEN
  463.                 GOTO NOSPACE
  464.             ELSEIF sz$ = "HELP" THEN
  465.                 sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  466.                 UIPop 1
  467.                 GOTO NOSPACE
  468.             ELSE
  469.                 GOTO GETPATHL1
  470.             END IF
  471.         END IF
  472.     ELSEIF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  473.         ASKEXIT
  474.         GOTO GETPATHL1
  475.     ELSEIF sz$ = "HELP" THEN
  476.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  477.         UIPop 1
  478.         GOTO GETPATHL1
  479.     ELSE
  480.         GOTO GETPATHL1
  481.     END IF
  482.  
  483. XSTALL:
  484.  
  485. END SUB
  486. '**************************************************************************
  487.  
  488. '*************************************************************************
  489. '*************************************************************************
  490. SUB QuitInstall STATIC
  491.  
  492.     IF ERR = 0 THEN
  493. ES:
  494.         sz$ = UIStartDlg(COMDLL$, EXITSUCCESS, "FInfoDlgProc", 0, "")
  495.         IF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  496.             UIPop 1
  497.             x% = PostMessage(HWIN%, 1536, 0, 0)
  498.         ELSEIF sz$ = "BACK" THEN
  499.             UIPop 1
  500.             x% = PostMessage(HWIN%, 1536, 1, 0)
  501.         ELSEIF sz$ = "HELP" THEN
  502.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  503.             UIPop 1
  504.             GOTO ES
  505.         ELSE
  506.             GOTO ES
  507.         END IF
  508.         x% = PostMessage(FindWindow("MS_WINHELP",NULL), 2, 0, 0)
  509.         END
  510.  
  511.     ELSEIF ERR = STFQUIT THEN
  512.         dlg% = EXITQUIT
  513.     ELSE
  514.         dlg% = EXITFAILURE
  515.     END IF
  516. QUITL1:
  517.     sz$ = UIStartDlg(COMDLL$, dlg%, "FInfo0DlgProc", 0, "")
  518.     IF sz$ = "REACTIVATE" THEN
  519.         GOTO QUITL1
  520.     ELSEIF sz$ = "HELP" THEN
  521.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  522.         UIPop 1
  523.         GOTO QUITL1
  524.     ENDIF
  525.     UIPop 1
  526.     x% = PostMessage(HWIN%, 1536, 0, 0)
  527.     
  528.     END
  529.  
  530.     
  531. END SUB
  532. '*************************************************************************
  533.  
  534. '*************************************************************************
  535. '*************************************************************************
  536. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  537.     IF szDir$ = "" THEN
  538.         MakePath = szFile$
  539.     ELSEIF szFile$ = "" THEN
  540.         MakePath = szDir$
  541.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  542.         MakePath = szDir$ + szFile$
  543.     ELSE
  544.         MakePath = szDir$ + "\" + szFile$
  545.     END IF
  546. END FUNCTION
  547. '*************************************************************************
  548.  
  549. '*************************************************************************
  550. '*************************************************************************
  551. SUB ASKEXIT STATIC
  552. ASKQUIT:
  553.     sz$ = UIStartDlg(COMDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  554.     IF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  555.         UIPopAll
  556.         ERROR STFQUIT
  557.     ELSEIF sz$ = "REACTIVATE" THEN
  558.         GOTO ASKQUIT
  559.     ELSEIF sz$ = "HELP" THEN
  560.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  561.         UIPop 1
  562.         GOTO ASKQUIT
  563.     ELSE
  564.         UIPop 1
  565.     END IF
  566.  
  567. END SUB
  568. '*************************************************************************
  569.  
  570. '*************************************************************************
  571. '*************************************************************************
  572. SUB FillCopyList STATIC
  573.  
  574.     ClearCopyList
  575.  
  576.     '[Setup] section keeps track of installations
  577.     szIni$ = MakePath(SHMSE$,"MSINPUT.INI")
  578.  
  579.     'Check if previous Mouse or Keyboard product was installed
  580.     IF FindFileUsingFileOpen(MakePath(WINSYSDIR$,"IDINTL.DLL")) <> "" THEN
  581.         'Antigua or Nexus found
  582.         CreateIniKeyValue szIni$, "Setup", "Other.Win16", SHMSE$, cmoOverwrite
  583.     ENDIF
  584.  
  585.     LangType = SendMessage(HWIN%, WM_LANG, 0, 0)
  586.     
  587.     IF LangType = 70 THEN           ' we have japanse
  588.         NewWinType% = IsWinNT
  589.         IF NewWinType% = 1 THEN         ' we have WinNT
  590.             MOTYPE$="MoNT"
  591.         ENDIF
  592.     ENDIF
  593.     
  594.     IF CUSTOM1$ = "ON" THEN
  595.         if WINTYPE% = 4 then
  596.             'Win95 CPMNGR32 goes to WinDir
  597.             AddSectionKeyFileToCopyList MOTYPE$, "ZA", SRCDIR$, WINDIR$
  598.         else
  599.             'Win16/WinNT/Daytona CPMNGR16/32 goes to WinSysDir
  600.             AddSectionKeyFileToCopyList MOTYPE$, "ZA", SRCDIR$, WINSYSDIR$
  601.         endif
  602.  
  603.         AddSectionKeyFileToCopyList MOTYPE$, "ZB", SRCDIR$, SHDST$
  604.         AddSectionKeyFileToCopyList MOTYPE$, "ZC", SRCDIR$, SHDST$
  605.         AddSectionKeyFileToCopyList MOTYPE$, "ZD", SRCDIR$, SHMSE$
  606.  
  607.         IF POINTER1$ = "ON" THEN
  608.             AddSectionKeyFileToCopyList MOTYPE$, "A", SRCDIR$, SHDST$
  609.             AddSectionKeyFileToCopyList "Cursor", "B", SRCDIR$, SHEFF$
  610.             if WINTYPE% = 3 then
  611.                 'Win16
  612.                 AddSectionFilesToCopyList "MFX", SRCDIR$, SHEFF$
  613.             else
  614.                 'Win95/WinNT/Daytona
  615.                 AddSectionFilesToCopyList "ANI", SRCDIR$, SHEFF$
  616.             endif
  617.         ENDIF
  618.  
  619.         IF POINTER2$ = "ON" THEN
  620.             AddSectionKeyFileToCopyList MOTYPE$, "B", SRCDIR$, SHDST$
  621.         ENDIF
  622.  
  623.         IF POINTER3$ = "ON" THEN
  624.             AddSectionKeyFileToCopyList MOTYPE$, "C", SRCDIR$, SHDST$
  625.         ENDIF
  626.  
  627.         IF POINTER4$ = "ON" THEN
  628.             AddSectionKeyFileToCopyList MOTYPE$, "D", SRCDIR$, SHDST$
  629.         ENDIF
  630.  
  631.         IF POINTER5$ = "ON" THEN
  632.             AddSectionKeyFileToCopyList MOTYPE$, "E", SRCDIR$, SHDST$
  633.         ENDIF
  634.  
  635.         IF POINTER6$ = "ON" THEN
  636.             if WINTYPE% = 3 THEN
  637.                 'Win16
  638.                 AddSectionKeyFileToCopyList MOTYPE$, "F", SRCDIR$, SHDST$
  639.             else
  640.                 AddSectionFilesToCopyList "SCHEMES", SRCDIR$, SHEFF$
  641.             endif
  642.             AddSectionKeyFileToCopyList "Cursor", "A", SRCDIR$, SHEFF$
  643.         ENDIF
  644.  
  645.         IF POINTER7$ = "ON" THEN
  646.             AddSectionKeyFileToCopyList MOTYPE$, "G", SRCDIR$, SHDST$
  647.         ENDIF
  648.  
  649.         IF POINTER8$ = "ON" THEN
  650.             AddSectionKeyFileToCopyList MOTYPE$, "H", SRCDIR$, SHDST$
  651.         ENDIF
  652.     ENDIF
  653.  
  654.     IF CUSTOM2$ = "ON" THEN
  655.         AddSectionKeyFileToCopyList MOTYPE$, "T", SRCDIR$, SHDST$
  656.         IF (LANGTYPE = 70) AND (IsWinNT = 1) THEN
  657.             AddSectionKeyFileToCopyList "Common", "INBRNT", SRCDIR$, WINDIR$                
  658.         ELSE
  659.             AddSectionKeyFileToCopyList "Common", "INBAR", SRCDIR$, WINDIR$
  660.         ENDIF                           
  661.         AddSectionKeyFileToCopyList MOTYPE$, "U", SRCDIR$, SHDST$
  662.     ENDIF
  663.  
  664.     ' 70 = Japanese and we do not want to copy any DOS files over
  665.     ' 71 = Korean 
  666.     IF (LANGTYPE = 70) OR (LANGTYPE= 71) THEN
  667.         CUSTOM3$ = "OFF"
  668.         CUSTOM4$ = "OFF"
  669.         LangType = 65
  670.     ENDIF
  671.     
  672.  
  673.     IF CUSTOM3$ = "ON" THEN
  674.         AddSectionKeyFileToCopyList "MiscDos", "B", SRCDIR$, SHDST$
  675.         IF LangType = 66 THEN
  676.             AddSectionKeyFileToCopyList "DosLan", "B", SRCDIR$, SHDST$
  677.         ELSEIF LangType = 67 THEN
  678.             AddSectionKeyFileToCopyList "DosLan", "C", SRCDIR$, SHDST$
  679.         ELSEIF LangType = 68 THEN
  680.             AddSectionKeyFileToCopyList "DosLan", "D", SRCDIR$, SHDST$
  681.         ELSEIF LangType = 69 THEN
  682.             AddSectionKeyFileToCopyList "DosLan", "E", SRCDIR$, SHDST$
  683.         ELSE
  684.             'Default to English
  685.             AddSectionKeyFileToCopyList "DosLan", "A", SRCDIR$, SHDST$
  686.         ENDIF
  687.     ENDIF
  688.  
  689.     IF CUSTOM4$ = "ON" THEN
  690.         AddSectionKeyFileToCopyList "MiscDos", "A", SRCDIR$, SHDST$
  691.         IF LangType = 66 THEN
  692.             AddSectionKeyFileToCopyList "MiscDos", "ZB", SRCDIR$, SHDST$
  693.         ELSEIF LangType = 67 THEN
  694.             AddSectionKeyFileToCopyList "MiscDos", "ZC", SRCDIR$, SHDST$
  695.         ELSEIF LangType = 68 THEN
  696.             AddSectionKeyFileToCopyList "MiscDos", "ZD", SRCDIR$, SHDST$
  697.         ELSEIF LangType = 69 THEN
  698.             AddSectionKeyFileToCopyList "MiscDos", "ZE", SRCDIR$, SHDST$
  699.         ELSE
  700.             'Default to English
  701.             AddSectionKeyFileToCopyList "MiscDos", "ZA", SRCDIR$, SHDST$
  702.         ENDIF
  703.     ENDIF
  704.  
  705.     IF CUSTOM5$ = "ON" THEN
  706.         IF LangType = 66 THEN
  707.             AddSectionKeyFileToCopyList "Common", "B", SRCDIR$, SHDST$ 
  708.             IF WINTYPE% = 4 THEN
  709.                 AddSectionKeyFileToCopyList "Common", "CB", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  710.                 AddSectionKeyFileToCopyList "Common", "CBCNT", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  711.             ENDIF
  712.         ELSEIF LangType = 67 THEN
  713.             AddSectionKeyFileToCopyList "Common", "C", SRCDIR$, SHDST$ 
  714.             IF WINTYPE% = 4 THEN
  715.                 AddSectionKeyFileToCopyList "Common", "CC", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  716.                 AddSectionKeyFileToCopyList "Common", "CCCNT", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  717.             ENDIF
  718.         ELSEIF LangType = 68 THEN
  719.             AddSectionKeyFileToCopyList "Common", "D", SRCDIR$, SHDST$ 
  720.             IF WINTYPE% = 4 THEN
  721.                 AddSectionKeyFileToCopyList "Common", "CD", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  722.                 AddSectionKeyFileToCopyList "Common", "CDCNT", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  723.             ENDIF
  724.         ELSEIF LangType = 69 THEN
  725.             AddSectionKeyFileToCopyList "Common", "E", SRCDIR$, SHDST$ 
  726.             IF WINTYPE% = 4 THEN
  727.                 AddSectionKeyFileToCopyList "Common", "CE", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  728.                 AddSectionKeyFileToCopyList "Common", "CECNT", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  729.             ENDIF
  730.         ELSE
  731.             'Default to English
  732.             AddSectionKeyFileToCopyList "Common", "A", SRCDIR$, SHDST$ 
  733.             IF WINTYPE% = 4 THEN
  734.                 AddSectionKeyFileToCopyList "Common", "CA", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  735.                 AddSectionKeyFileToCopyList "Common", "CACNT", SRCDIR$, MAKEPATH(WINDIR$, "HELP")
  736.             ENDIF
  737.         ENDIF
  738.     ENDIF
  739.  
  740.     IF WINTYPE% = 3 THEN
  741.         'Win16
  742.         IF LangType = 66 THEN
  743.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "German", cmoOverwrite
  744.             AddSectionKeyFileToCopyList "WinLan", "CB", SRCDIR$, WINSYSDIR$
  745.             AddSectionKeyFileToCopyList "WinLan", "MB", SRCDIR$, WINSYSDIR$
  746.             AddSectionKeyFileToCopyList "Common", "L", SRCDIR$, SHDST$
  747.             AddSectionKeyFileToCopyList "Write", "L", SRCDIR$, SHDST$
  748.         ELSEIF LangType = 67 THEN
  749.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "French", cmoOverwrite
  750.             AddSectionKeyFileToCopyList "WinLan", "CC", SRCDIR$, WINSYSDIR$
  751.             AddSectionKeyFileToCopyList "WinLan", "MC", SRCDIR$, WINSYSDIR$
  752.             AddSectionKeyFileToCopyList "Common", "M", SRCDIR$, SHDST$
  753.             AddSectionKeyFileToCopyList "Write", "M", SRCDIR$, SHDST$
  754.         ELSEIF LangType = 68 THEN
  755.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "Spanish", cmoOverwrite
  756.             AddSectionKeyFileToCopyList "WinLan", "CD", SRCDIR$, WINSYSDIR$
  757.             AddSectionKeyFileToCopyList "WinLan", "MD", SRCDIR$, WINSYSDIR$
  758.             AddSectionKeyFileToCopyList "Common", "N", SRCDIR$, SHDST$
  759.             AddSectionKeyFileToCopyList "Write", "N", SRCDIR$, SHDST$
  760.         ELSEIF LangType = 69 THEN
  761.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "Italian", cmoOverwrite
  762.             AddSectionKeyFileToCopyList "WinLan", "CE", SRCDIR$, WINSYSDIR$
  763.             AddSectionKeyFileToCopyList "WinLan", "ME", SRCDIR$, WINSYSDIR$
  764.             AddSectionKeyFileToCopyList "Common", "O", SRCDIR$, SHDST$
  765.             AddSectionKeyFileToCopyList "Write", "O", SRCDIR$, SHDST$
  766.         ELSE
  767.             'Default to English
  768.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "English", cmoOverwrite
  769.             AddSectionKeyFileToCopyList "WinLan", "CA", SRCDIR$, WINSYSDIR$
  770.             AddSectionKeyFileToCopyList "WinLan", "MA", SRCDIR$, WINSYSDIR$
  771.             AddSectionKeyFileToCopyList "Common", "K", SRCDIR$, SHDST$
  772.         ENDIF
  773.     ELSE
  774.         'WinNT/Win95/Daytona
  775.         IF LangType = 66 THEN
  776.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "German", cmoOverwrite
  777.             AddSectionKeyFileToCopyList "WinLan", "ML", SRCDIR$, WINSYSDIR$
  778.             AddSectionKeyFileToCopyList "Common", "L", SRCDIR$, SHDST$
  779.             AddSectionKeyFileToCopyList "Write", "L", SRCDIR$, SHDST$
  780.             if WINTYPE% = 4 then
  781.                 'Win95 COMLNG32 goes to WinDir
  782.                 AddSectionKeyFileToCopyList "WinLan", "CL", SRCDIR$, WINDIR$
  783.             else
  784.                 'WinNT/Daytona COMLNG32 goes to WinSysDir
  785.                 AddSectionKeyFileToCopyList "WinLan", "CL", SRCDIR$, WINSYSDIR$
  786.             endif
  787.         ELSEIF LangType = 67 THEN
  788.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "French", cmoOverwrite
  789.             AddSectionKeyFileToCopyList "WinLan", "MM", SRCDIR$, WINSYSDIR$
  790.             AddSectionKeyFileToCopyList "Common", "M", SRCDIR$, SHDST$
  791.             AddSectionKeyFileToCopyList "Write", "M", SRCDIR$, SHDST$
  792.             if WINTYPE% = 4 then
  793.                 'Win95 COMLNG32 goes to WinDir
  794.                 AddSectionKeyFileToCopyList "WinLan", "CM", SRCDIR$, WINDIR$
  795.             else
  796.                 'WinNT/Daytona COMLNG32 goes to WinSysDir
  797.                 AddSectionKeyFileToCopyList "WinLan", "CM", SRCDIR$, WINSYSDIR$
  798.             endif
  799.         ELSEIF LangType = 68 THEN
  800.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "Spanish", cmoOverwrite
  801.             AddSectionKeyFileToCopyList "WinLan", "MN", SRCDIR$, WINSYSDIR$
  802.             AddSectionKeyFileToCopyList "Common", "N", SRCDIR$, SHDST$
  803.             AddSectionKeyFileToCopyList "Write", "N", SRCDIR$, SHDST$
  804.             if WINTYPE% = 4 then
  805.                 'Win95 COMLNG32 goes to WinDir
  806.                 AddSectionKeyFileToCopyList "WinLan", "CN", SRCDIR$, WINDIR$
  807.             else
  808.                 'WinNT/Daytona COMLNG32 goes to WinSysDir
  809.                 AddSectionKeyFileToCopyList "WinLan", "CN", SRCDIR$, WINSYSDIR$
  810.             endif
  811.         ELSEIF LangType = 69 THEN
  812.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "Italian", cmoOverwrite
  813.             AddSectionKeyFileToCopyList "WinLan", "MO", SRCDIR$, WINSYSDIR$
  814.             AddSectionKeyFileToCopyList "Common", "O", SRCDIR$, SHDST$
  815.             AddSectionKeyFileToCopyList "Write", "O", SRCDIR$, SHDST$
  816.             if WINTYPE% = 4 then
  817.                 'Win95 COMLNG32 goes to WinDir
  818.                 AddSectionKeyFileToCopyList "WinLan", "CO", SRCDIR$, WINDIR$
  819.             else
  820.                 'WinNT/Daytona COMLNG32 goes to WinSysDir
  821.                 AddSectionKeyFileToCopyList "WinLan", "CO", SRCDIR$, WINSYSDIR$
  822.             endif
  823.         ELSE
  824.             'Default to English
  825.             CreateIniKeyValue szIni$, "Setup", "Mouse.Lng", "English", cmoOverwrite
  826.             AddSectionKeyFileToCopyList "WinLan", "MK", SRCDIR$, WINSYSDIR$
  827.             AddSectionKeyFileToCopyList "Common", "K", SRCDIR$, SHDST$
  828.             if WINTYPE% = 4 then
  829.                 'Win95 COMLNG32 goes to WinDir
  830.                 AddSectionKeyFileToCopyList "WinLan", "CK", SRCDIR$, WINDIR$
  831.             else
  832.                 'WinNT/Daytona COMLNG32 goes to WinSysDir
  833.                 AddSectionKeyFileToCopyList "WinLan", "CK", SRCDIR$, WINSYSDIR$
  834.             endif
  835.         ENDIF
  836.     ENDIF
  837.  
  838.  
  839.     IF WINTYPE% = 3 THEN
  840.         'Win16
  841.         CreateIniKeyValue szIni$, "Setup", "Mouse.Win16", SHDST$, cmoOverwrite
  842.         AddSectionFilesToCopyList "Sys16", SRCDIR$, WINSYSDIR$
  843.         AddSectionFilesToCopyList "Win16drv", SRCDIR$, SHMSE$
  844.         AddSectionKeyFileToCopyList "Win16", "A", SRCDIR$, SHMSE$
  845.         AddSectionKeyFileToCopyList "Win16", "B", SRCDIR$, SHMSE$
  846.         AddSectionKeyFileToCopyList "Win16", "CM", SRCDIR$, WINSYSDIR$
  847.  
  848.     ELSE
  849.         'WinNT/Win95/Daytona
  850.         IF WINTYPE% = 1 THEN
  851.             'WinNT/Daytona only
  852.             CreateIniKeyValue szIni$, "Setup", "Mouse.WinNT", SHDST$, cmoOverwrite
  853.             AddSectionFilesToCopyList "Sys32", SRCDIR$, WINSYSDIR$
  854.             AddSectionFilesToCopyList "WinNTdrv", SRCDIR$, MAKEPATH(WINSYSDIR$, "DRIVERS")
  855.             'POINT32.* (goes to %MSINPUT% on WinNT)
  856.             AddSectionKeyFileToCopyList "Win32", "A", SRCDIR$, SHMSE$
  857.             AddSectionKeyFileToCopyList "Win32", "B", SRCDIR$, SHMSE$
  858.             'CMTOOL32.DLL goes to WinSysDir on WinNT
  859.             AddSectionKeyFileToCopyList "Win32", "CM", SRCDIR$, WINSYSDIR$
  860.         ELSE
  861.             'Win95
  862.             AddSectionKeyFileToCopyList "Win32", "VMOUSE", SRCDIR$, WINSYSDIR$
  863.             CreateIniKeyValue szIni$, "Setup", "Mouse.Win95", SHDST$, cmoOverwrite
  864.             'POINT32.* (goes to product dir and then gets
  865.             'moved to %MSINPUT% by wininit.ini)
  866.             AddSectionKeyFileToCopyList "Win32", "A", SRCDIR$, SHDST$
  867.             AddSectionKeyFileToCopyList "Win32", "B", SRCDIR$, SHDST$
  868.             'CMTOOL32.DLL goes to WinSysDir on Win95
  869.             AddSectionKeyFileToCopyList "Win32", "CM", SRCDIR$, WINDIR$
  870.         ENDIF
  871.     ENDIF
  872.     
  873.     AddSectionKeyFileToCopyList "Common", "X", SRCDIR$, SHDST$
  874.     AddSectionKeyFileToCopyList "Common", "MCP", SRCDIR$, SHDST$
  875.     AddSectionKeyFileToCopyList "Common", "MOUSEX", SRCDIR$, WINDIR$
  876.     AddSectionKeyFileToCopyList "Files", "UNINSTAL", SRCDIR$, SHDST$
  877.     AddSectionKeyFileToCopyList "Files", "NTFILE", SRCDIR$, SHDST$
  878.  
  879. END SUB
  880. '*************************************************************************
  881.  
  882. '*************************************************************************
  883. '*************************************************************************
  884. SUB FillIniFile STATIC
  885.  
  886.     ini$ = MakePath(WINDIR$, "SYSTEM.INI")
  887.     CreateIniKeyValue ini$, "386Enh", "keyboard", MakePath(SHMSE$,"msinput.386"), cmoOverwrite
  888.     CreateIniKeyValue ini$, "386Enh", "mouse", "*vmd", cmoOverwrite
  889.     CreateIniKeyValue ini$, "boot", "mouse.drv", MakePath(SHMSE$,"MSINPUT.DRV"), cmoOverwrite
  890.     CreateIniKeyValue ini$, "boot.description", "mouse.drv", "Microsoft IntelliPoint version 10.1", cmoOverwrite
  891.  
  892.     ini$ = MakePath(SHMSE$,"MSINPUT.INI")
  893.     CreateIniKeyValue ini$, "Directories", "Mouse", SHDST$, cmoOverwrite
  894.     CreateIniKeyValue ini$, "Mouse", "ClickLock", "0", cmoNone
  895.     CreateIniKeyValue ini$, "Mouse", "RotationAngle", "0", cmoNone
  896.     IF SwapMouseButton(0) = 1 THEN
  897.         x% = SwapMouseButton(1)
  898.         x% = WriteProfileString("windows", "SwapMouseButtons", "no")
  899.         CreateIniKeyValue ini$, "Mouse", "PrimaryButton", "3", cmoNone
  900.         CreateIniKeyValue ini$, "Mouse", "SecondaryButton", "1", cmoNone
  901.     ELSE
  902.         CreateIniKeyValue ini$, "Mouse", "PrimaryButton", "1", cmoNone
  903.         CreateIniKeyValue ini$, "Mouse", "SecondaryButton", "3", cmoNone
  904.     ENDIF
  905.     CreateIniKeyValue ini$, "Mouse", "HorizontalSensitivity", "50", cmoNone
  906.     CreateIniKeyValue ini$, "Mouse", "VerticalSensitivity", "50", cmoNone
  907.     CreateIniKeyValue ini$, "Mouse", "ActiveAccelerationProfile", "2", cmoNone
  908.     CreateIniKeyValue ini$, "Mouse", "SplashScreen", "ON", cmoNone
  909.     CreateIniKeyValue ini$, "Mouse", "MouseType", "PS2", cmoNone
  910.     CreateIniKeyValue ini$, "Mouse", "Device", "Mouse", cmoNone
  911.     CreateIniKeyValue ini$, "Mouse", "PhysicalButtons", "2", cmoNone
  912.     CreateIniKeyValue ini$, "Mouse", "MouseIcon", "2", cmoNone
  913.     CreateIniKeyValue ini$, "WindowsPointer", "SnapTo", "OFF", cmoNone
  914.     CreateIniKeyValue ini$, "WindowsPointer", "SnapBack", "OFF", cmoNone
  915.     CreateIniKeyValue ini$, "WindowsPointer", "ScreenWrap", "OFF", cmoNone
  916.     CreateIniKeyValue ini$, "WindowsPointer", "PointerSize", "", cmoNone
  917.     CreateIniKeyValue ini$, "WindowsPointer", "PointerColor", "", cmoNone
  918.     CreateIniKeyValue ini$, "WindowsPointer", "Growth", "", cmoNone
  919.     CreateIniKeyValue ini$, "WindowsPointer", "Threshold", "", cmoNone
  920.     CreateIniKeyValue ini$, "WindowsPointer", "Delay", "", cmoNone
  921.     CreateIniKeyValue ini$, "WindowsPointer", "Sonar", "OFF", cmoNone
  922.     CreateIniKeyValue ini$, "WindowsPointer", "Locate", "OFF", cmoNone
  923.     CreateIniKeyValue ini$, "WindowsPointer", "SlowMotion", "OFF", cmoNone
  924.     CreateIniKeyValue ini$, "WindowsPointer", "ClickSaver", "OFF", cmoNone
  925.     CreateIniKeyValue ini$, "WindowsPointer", "PointerHide", "OFF", cmoNone
  926.     CreateIniKeyValue ini$, "WindowsPointer", "LineLock", "OFF", cmoNone
  927.     CreateIniKeyValue ini$, "WindowsPointer", "AppScroller", "OFF", cmoNone
  928.     CreateIniKeyValue ini$, "WindowsPointer", "Chord", "OFF", cmoNone
  929.     CreateIniKeyValue ini$, "WindowsPointer", "Secondary", "OFF", cmoNone
  930.     CreateIniKeyValue ini$, "ToolBar", "AlwaysOnTop", "ON", cmoNone
  931.     CreateIniKeyValue ini$, "ToolBar", "ReturnFocus", "ON", cmoNone
  932.     CreateIniKeyValue ini$, "ToolBar", "HideTitleBar", "OFF", cmoNone
  933.     CreateIniKeyValue ini$, "ToolBar", "MinimizeOnUse", "OFF", cmoNone
  934.     CreateIniKeyValue ini$, "ToolBar", "ToolTips", "ON", cmoNone
  935.     CreateIniKeyValue ini$, "ToolBar", "ToolbarPositionX", "140", cmoNone
  936.     CreateIniKeyValue ini$, "ToolBar", "ToolbarPositionY", "125", cmoNone
  937.     CreateIniKeyValue ini$, "ToolBar", "ToolbarRows", "1", cmoNone
  938.     CreateIniKeyValue ini$, "ToolBar", "ToolbarColumns", "6", cmoNone
  939.     CreateIniKeyValue ini$, "ToolBar", "MagnifyBtn", "ON", cmoNone
  940.     CreateIniKeyValue ini$, "ToolBar", "AppScrollBtn", "ON", cmoNone
  941.     CreateIniKeyValue ini$, "ToolBar", "LineLockBtn", "ON", cmoNone
  942.     CreateIniKeyValue ini$, "ToolBar", "AlternateButtonBtn", "OFF", cmoNone
  943.     CreateIniKeyValue ini$, "ToolBar", "Trails", "OFF", cmoNone
  944.     CreateIniKeyValue ini$, "ToolBar", "ClickLockBtn", "OFF", cmoNone
  945.     CreateIniKeyValue ini$, "ToolBar", "ControlPanelBtn", "ON", cmoNone
  946.     CreateIniKeyValue ini$, "ToolBar", "HelpBtn", "ON", cmoNone
  947.  
  948.     x% = SetSchemes (ini$)
  949.  
  950.     ini$ = ""
  951.  
  952. END SUB
  953. '*************************************************************************
  954.  
  955. '*************************************************************************
  956. '*************************************************************************
  957.  
  958. '**
  959. '** Purpose:
  960. '**      Sets drive status info according to latest disk space calcs.
  961. '** Arguments:
  962. '**      none.
  963. '** Returns:
  964. '**      none.
  965. '*************************************************************************
  966. SUB SetDriveStatus STATIC
  967.  
  968.     drive$ = MID$(SHMSE$, 1, 1)
  969.  
  970.     ReplaceListItem DRIVETEXT$, 1, SHMSE$
  971.     free& = COSTLIST& + POINTCOST& + TOOLCOST& + DOSDRV& + DOSPOINT& + ONHELP&
  972.     ReplaceListItem DRIVETEXT$, 2, STR$(free& / 1024) + " K"
  973.     free& = GetFreeSpaceForDrive(drive$)
  974.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  975.  
  976. END SUB
  977.  
  978.