home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Cinemania 1994 (Preview Edition) / Microsoft-CinemaniaPreviewEdition94-Win31.iso / msstp / mmcat.inc < prev    next >
Text File  |  1993-08-25  |  5KB  |  160 lines

  1. '**************************************************************************
  2. '*                      Multimedia Catalog Setup
  3. '*            include file for Microsoft Multimedia Publishing
  4. '**************************************************************************
  5.  
  6. CONST MMCAT_CDTITLE$ = "Microsoft Cinemania '94"
  7. CONST MMCAT_PATH$    = "mmcat\"
  8. CONST MMCAT_NAME$    = "catalog.exe"
  9. CONST MMCAT_CURREV%  = 1
  10. CONST MMCAT_STUB$    = "catstub.exe"
  11. CONST MMCAT_INISEC$  = "Microsoft Multimedia Catalog"
  12.  
  13. CONST MMCAT_UPNOTIFYHD = 3820
  14. CONST MMCAT_COPYDLG    = 3821
  15. CONST MMCAT_NEWNOTIFY  = 3822
  16. CONST MMCAT_UPCOPY     = 3823
  17. CONST MMCAT_UPNOTIFYCD = 3824
  18. CONST MMCAT_COPYNOTIFY = 3825
  19.  
  20. CONST fYes = 1
  21. CONST fNo  = 0
  22.  
  23.  
  24. GLOBAL szMMCatSrcPath$
  25. GLOBAL szMMCatSrcDrv$
  26. GLOBAL fCatalogCopied%
  27.  
  28.  
  29. DECLARE SUB SetupMMCatalog
  30. DECLARE SUB MMCatCDInstall
  31. DECLARE SUB MMCatSetProgman
  32. DECLARE FUNCTION MMCatVideoOK() As Integer
  33.  
  34. DECLARE FUNCTION GetDeviceCaps LIB "GDI" (Hdc%, nCmd%) As Integer
  35. DECLARE FUNCTION GetDC LIB "user" (Hwnd%) As Integer
  36. DECLARE FUNCTION ReleaseDC LIB "user" (Hwnd%, Hdc%) As Integer
  37.  
  38. MMCATFOROPENERS:
  39.     'Make sure the startup for the main script is called INIT.
  40.     GoTo INIT
  41.  
  42.  
  43. Sub SetupMMCatalog STATIC
  44.     szMMCatSrcDir$  = GetSymbolValue("STF_SRCDIR")
  45.     szMMCatSrcDrv$  = Mid$(szMMCatSrcDir$,1,1)
  46.     szMMCatSrcPath$ = szMMCatSrcDir$ + MMCAT_PATH$
  47.     szMMCatTgtDir$  = GetSymbolValue("EditTextOut")
  48.     szMMCatTgtDrv$  = Mid$(szMMCatTgtDir$,1,1)
  49.  
  50.     fCatalogCopied% = fNo
  51.  
  52.     ' Verify that the CD has a catalog to copy.
  53.     If DoesFileExist( szMMCatSrcPath$ + MMCAT_NAME$, femExists ) <> 1 Then
  54.         Exit Sub
  55.     End If
  56.  
  57.     ' If the user's video mode is not supported, don't copy catalog.
  58.     If MMCatVideoOK() = fNo Then
  59.         Exit Sub
  60.     End If
  61.  
  62.     ' Check the version number on the CD catalog.
  63.     MMCatPrevRev% = Val( GetIniKeyString( GetWindowsDir() + "win.ini", MMCAT_INISEC$, "CatalogNum" ) )
  64.  
  65.     ' If the catalog on this CD is obsolete, don't install it unless stub gone.
  66.     If MMCatPrevRev% > MMCAT_CURREV% Then
  67.         If DoesFileExist( GetWindowsDir() + MMCAT_STUB$, femExists ) = 1 Then
  68.             Exit Sub
  69.         End If
  70.     End If
  71.  
  72.     AddSectionFilesToCopyList "MMCatStd", szMMCatSrcPath$, GetWindowsDir()
  73.     AddSectionFilesToCopyList "MMCatSys", szMMCatSrcPath$, GetWindowsSysDir()
  74.  
  75.     ' Bail out if not enough space.
  76.     If GetCopyListCost( "", "", "" ) <> 0 Then
  77.         ClearCopyList
  78.         Exit Sub
  79.     End If
  80.  
  81.     fDone% = fNo
  82.     While fDone% = fNo
  83.         If MMCatPrevRev% > 0 Then
  84.             sz$ = UIStartDlg("mscuistf.dll", MMCAT_UPNOTIFYCD, "FModelessDlgProc", 0, "")
  85.             sz$ = "UPDATE"
  86.         Else
  87.             sz$ = UIStartDlg("mscuistf.dll", MMCAT_NEWNOTIFY, "MMCatDlgProc", 0, "")
  88.         End If
  89.  
  90.         If sz$ = "UPDATE" Then
  91.             fDone% = fYes
  92.             MMCatCDInstall
  93.             UIPop 1
  94.         ElseIf sz$ = "CONTINUE" Or sz$ = "CANCEL" Then
  95.             fDone% = fYes
  96.             UIPop 1
  97.             sz$ = UIStartDlg("mscuistf.dll", MMCAT_COPYNOTIFY, "FModelessDlgProc", 0, "")
  98.             MMCatCDInstall
  99.             UIPop 1
  100.         End If
  101.     Wend
  102.  
  103. End Sub
  104.  
  105.  
  106. Sub MMCatCDInstall STATIC
  107.     iTmp% = SetSilentMode( 1 )
  108.     CopyFilesInCopyList
  109.     RemoveFile GetWindowsDir() + "picclip.vbx", cmoNone
  110.     RemoveFile GetWindowsDir() + "spush.vbx", cmoNone
  111.     iTmp% = SetSilentMode( iTmp% )
  112.  
  113.     CreateIniKeyValue GetWindowsDir() + "win.ini", MMCAT_INISEC$, "CatalogNum", Str$(MMCAT_CURREV%), cmoOverwrite
  114.     CreateIniKeyValue GetWindowsDir() + "win.ini", MMCAT_INISEC$, "Path", szMMCatSrcPath$, cmoOverwrite
  115.     CreateIniKeyValue GetWindowsDir() + "win.ini", MMCAT_INISEC$, "ParentCD", MMCAT_CDTITLE$, cmoOverwrite
  116.  
  117.     fCatalogCopied% = fYes
  118. End Sub
  119.  
  120.  
  121. Sub MMCatSetProgman STATIC
  122.     If fCatalogCopied% = fNo Then
  123.         Exit Sub
  124.     End If
  125.  
  126.     TARGRP$ = GetSymbolValue( "TARGETGROUP" )
  127.     If TARGRP$ = "" Then
  128.         TARGRP$ = "Microsoft Multimedia"
  129.     End If
  130.     CreateProgManGroup TARGRP$, "", cmoNone
  131.     ShowProgManGroup   TARGRP$, 1,  cmoNone
  132.  
  133.     szMMCatExe$ = GetWindowsDir() + MMCAT_STUB$
  134.  
  135.     CreateProgManItem TARGRP$, MMCAT_INISEC$, szMMCatExe$, szMMCatExe$, cmoOverwrite
  136. End Sub
  137.  
  138.  
  139. Function MMCatVideoOK STATIC As Integer
  140.    whNUMCOLORS  = 24
  141.     whRC_PALETTE = 256
  142.     whRASTERCAPS = 38
  143.     whBITSPIXEL  = 12
  144.  
  145.     hdc      = GetDC( 0 )
  146.     f8Bit    = (GetDeviceCaps( hdc, whNUMCOLORS ) > 16)
  147.     fPalette = (GetDeviceCaps( hdc, whRASTERCAPS ) And whRC_PALETTE)
  148.     fHiColor = (GetDeviceCaps( hdc, whBITSPIXEL ) >= 15)
  149.     hdc      = ReleaseDC( 0, hdc )
  150.  
  151.     If f8Bit And fPalette Then
  152.         MMCatVideoOK = fYes
  153.     ElseIf fHiColor Then
  154.         MMCatVideoOK = fYes
  155.     Else
  156.         MMCatVideoOK = fNo
  157.     End If
  158. End Function
  159. 
  160.