Jump to content

Return Default Application Udf


cppman
 Share

Recommended Posts

Here is a really pretty simple UDF i wrote.

It returns the default aplication for a file extension.

The Return Value is the Full Path to the File.

Filename: 'extension.au3'

;==================================
; Function Name:    _ReturnDefaultApp($extension)
; Description:    Returns the location to the default application that is used for the specified extension.
; Parameter(s):  $extension - Extension that you would like to use: Must contain the period. (e.g.:   '.txt').
; Requirement(s):   AutoIt3 Beta.
; Return Value(s):  On Success - Returns full location to the executable.
;                  On Failure - 0
; Author(s):        chris95219
;==================================
Func _ReturnDefaultApp($extension)
    $RegLocation = RegRead("HKEY_CLASSES_ROOT\" & $extension, "")
    $RegLoc = RegRead("HKEY_CLASSES_ROOT\" & $RegLocation & "\Shell\Open\command", "")
    $LocationA = _RemoveFromString($RegLoc, "%")
    $LocationB = _RemoveFromString($LocationA, Chr(34))
    $LocationC = _RemoveFromString($LocationB, ",")
    $FullLocation = _Convert($LocationC)
    if $FullLocation = "" Then
        Return 0
    EndIf
    
    Return $FullLocation
EndFunc

Func _RemoveFromString($String, $Char)
    $Array = StringSplit($String, "")
    Local $ComString
    For $i = 1 to $Array[0]
        If $Array[$i] == $Char Then
            $Array[$i] = ""
        EndIf
        $ComString &= $Array[$i]
    Next
    Return $ComString
EndFunc

Func _Convert($string)
local $ComString
        $ComString = StringReplace($string, "SystemRoot", @WindowsDir, 1)
        $ComString = StringReplace($ComString, "rundll32.exe ", "")
        $ComString = StringReplace($ComString, "ImageView_FullScreen", "")
        $ComString = StringReplace($ComString, " 1", "")
        $ComString = StringReplace($ComString, " /prefetch:6 /Open L", "")
        $ComString = StringReplace($ComString, " -url", "")
        Return $ComString
    Return 
EndFunc

usage

#include "extension.au3"
$ext = InputBox("Extension", "What is the Extension?")
MsgBox(0, "Extension Information:", "The default application for that extension is: " & @CRLF & _ReturnDefaultApp($ext))

This can be used if your not sure what the default application for a file is and need to run a file.

here is another example:

#include "extension.au3"
Run(_ReturnDefaultApp(".html") & " http://www.google.com")

This should open www.google.com in your DEFAULT browser.

Edited by CHRIS95219
Link to comment
Share on other sites

the browser function looks good. Well done

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...