VERSION 2.00 Begin Form FAB BorderStyle = 3 'Fixed Double Caption = "About INIBAK" ClientHeight = 3825 ClientLeft = 1575 ClientTop = 720 ClientWidth = 6240 FillColor = &H00FFFFFF& Height = 4350 Left = 1515 LinkTopic = "Form2" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 3825 ScaleWidth = 6240 Top = 255 Width = 6360 Begin PictureBox IconPicture AutoSize = -1 'True BorderStyle = 0 'None Height = 480 Left = 240 ScaleHeight = 480 ScaleWidth = 480 TabIndex = 1 Top = 240 Width = 480 End Begin CommandButton CommandOK Cancel = -1 'True Caption = "OK" Default = -1 'True Height = 315 Left = 5400 TabIndex = 0 Top = 120 Width = 735 End Begin Label OptLabel BorderStyle = 1 'Fixed Single Height = 30 Index = 5 Left = 960 TabIndex = 18 Top = 2160 Width = 4335 End Begin Label OptLabel BorderStyle = 1 'Fixed Single Height = 30 Index = 2 Left = 960 TabIndex = 17 Top = 1440 Width = 4335 End Begin Label OptLabel Caption = "FSRs" Height = 255 Index = 14 Left = 3120 TabIndex = 16 Top = 3480 Width = 2295 End Begin Label OptLabel Caption = "System Resources:" Height = 255 Index = 13 Left = 960 TabIndex = 15 Top = 3480 Width = 2055 End Begin Label OptLabel Caption = "Dos Version" Height = 255 Index = 7 Left = 960 TabIndex = 14 Top = 2520 Width = 2295 End Begin Label OptLabel Caption = "Win Version" Height = 255 Index = 6 Left = 960 TabIndex = 13 Top = 2280 Width = 2175 End Begin Label OptLabel Caption = "Math Coproc" Height = 255 Index = 12 Left = 3120 TabIndex = 12 Top = 3240 Width = 2175 End Begin Label OptLabel Caption = "Math Co-processor:" Height = 255 Index = 11 Left = 960 TabIndex = 11 Top = 3240 Width = 2055 End Begin Label OptLabel Caption = "Memory" Height = 255 Index = 10 Left = 3120 TabIndex = 10 Top = 3000 Width = 2175 End Begin Label OptLabel Caption = "Memory:" Height = 255 Index = 9 Left = 960 TabIndex = 9 Top = 3000 Width = 2055 End Begin Label OptLabel Caption = "Win Mode" Height = 255 Index = 8 Left = 960 TabIndex = 8 Top = 2760 Width = 4335 End Begin Label NameLabel Caption = "Name Label" Height = 255 Left = 960 TabIndex = 2 Top = 120 Width = 4275 End Begin Label OptLabel Caption = "Company Name" Height = 255 Index = 4 Left = 960 TabIndex = 7 Top = 1800 Width = 4275 End Begin Label OptLabel Caption = "User Name" Height = 255 Index = 3 Left = 960 TabIndex = 6 Top = 1560 Width = 4275 End Begin Label OptLabel Caption = "Extra 2" Height = 255 Index = 1 Left = 960 TabIndex = 5 Top = 1140 Width = 4275 End Begin Label OptLabel Caption = "Extra 1" Height = 255 Index = 0 Left = 960 TabIndex = 4 Top = 840 Width = 4275 End Begin Label CoprLabel Caption = "Copyright Label" Height = 255 Left = 960 TabIndex = 3 Top = 540 Width = 4275 End Begin Shape Shape1 BackColor = &H80000008& FillColor = &H00FFFFFF& FillStyle = 0 'Solid Height = 735 Left = 120 Top = 120 Width = 735 End End Option Explicit ' To use the generic About Box defined in this file, your MAK file must ' also include the module ABOUTBOX.BAS. Just call the function ' DisplayAboutBox, passing parameters specific to your program. DO NOT ' load the form FAB prior to calling DisplayAboutBox! Sub CommandOK_Click () Unload FAB End Sub Function FixAmpersand$ (ByVal Buffer$) Dim N% N = 1 Do Until N = 0 N = InStr(N, Buffer, "&") If N > 0 Then Buffer = Left$(Buffer, N) + Mid$(Buffer, N) N = N + 2 End If Loop FixAmpersand = Buffer End Function Sub Form_Load () Dim Version&, WinVer ' The 4 bytes of the Long returned by GetVersion encode the Windows ' and DOS version number in this order, from low byte to high byte: ' Windows major version number, Windows minor version number, ' DOS minor version number, DOS major version number. Version = GetVersion() WinVer = ((Version And &HFF) * 100) + ((Version \ &H100) And &HFF) ' The functions used to get the user name, company name, and FSR ' percentage aren't available in Windows versions before 3.1. If ' this is an earlier version, add those items to the exclude list. If WinVer < 310 Then Excl = Excl Or AB_NO_USER Or AB_NO_COMPANY Or AB_NO_FSR End If ' If both user and company are excluded, eliminate the separator If Excl And (AB_NO_USER Or AB_NO_COMPANY) Then EliminateLabel 2 Else ' Get access to USER's strings by getting a handle to USER Dim hInstUser% hInstUser = LoadLibrary("USER") FreeLibrary hInstUser End If Dim Buffer$, Success%, N% ' Get the User name, if wanted If Excl And AB_NO_USER Then EliminateLabel 3 Else Buffer = String$(31, 0) If LoadString(hInstUser, 514, Buffer, 30) Then OptLabel(3).Caption = FixAmpersand(Buffer) End If End If ' Get the Company name, if wanted If Excl And AB_NO_COMPANY Then EliminateLabel 4 Else Buffer = String$(31, 0) If LoadString(hInstUser, 515, Buffer, 30) Then OptLabel(4).Caption = FixAmpersand(Buffer) End If End If Dim V$ ' Show Windows version, if wanted If Excl And AB_NO_WINVER Then EliminateLabel 6 Else V = "Windows " + Format$(Version And &HFF) V = V + "." + Format$((Version \ &H100) And &HFF, "00") OptLabel(6).Caption = V End If ' Show DOS version, if wanted If Excl And AB_NO_DOSVER Then EliminateLabel 7 Else V = "DOS " + Format$((Version \ &H1000000) And &HFF) V = V + "." + Format$((Version \ &H10000) And &HFF, "00") OptLabel(7).Caption = V End If Dim WinFlags& WinFlags = GetWinFlags() ' Show Windows mode, if wanted If Excl And AB_NO_WINMODE Then EliminateLabel 8 Else If WinFlags And WF_ENHANCED Then OptLabel(8) = "386 Enhanced Mode" ElseIf WinFlags And WF_PMODE Then OptLabel(8) = "Standard Mode" Else OptLabel(8) = "Real Mode" End If End If ' Show Memory, if wanted If Excl And AB_NO_MEMORY Then EliminateLabel 9 OptLabel(10).Visible = False Else Dim FreeSpace& FreeSpace = GetFreeSpace(0) OptLabel(10).Caption = Format$(FreeSpace \ 1024, "#,###,##0") + " KB Free" End If ' Show 80x87 presence, if wanted If Excl And AB_NO_80x87 Then EliminateLabel 11 OptLabel(12).Visible = False Else If WinFlags And WF_80x87 Then OptLabel(12) = "Present" Else OptLabel(12) = "Absent" End If End If ' Show FSRs, if wanted If Excl And AB_NO_FSR Then EliminateLabel 13 OptLabel(14).Visible = False Else OptLabel(14) = Format$(GetFreeSystemResources(GFSR_SYSTEMRESOURCES)) + "% Free" End If End Sub