Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private ImageView1 As ImageView
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.SetFormStyle("UNIFIED")
MainForm.RootPane.LoadLayout("1") 'Load the layout file.
MainForm.Show
ImageView1.SetImage(GetFileIcon("C:\Program Files (x86)\Anywhere Software\B4J", "B4J.exe"))
End Sub
Sub GetFileIcon(Dir As String, FileName As String) As Image
Dim jo As JavaObject
Dim JavaFile As JavaObject
JavaFile.InitializeNewInstance("java.io.File", Array(File.Combine(Dir, FileName)))
Dim icon As JavaObject = jo.InitializeStatic("sun.awt.shell.ShellFolder").RunMethodJO( _
"getShellFolder", Array(JavaFile)).RunMethod("getIcon", Array(True))
Return AwtImageToImage(icon)
End Sub
Private Sub AwtImageToImage(img As JavaObject) As Image
Dim jo As JavaObject
Return jo.InitializeStatic("javafx.embed.swing.SwingFXUtils").RunMethod("toFXImage", Array(img, Null))
End Sub