Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!doctype html>
- <html lang="en">
- <head>
- <!--[if lt IE 9]>
- <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
- <![endif]-->
- <script language="VBScript">
- Window.ResizeTo 1200,700
- WinWidth = 1200
- WinHeight = 700
- Sub CenterWindow( widthX, heightY )
- Window.MoveTo (screen.Width - widthX)/2, (screen.Height - heightY)/3
- End Sub
- CenterWindow WinWidth, WinHeight
- </script>
- <title> PortableFL Launcher</title>
- <HTA:APPLICATION
- ApplicationName="PortableFL Launcher"
- Border="Thin"
- BorderStyle="Raised"
- Caption="Yes"
- ContextMenu="No"
- Icon="AppData/Launcher/FL.ico"
- ID="Launcher"
- MaximizeButton="No"
- MinimizeButton="No"
- ShowInTaskbar="Yes"
- SingleInstance="Yes"
- SysMenu="Yes"
- WindowState="Normal"
- InnerBorder="No"
- Navigable="Yes"
- Scroll="no"
- ScrollFlat="yes"
- Selection="No"
- Version="1.0"
- />
- <meta charset="utf-8">
- <meta name="description" content="PortableFL Launcher">
- <meta name="author" content="Zyos">
- <link rel="stylesheet" href="AppData/Launcher/styles.css?v=1.0">
- </head>
- <script language='VBScript'>
- Set objShell = CreateObject("WScript.Shell")
- Set fsObject = CreateObject("Scripting.FileSystemObject")
- '-- Set custom variables.
- OsType = objShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")
- ImportPathX64 = objShell.ExpandEnvironmentStrings("%PROGRAMFILES(X86)%")
- ImportPathX86 = objShell.ExpandEnvironmentStrings("%PROGRAMFILES%")
- GamePath = "Microsoft Games\Freelancer\EXE"
- AppPath = objShell.CurrentDirectory
- Function ReadIni( myFilePath, mySection, myKey )
- ' This function returns a value read from an INI file
- '
- ' Arguments:
- ' myFilePath [string] the (path and) file name of the INI file
- ' mySection [string] the section in the INI file to be searched
- ' myKey [string] the key whose value is to be returned
- '
- ' Returns:
- ' the [string] value for the specified key in the specified section
- '
- ' CAVEAT: Will return a space if key exists but value is blank
- '
- ' Written by Keith Lacelle
- ' Modified by Denis St-Pierre and Rob van der Woude
- Const ForReading = 1
- Const ForWriting = 2
- Const ForAppending = 8
- Dim intEqualPos
- Dim objFSO, objIniFile
- Dim strFilePath, strKey, strLeftString, strLine, strSection
- Set objFSO = CreateObject( "Scripting.FileSystemObject" )
- ReadIni = ""
- strFilePath = Trim( myFilePath )
- strSection = Trim( mySection )
- strKey = Trim( myKey )
- If objFSO.FileExists( strFilePath ) Then
- Set objIniFile = objFSO.OpenTextFile( strFilePath, ForReading, False )
- Do While objIniFile.AtEndOfStream = False
- strLine = Trim( objIniFile.ReadLine )
- ' Check if section is found in the current line
- If LCase( strLine ) = "[" & LCase( strSection ) & "]" Then
- strLine = Trim( objIniFile.ReadLine )
- ' Parse lines until the next section is reached
- Do While Left( strLine, 1 ) <> "["
- ' Find position of equal sign in the line
- intEqualPos = InStr( 1, strLine, "=", 1 )
- If intEqualPos > 0 Then
- strLeftString = Trim( Left( strLine, intEqualPos - 1 ) )
- ' Check if item is found in the current line
- If LCase( strLeftString ) = LCase( strKey ) Then
- ReadIni = Trim( Mid( strLine, intEqualPos + 1 ) )
- ' In case the item exists but value is blank
- If ReadIni = "" Then
- ReadIni = " "
- End If
- ' Abort loop when item is found
- Exit Do
- End If
- End If
- ' Abort if the end of the INI file is reached
- If objIniFile.AtEndOfStream Then Exit Do
- ' Continue with next line
- strLine = Trim( objIniFile.ReadLine )
- Loop
- Exit Do
- End If
- Loop
- objIniFile.Close
- Else
- End If
- End Function
- Sub WriteIni( myFilePath, mySection, myKey, myValue )
- ' This subroutine writes a value to an INI file
- '
- ' Arguments:
- ' myFilePath [string] the (path and) file name of the INI file
- ' mySection [string] the section in the INI file to be searched
- ' myKey [string] the key whose value is to be written
- ' myValue [string] the value to be written (myKey will be
- ' deleted if myValue is <DELETE_THIS_VALUE>)
- '
- ' Returns:
- ' N/A
- '
- ' CAVEAT: WriteIni function needs ReadIni function to run
- '
- ' Written by Keith Lacelle
- ' Modified by Denis St-Pierre, Johan Pol and Rob van der Woude
- Const ForReading = 1
- Const ForWriting = 2
- Const ForAppending = 8
- Dim blnInSection, blnKeyExists, blnSectionExists, blnWritten
- Dim intEqualPos
- Dim objFSO, objNewIni, objOrgIni, wshShell
- Dim strFilePath, strFolderPath, strKey, strLeftString
- Dim strLine, strSection, strTempDir, strTempFile, strValue
- strFilePath = Trim( myFilePath )
- strSection = Trim( mySection )
- strKey = Trim( myKey )
- strValue = Trim( myValue )
- Set objFSO = CreateObject( "Scripting.FileSystemObject" )
- Set wshShell = CreateObject( "WScript.Shell" )
- strTempDir = wshShell.ExpandEnvironmentStrings( "%TEMP%" )
- strTempFile = objFSO.BuildPath( strTempDir, objFSO.GetTempName )
- Set objOrgIni = objFSO.OpenTextFile( strFilePath, ForReading, True )
- Set objNewIni = objFSO.CreateTextFile( strTempFile, False, False )
- blnInSection = False
- blnSectionExists = False
- ' Check if the specified key already exists
- blnKeyExists = ( ReadIni( strFilePath, strSection, strKey ) <> "" )
- blnWritten = False
- ' Check if path to INI file exists, quit if not
- strFolderPath = Mid( strFilePath, 1, InStrRev( strFilePath, "\" ) )
- If Not objFSO.FolderExists ( strFolderPath ) Then
- Set objOrgIni = Nothing
- Set objNewIni = Nothing
- Set objFSO = Nothing
- End If
- While objOrgIni.AtEndOfStream = False
- strLine = Trim( objOrgIni.ReadLine )
- If blnWritten = False Then
- If LCase( strLine ) = "[" & LCase( strSection ) & "]" Then
- blnSectionExists = True
- blnInSection = True
- ElseIf InStr( strLine, "[" ) = 1 Then
- blnInSection = False
- End If
- End If
- If blnInSection Then
- If blnKeyExists Then
- intEqualPos = InStr( 1, strLine, "=", vbTextCompare )
- If intEqualPos > 0 Then
- strLeftString = Trim( Left( strLine, intEqualPos - 1 ) )
- If LCase( strLeftString ) = LCase( strKey ) Then
- ' Only write the key if the value isn't empty
- ' Modification by Johan Pol
- If strValue <> "<DELETE_THIS_VALUE>" Then
- objNewIni.WriteLine strKey & "=" & strValue
- End If
- blnWritten = True
- blnInSection = False
- End If
- End If
- If Not blnWritten Then
- objNewIni.WriteLine strLine
- End If
- Else
- objNewIni.WriteLine strLine
- ' Only write the key if the value isn't empty
- ' Modification by Johan Pol
- If strValue <> "<DELETE_THIS_VALUE>" Then
- objNewIni.WriteLine strKey & "=" & strValue
- End If
- blnWritten = True
- blnInSection = False
- End If
- Else
- objNewIni.WriteLine strLine
- End If
- Wend
- If blnSectionExists = False Then ' section doesn't exist
- objNewIni.WriteLine
- objNewIni.WriteLine "[" & strSection & "]"
- ' Only write the key if the value isn't empty
- ' Modification by Johan Pol
- If strValue <> "<DELETE_THIS_VALUE>" Then
- objNewIni.WriteLine strKey & "=" & strValue
- End If
- End If
- objOrgIni.Close
- objNewIni.Close
- ' Delete old INI file
- objFSO.DeleteFile strFilePath, True
- ' Rename new INI file
- objFSO.MoveFile strTempFile, strFilePath
- Set objOrgIni = Nothing
- Set objNewIni = Nothing
- Set objFSO = Nothing
- Set wshShell = Nothing
- End Sub
- WriteIni "config.ini", "bgAudio", "AutoPlay", "True"
- </script>
- <body bgcolor="#FAFAFA">
- <div class='launcher'>
- <div class='button'>
- <script language="VBScript">
- If fsObject.FileExists("" & AppPath & "\" & GamePath & "\Freelancer.exe") Then
- ' Show play button
- Document.Write("<input class='button' type='button' value='Play' name='run_button' onClick='Play'><p>")
- ElseIf fsObject.FolderExists("" & ImportPathX86 & "\" & GamePath & "") Then
- ' Show install button
- Document.Write("<input class='button' type='button' value='Install' name='run_button' onClick='Install'><p>")
- Else
- '-- Throw up a message to inform the user that Freelancer is not installed.
- Document.Write("<input class='button' type='button' value='Error' name='run_button' onClick=''><p>")
- End If
- </script>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment