File "exe2unix.bas"

Path: /exe2unix/exe2unix.bas
File size: 1.48 KB
MIME-type:
Charset: utf-8


#COMPILE EXE "exe2unix.exe"
#DIM ALL
#REGISTER NONE

#RESOURCE "exe2unix.pbr"

MACRO MyMsgBox(hd,m,t,st) = MessageBox(hd,m,t,st)

#INCLUDE ONCE "Win32Api.inc"
#INCLUDE ONCE "inc/exe2unix.inc"

'--------------------------------------------------------------------------------
FUNCTION PBMAIN
  LOCAL src AS STRING
  LOCAL lRes AS LONG

  ' Create exe icon in Unix dock and Unix file explorer
  Me2Unix 0, 1 ' askConfirmation=%FALSE, showInAppMenu=%TRUE

  ' Are we under Linux?
  IF NOT IsOnUnix() THEN
    ?"This program must be run under Unix.", _
    %MB_ICONWARNING, EXE.NAME$
    EXIT FUNCTION
  END IF

  ' Select executable to add to Linux Apps (if not provided as argument)
  IF RIGHT$(LCASE$(TRIM$(COMMAND$,$DQ)), 4) = ".exe" THEN
    src = COMMAND$
  ELSE
    DISPLAY OPENFILE 0, , , "Select file...", "", _
        CHR$("Executable (*.exe)", 0, "*.exe", 0), _
        "", "", %OFN_FILEMUSTEXIST OR %OFN_SHOWHELP OR _
        %OFN_NONETWORKBUTTON OR %OFN_ENABLESIZING TO src
    IF src = "" THEN EXIT FUNCTION ' canceled by user
  END IF

  ' Ask user confirmation
  IF Exe2UnixConfirm(src) = %IDNO THEN EXIT FUNCTION

  ' Register!
  lRes = Exe2Unix(src, %SW_SHOW) ' %SW_SHOW = interactive mode, ask user confirmation
  IF lRes > 0 THEN
    ?PATHNAME$(NAME, src) + " successfully registered as a Linux App!" _
    ,%MB_ICONINFORMATION, EXE.NAME$
  END IF

END FUNCTION
'--------------------------------------------------------------------------------