Mini Kabibi Habibi
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Windows.Forms
Namespace DevExpress.WinRTLiveTileManager.Demos
Friend NotInheritable Class Program
Private Shared moduleName As String
Private Shared cmdArgs() As String
Private Shared mainForm As New frmMain()
Private Sub New()
End Sub
<STAThread> _
Shared Sub Main()
If CheckAlreadyRun() Then
Return
End If
cmdArgs = Environment.GetCommandLineArgs()
DevExpress.UserSkins.BonusSkins.Register()
DevExpress.XtraBars.WinRTLiveTiles.WinRTLiveTileManager.InitializeNavigation()
AddHandler DevExpress.XtraBars.WinRTLiveTiles.WinRTLiveTileManager.OnNavigated, AddressOf WinRTLiveTileManager_OnNavigated
ModuleCreator.CreateModules()
SendModuleName()
Application.Run(mainForm)
End Sub
Private Shared Function CheckAlreadyRun() As Boolean
Dim processes() As Process = Process.GetProcessesByName("WinRTLiveTileManagerMainDemo")
Return If(processes.Length > 1, True, False)
End Function
Private Shared Sub SendModuleName()
If cmdArgs.Length =2 AndAlso (Not String.IsNullOrEmpty(cmdArgs(1))) Then
frmMain.startupModuleName = GetModuleName(cmdArgs(1))
End If
End Sub
Private Shared Sub WinRTLiveTileManager_OnNavigated(ByVal obj As String)
moduleName = GetModuleName(obj)
mainForm.BeginInvoke(New MethodInvoker(Function() AnonymousMethod1()))
mainForm.BeginInvoke(New MethodInvoker(Function() AnonymousMethod2()))
End Sub
Private Shared Function AnonymousMethod1() As Boolean
mainForm.ResetNavbarSelectedLink()
Return True
End Function
Private Shared Function AnonymousMethod2() As Boolean
mainForm.ShowModule(moduleName)
Return True
End Function
Private Shared Function GetModuleName(ByVal input As String) As String
Select Case input
Case "5108ce18-b841-4521-bf9f-59979b1ef0c2"
Return "KPI"
Case "dcef255d-5648-41ec-8b14-55449add314e"
Return "Outlook Style"
Case Else
Return "About Live Tiles"
End Select
End Function
End Class
End Namespace