Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Battery Assistant - Form1.vb

Form1.vb

Caricato da: Progman-92
Scarica il programma completo

  1. Imports AgentObjects
  2. Imports AxAgentObjects
  3. Imports Microsoft.Win32
  4. Imports System.management
  5. Public Class Form1
  6.     Private objBatteria As ManagementObjectSearcher
  7.     Private objMgmt As ManagementObject
  8.     Dim Character As AgentObjects.IAgentCtlCharacter
  9.     Dim StatoBatteriaNumeri As String
  10.     Dim StatoBatteriaNumeriPrec As String
  11.     Dim PercentualeCarica As String
  12.     Dim PercentualeCaricaPrec As String
  13.     Dim StatoBatteriaParole As String
  14.     Dim NomeUtente As String = My.User.CurrentPrincipal.Identity.Name.ToString
  15.  
  16.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  17.  
  18.         Dim Schermo As System.Drawing.Rectangle
  19.         Dim sChar As String = "C:\WINDOWS\msagent\chars\merlin.acs"
  20.         Try
  21.  
  22.             AgtAgent.Characters.Load("CharacterID", sChar)
  23.             Character = AgtAgent.Characters("CharacterID")
  24.             Character.LanguageID = &H410
  25.             Character.Show()
  26.         Catch ex As Exception
  27.             MessageBox.Show("Descrizione errore: " & ex.Message, "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error)
  28.         End Try
  29.         Character.MoveTo(Schermo.Width + 0, Schermo.Height + 640)
  30.         Character.MoveTo(Schermo.Width + 1100, Schermo.Height + 640)
  31.         Character.Speak("Ciao " & NomeUtente & " sono Merlino, sono stato creato da Progman-92!!!!")
  32.         Character.Speak("Sono ancora una Beta, non sono ancora sviluppato completamente!!!!")
  33.         Character.Speak("Sono il tuo assistente virtuale, riguardo il reparto energetico del tuo PC Notebook!!!!")
  34.         Character.Speak("Ti informerò sullo stato della Batteria e se è in carica o meno!!!!")
  35.         Timer1.Start()
  36.        End Sub
  37.  
  38.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  39.  
  40.  
  41.         objBatteria = New ManagementObjectSearcher("SELECT * FROM Win32_Battery")
  42.         Try
  43.             For Each objMgmt In objBatteria.Get
  44.                 PercentualeCaricaPrec = objMgmt("EstimatedChargeRemaining").ToString
  45.                 StatoBatteriaNumeri = objMgmt("BatteryStatus").ToString
  46.                 If StatoBatteriaNumeri <> StatoBatteriaNumeriPrec Then
  47.                     If StatoBatteriaNumeri = "1" Then
  48.                         StatoBatteriaParole = "'Non collegata alla rete elettrica'"
  49.                     End If
  50.                     If StatoBatteriaNumeri = "2" Then
  51.                         StatoBatteriaParole = "'Collegata alla rete elettrica'"
  52.                     End If
  53.                     If StatoBatteriaNumeri = "3" Then
  54.                         StatoBatteriaParole = "'Livello massimo di carica'"
  55.                     End If
  56.                     If StatoBatteriaNumeri = "4" Then
  57.                         StatoBatteriaParole = "'Livello basso di carica'"
  58.                     End If
  59.                     If StatoBatteriaNumeri = "5" Then
  60.                         StatoBatteriaParole = "'Livello critico di carica'"
  61.                     End If
  62.                     If StatoBatteriaNumeri = "6" Then
  63.                         StatoBatteriaParole = "'In Caricamento'"
  64.                     End If
  65.                     If StatoBatteriaNumeri = "7" Then
  66.                         StatoBatteriaParole = "'In caricamento, livello alto di carica'"
  67.                     End If
  68.                     If StatoBatteriaNumeri = "8" Then
  69.                         StatoBatteriaParole = "'In caricamento, livello basso di carica'"
  70.                     End If
  71.                     If StatoBatteriaNumeri = "9" Then
  72.                         StatoBatteriaParole = "'In caricamento, livello critico di carica'"
  73.                     End If
  74.                     If StatoBatteriaNumeri = "10" Then
  75.                         StatoBatteriaParole = "'Stato non definito'"
  76.                     End If
  77.                     If StatoBatteriaNumeri = "11" Then
  78.                         StatoBatteriaParole = "'Livello parziale di carica'"
  79.                     End If
  80.                     Character.Speak("Lo stato della Batteria è " & StatoBatteriaParole & "!!!!")
  81.                 End If
  82.             Next
  83.         Catch ex As Exception
  84.             MessageBox.Show(ex.ToString, "Errore eccezione non gestita", MessageBoxButtons.OK, MessageBoxIcon.Error)
  85.         End Try
  86.         Timer2.Start()
  87.     End Sub
  88.  
  89.     Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
  90.         Timer1.Stop()
  91.         objBatteria = New ManagementObjectSearcher("SELECT * FROM Win32_Battery")
  92.         Try
  93.             For Each objMgmt In objBatteria.Get
  94.                 PercentualeCarica = objMgmt("EstimatedChargeRemaining").ToString
  95.                 StatoBatteriaNumeriPrec = objMgmt("BatteryStatus").ToString
  96.                 If StatoBatteriaNumeriPrec <> StatoBatteriaNumeri Then
  97.                     If StatoBatteriaNumeriPrec = "1" Then
  98.                         StatoBatteriaParole = "'Non collegata alla rete elettrica'"
  99.                     End If
  100.                     If StatoBatteriaNumeriPrec = "2" Then
  101.                         StatoBatteriaParole = "'Collegata alla rete elettrica'"
  102.                     End If
  103.                     If StatoBatteriaNumeriPrec = "3" Then
  104.                         StatoBatteriaParole = "'Livello massimo di carica'"
  105.                     End If
  106.                     If StatoBatteriaNumeriPrec = "4" Then
  107.                         StatoBatteriaParole = "'Livello basso di carica'"
  108.                     End If
  109.                     If StatoBatteriaNumeriPrec = "5" Then
  110.                         StatoBatteriaParole = "'Livello critico di carica'"
  111.                     End If
  112.                     If StatoBatteriaNumeriPrec = "6" Then
  113.                         StatoBatteriaParole = "'In Caricamento'"
  114.                     End If
  115.                     If StatoBatteriaNumeriPrec = "7" Then
  116.                         StatoBatteriaParole = "'In caricamento, livello alto di carica'"
  117.                     End If
  118.                     If StatoBatteriaNumeriPrec = "8" Then
  119.                         StatoBatteriaParole = "'In caricamento, livello basso di carica'"
  120.                     End If
  121.                     If StatoBatteriaNumeriPrec = "9" Then
  122.                         StatoBatteriaParole = "'In caricamento, livello critico di carica'"
  123.                     End If
  124.                     If StatoBatteriaNumeriPrec = "10" Then
  125.                         StatoBatteriaParole = "'Stato non definito'"
  126.                     End If
  127.                     If StatoBatteriaNumeriPrec = "11" Then
  128.                         StatoBatteriaParole = "'Livello parziale di carica'"
  129.                     End If
  130.                     Character.Speak("Lo stato della Batteria è " & StatoBatteriaParole & "!!!!")
  131.                 End If
  132.                 If PercentualeCarica.ToString <> PercentualeCaricaPrec.ToString Or PercentualeCaricaPrec.ToString <> PercentualeCarica.ToString Then
  133.                     Character.Speak("La percentuale di carica della Batteria rimasta è " & PercentualeCarica & "!!!!")
  134.                     If PercentualeCarica < "30" Then
  135.                         Character.Speak(NomeUtente & " la percentuale di carica della Batteria rimasta è inferiore al 10%, se devi continuare a lavorare ti consiglio di collegarti alla rete elettrica o sostituire la batteria del tuo Pc NoteBook o spegnere il Pc per evitare la perdita di file!!!!")
  136.                     End If
  137.                 End If
  138.                 Timer1.Start()
  139.                 Timer2.Stop()
  140.             Next
  141.         Catch ex As Exception
  142.             MessageBox.Show(ex.ToString, "Errore eccezione non gestita", MessageBoxButtons.OK, MessageBoxIcon.Error)
  143.         End Try
  144.     End Sub
  145. End Class