📄 msdetect.inc
字号:
'**************************************************************************
'************************* Setup Detect API's ***************************
'**************************************************************************
''detect
DECLARE FUNCTION CbGetVersionOfFile LIB "msdetstf.dll" (szFile$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION LGetVersionNthField LIB "msdetstf.dll" (szVersion$, nField%) AS LONG
DECLARE FUNCTION LcbGetSizeOfFile LIB "msdetstf.dll" (szFile$) AS LONG
DECLARE FUNCTION FGetValidDrivesList LIB "msdetstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION FGetLocalHardDrivesList LIB "msdetstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION FGetRemovableDrivesList LIB "msdetstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION FGetNetworkDrivesList LIB "msdetstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION LcbTotalDrive LIB "msdetstf.dll" (nDrive%) AS LONG
DECLARE FUNCTION LcbFreeDrive LIB "msdetstf.dll" (nDrive%) AS LONG
DECLARE FUNCTION FIsValidDrive LIB "msdetstf.dll" (nDrive%) AS INTEGER
DECLARE FUNCTION FIsLocalHardDrive LIB "msdetstf.dll" (nDrive%) AS INTEGER
DECLARE FUNCTION FIsRemoveDrive LIB "msdetstf.dll" (nDrive%) AS INTEGER
DECLARE FUNCTION FIsRemoteDrive LIB "msdetstf.dll" (nDrive%) AS INTEGER
DECLARE FUNCTION FDirExists LIB "msdetstf.dll" (szDir$) AS INTEGER
DECLARE FUNCTION FDoesFileExist LIB "msdetstf.dll" (szFileName$, mode%) AS INTEGER
DECLARE FUNCTION CbGetDateOfFile LIB "msdetstf.dll" (szFile$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION FDoesIniSectionExist LIB "msdetstf.dll" (szFile$, szSect$) AS INTEGER
DECLARE FUNCTION FDoesIniKeyExist LIB "msdetstf.dll" (szFile$, szSect$, szKey$) AS INTEGER
DECLARE FUNCTION CbGetIniKeyString LIB "msdetstf.dll" (szFile$, szSect$, szKey$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION WGetDOSMajorVersion LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION WGetDOSMinorVersion LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION CbGetEnvVariableValue LIB "msdetstf.dll" (szEnvVar$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION WGetNumWinApps LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION FGetParallelPortsList LIB "msdetstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION FGetSerialPortsList LIB "msdetstf.dll" (szSymbol$) AS INTEGER
DECLARE FUNCTION FHas87MathChip LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION FHasMonochromeDisplay LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION FHasMouseInstalled LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION WGetConfigSmartdrvSize LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION WGetConfigRamdriveSize LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION WGetConfigNumBuffers LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION WGetConfigNumFiles LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION WGetConfigLastDrive LIB "msdetstf.dll" AS INTEGER
DECLARE FUNCTION FIsDriverInConfig LIB "msdetstf.dll" (szDrv$) AS INTEGER
DECLARE FUNCTION CbFindTargetOnEnvVar LIB "msdetstf.dll" (szFile$, szEnvVar$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION CbFindFileInTree LIB "msdetstf.dll" (szFile$, szDir$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION GetTypeFaceNameFromTTF LIB "msdetstf.dll" (szFile$, szBuf$, cbBuf%) AS INTEGER
DECLARE FUNCTION GetExistingFOTFileForTTF LIB "msdetstf.dll" (szFile$, szBuf$, cbBuf%) AS INTEGER
'*************************************************************************
'**************** Detect Basic Wrapper Declarations ********************
'*************************************************************************
'' detect
DECLARE FUNCTION IsDriveValid (szDrive$) AS INTEGER
DECLARE FUNCTION IsDriveLocalHard (szDrive$) AS INTEGER
DECLARE FUNCTION IsDriveRemovable (szDrive$) AS INTEGER
DECLARE FUNCTION IsDriveNetwork (szDrive$) AS INTEGER
DECLARE SUB GetValidDrivesList (szSymbol$)
DECLARE SUB GetLocalHardDrivesList (szSymbol$)
DECLARE SUB GetRemovableDrivesList (szSymbol$)
DECLARE SUB GetNetworkDrivesList (szSymbol$)
DECLARE FUNCTION GetTotalSpaceForDrive (szDrive$) AS LONG
DECLARE FUNCTION GetFreeSpaceForDrive (szDrive$) AS LONG
DECLARE FUNCTION GetDOSMajorVersion AS INTEGER
DECLARE FUNCTION GetDOSMinorVersion AS INTEGER
DECLARE FUNCTION GetEnvVariableValue (szEnvVar$) AS STRING
DECLARE FUNCTION GetNumWinApps AS INTEGER
DECLARE FUNCTION DoesFileExist (szFile$, mode%) AS INTEGER
DECLARE FUNCTION GetDateOfFile (szFile$) AS STRING
DECLARE FUNCTION GetYearFromDate (szDate$) AS INTEGER
DECLARE FUNCTION GetMonthFromDate (szDate$) AS INTEGER
DECLARE FUNCTION GetDayFromDate (szDate$) AS INTEGER
DECLARE FUNCTION GetHourFromDate (szDate$) AS INTEGER
DECLARE FUNCTION GetMinuteFromDate (szDate$) AS INTEGER
DECLARE FUNCTION GetSecondFromDate (szDate$) AS INTEGER
DECLARE FUNCTION GetVersionOfFile (szFile$) AS STRING
DECLARE FUNCTION GetVersionNthField (szVersion$, nField%) AS LONG
DECLARE FUNCTION GetSizeOfFile (szFile$) AS LONG
DECLARE FUNCTION FindTargetOnEnvVar (szFile$, szEnvVar$) AS STRING
DECLARE FUNCTION FindFileInTree (szFile$, szDir$) AS STRING
DECLARE FUNCTION DoesDirExist (szDir$) AS INTEGER
DECLARE FUNCTION DoesIniSectionExist (szFile$, szSect$) AS INTEGER
DECLARE FUNCTION DoesIniKeyExist (szFile$, szSect$, szKey$) AS INTEGER
DECLARE FUNCTION GetIniKeyString (szFile$, szSect$, szKey$) AS STRING
DECLARE FUNCTION GetConfigSmartdrvSize AS INTEGER
DECLARE FUNCTION GetConfigRamdriveSize AS INTEGER
DECLARE FUNCTION GetConfigNumBuffers AS INTEGER
DECLARE FUNCTION GetConfigNumFiles AS INTEGER
DECLARE FUNCTION GetConfigLastDrive AS STRING
DECLARE FUNCTION IsDriverInConfig (szDrv$) AS INTEGER
DECLARE FUNCTION GetProcessorType AS INTEGER
DECLARE SUB GetParallelPortsList (szSymbol$)
DECLARE SUB GetSerialPortsList (szSymbol$)
DECLARE FUNCTION Has87MathChip AS INTEGER
DECLARE FUNCTION HasMonochromeDisplay AS INTEGER
DECLARE FUNCTION HasMouseInstalled AS INTEGER
'*************************************************************************
FUNCTION IsDriveValid (szDrive$) STATIC AS INTEGER
'$ifdef DEBUG
if FValidDrive(szDrive$) = 0 then
BadArgErr 1, "IsDriveValid", szDrive$
end if
'$endif ''DEBUG
IsDriveValid = FIsValidDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'*************************************************************************
FUNCTION IsDriveLocalHard (szDrive$) STATIC AS INTEGER
'$ifdef DEBUG
if FValidDrive(szDrive$) = 0 then
BadArgErr 1, "IsDriveLocalHard", szDrive$
end if
'$endif ''DEBUG
IsDriveLocalHard = FIsLocalHardDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'*************************************************************************
FUNCTION IsDriveRemovable (szDrive$) STATIC AS INTEGER
'$ifdef DEBUG
if FValidDrive(szDrive$) = 0 then
BadArgErr 1, "IsDriveRemovable", szDrive$
end if
'$endif ''DEBUG
IsDriveRemovable = FIsRemoveDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'*************************************************************************
FUNCTION IsDriveNetwork (szDrive$) STATIC AS INTEGER
'$ifdef DEBUG
if FValidDrive(szDrive$) = 0 then
BadArgErr 1, "IsDriveNetwork", szDrive$
end if
'$endif ''DEBUG
IsDriveNetwork = FIsRemoteDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'*************************************************************************
FUNCTION GetTotalSpaceForDrive (szDrive$) STATIC AS LONG
'$ifdef DEBUG
if FValidDrive(szDrive$) = 0 then
BadArgErr 1, "GetTotalSpaceForDrive", szDrive$
end if
'$endif ''DEBUG
GetTotalSpaceForDrive = LcbTotalDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'*************************************************************************
FUNCTION GetFreeSpaceForDrive (szDrive$) STATIC AS LONG
'$ifdef DEBUG
if FValidDrive(szDrive$) = 0 then
BadArgErr 1, "GetFreeSpaceForDrive", szDrive$
end if
'$endif ''DEBUG
GetFreeSpaceForDrive = LcbFreeDrive(ASC(UCASE$(szDrive$)) - ASC("A") + 1)
END FUNCTION
'*************************************************************************
SUB GetValidDrivesList (szSymbol$) STATIC
'$ifdef DEBUG
if szSymbol$ = "" then
BadArgErr 1, "GetValidDrivesList", szSymbol$
end if
'$endif ''DEBUG
if FGetValidDrivesList(szSymbol$) = 0 then
'$ifdef DEBUG
StfApiErr saeFail, "GetValidDrivesList", szSymbol$
'$endif ''DEBUG
ERROR STFERR
end if
END SUB
'*************************************************************************
SUB GetLocalHardDrivesList (szSymbol$) STATIC
'$ifdef DEBUG
if szSymbol$ = "" then
BadArgErr 1, "GetLocalHardDrivesList", szSymbol$
end if
'$endif ''DEBUG
if FGetLocalHardDrivesList(szSymbol$) = 0 then
'$ifdef DEBUG
StfApiErr saeFail, "GetLocalHardDrivesList", szSymbol$
'$endif ''DEBUG
ERROR STFERR
end if
END SUB
'*************************************************************************
SUB GetRemovableDrivesList (szSymbol$) STATIC
'$ifdef DEBUG
if szSymbol$ = "" then
BadArgErr 1, "GetRemovableDrivesList", szSymbol$
end if
'$endif ''DEBUG
if FGetRemovableDrivesList(szSymbol$) = 0 then
'$ifdef DEBUG
StfApiErr saeFail, "GetRemovableDrivesList", szSymbol$
'$endif ''DEBUG
ERROR STFERR
end if
END SUB
'*************************************************************************
SUB GetNetworkDrivesList (szSymbol$) STATIC
'$ifdef DEBUG
if szSymbol$ = "" then
BadArgErr 1, "GetNetworkDrivesList", szSymbol$
end if
'$endif ''DEBUG
if FGetNetworkDrivesList(szSymbol$) = 0 then
'$ifdef DEBUG
StfApiErr saeFail, "GetNetworkDrivesList", szSymbol$
'$endif ''DEBUG
ERROR STFERR
end if
END SUB
'*************************************************************************
FUNCTION GetDOSMajorVersion STATIC AS INTEGER
GetDOSMajorVersion = WGetDOSMajorVersion
END FUNCTION
'*************************************************************************
FUNCTION GetDOSMinorVersion STATIC AS INTEGER
GetDOSMinorVersion = WGetDOSMinorVersion
END FUNCTION
'*************************************************************************
FUNCTION GetEnvVariableValue (szEnvVar$) STATIC AS STRING
'$ifdef DEBUG
if szEnvVar$ = "" then
BadArgErr 1, "GetEnvVariableValue", szEnvVar$
end if
'$endif ''DEBUG
cb% = 1024
szBuf$ = STRING$(cb%, 32)
cbRet% = CbGetEnvVariableValue(szEnvVar$, szBuf$, cb%)
GetEnvVariableValue = szBuf$
'$ifdef DEBUG
IF cbRet% >= cb% THEN
StfApiErr saeOvfl, "GetEnvVariableValue", szEnvVar$
ERROR STFERR
END IF
'$endif ''DEBUG
szBuf$ = ""
END FUNCTION
'*************************************************************************
FUNCTION GetNumWinApps STATIC AS INTEGER
GetNumWinApps = WGetNumWinApps
END FUNCTION
'*************************************************************************
FUNCTION DoesFileExist (szFileName$, mode%) STATIC AS INTEGER
'$ifdef DEBUG
if FValidFATPath(szFileName$) = 0 then
BadArgErr 1, "DoesFileExist", szFileName$+", "+STR$(mode%)
end if
'$endif ''DEBUG
DoesFileExist = FDoesFileExist(szFileName$, mode%)
END FUNCTION
'*************************************************************************
FUNCTION GetDateOfFile (szFile$) STATIC AS STRING
'$ifdef DEBUG
if FValidFATPath(szFile$) = 0 then
BadArgErr 1, "GetDateOfFile", szFile$
end if
'$endif ''DEBUG
cb% = 20
szBuf$ = STRING$(cb%, 32)
cbRet% = CbGetDateOfFile(szFile$, szBuf$, cb%)
GetDateOfFile = szBuf$
'$ifdef DEBUG
IF cbRet% >= cb% THEN
StfApiErr saeOvfl, "GetDateOfFile", szFile$
ERROR STFERR
END IF
'$endif ''DEBUG
szBuf$ = ""
END FUNCTION
'*************************************************************************
FUNCTION GetYearFromDate (szDate$) STATIC AS INTEGER
'$ifdef DEBUG
if szDate = "" then
BadArgErr 1, "GetYearFromDate", szDate$
end if
'$endif ''DEBUG
GetYearFromDate = VAL(MID$(szDate$, 1, 4))
END FUNCTION
'*************************************************************************
FUNCTION GetMonthFromDate (szDate$) STATIC AS INTEGER
'$ifdef DEBUG
if szDate = "" then
BadArgErr 1, "GetMonthFromDate", szDate$
end if
'$endif ''DEBUG
GetMonthFromDate = VAL(MID$(szDate$, 6, 2))
END FUNCTION
'*************************************************************************
FUNCTION GetDayFromDate (szDate$) STATIC AS INTEGER
'$ifdef DEBUG
if szDate = "" then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -