Connessione al database con Visual Basic NET? Lo trovi su Opentraining.it Visual Basic Italia
Guide e Tutorials:indexed
IL CONTROLLO MICROSOFT SYSINFO 5.0 e 6.0 (Tutorial completo)

Uno dei controlli meno utilizzati con Visual Basic è sicuramente Microsoft SysInfo versione 6.0 nel caso si disponga di Visual Basic 6.0 o 5.0 nel caso di Visual Basic 5.0.
Tale controllo permette di recuperare utili informazioni riguardo moltissimi aspetti del sistema.
In tanti progetti di esempio che ci sono in giro il controllo MicrosoftSysInfo viene utilizzato più che altro per ottenere informazioni circa la versione del sistema operativo. Noi andremo leggermente oltre.
Prima di tutto però aprire il classico nuovo progetto EXE Standard. Una volta a disposizione Form1, cliccare sul menu principale la voce Progetto. Dal menu a discesa che comparirà selezionare Componenti. Apparirà una finestra, nella quale si dovrà selezionare col segno di spunta la voce Microsoft SysInfo Control 6.0 o Microsoft SysInfo Control 5.0 a seconda della versiona di Visual Basic a disposizione.


Apparirà in questo modo un'icona nella sezione Generale della finestra di progettazione che indicherà appunto il controllo Microsoft SysInfo.
L'immagine qui di seguito rappresenta graficamente l'icona che appare:


Una volta selezionata questa icona, dovrà essere trascinata su Form1. Non è necessario tenere conto delle dimensioni del controllo sul piano in quanto SysInfo non è uno di quei controlli "visibili" come una TextBox o una Label.

Se volessimo adesso controllare su quale piattaforma sta girando l'applicazione che abbiamo creato, dovremmo fare uso del controllo che abbiamo appena trasportato sul piano. Prima però importiamo nel progetto anche un pulsante che chiameremo "cmdOS", il quale, una volta premuto, ci indicherà appunto il sistema operativo disponibile. Impostiamo a tal fine la proprietà Caption e la proprietà Name di Command1 su "cmdOS".
Fatto ciò, nell'evento Click di cmdOS aggiungiamo:

Private Sub cmdOS_Click()
Select Case SysInfo1.OSPlatform
Case 0
MsgBox "OS Platform = Sconosciuto"
Case 1
List1.AddItem "OS Platform = Windows 95/98"
Case 2
MsgBox "OS Platform = Windows NT"
End Select

questo indica che avremo un significato diverso (in termini di sistemi operativi) in base alla risposta dell'applicazione.

Nel caso in cui volessimo conoscere anche la versione del sistema operativo dovremo aggiungere (o scrivere separatamente):

MsgBox SysInfo1.OSVersion

Se ancora intendessimo visualizzare in una finestra di messaggio l'anno di sviluppo del sistema operativo, dovremo includere anche la seguente linea di codice:

MsgBox SysInfo1.OSBuild

Per visualizzare invece le dimensioni dell'area di lavoro a partire dall'altezza:

MsgBox SysInfo1.WorkAreaHeight

per quanto riguarda la lunghezza:

MsgBox SysInfo1.WorkAreaWidth

la distanza dal margine superiore:

MsgBox SysInfo1.WorkAreaTop

e per finire la distanza dal margine sinistro:

MsgBox SysInfo1.WorkAreaLeft

Il controllo Microsoft SysInfo non si limita a questo.
Nel caso si disponga infatti di un computer portatile, è possibile sapere se si è collegati alla presa della corrente o si sta utilizzando le batterie. La proprietà ACStatus di SysInfo ritorna uno dei seguenti valori: 0,1 e 255. Interpretando ognuno di questi valori è possibile determinare il tipo di energia utilizzata:

Select Case SysInfo1.ACStatus
Case 0
MsgBox "Batterie"
Case 1
MsgBox "Corrente alternata"
Case 255
MsgBox "Energia sconosciuta all'umanità"
End Select

Così se si vuole determinare la percentuale di carica delle batterie si deve far uso della proprietà BatteryLifePercent del controllo SysInfo. La carica è visibile solamente se il valore ritornato da ACStatus è diverso da 255 ovvero se la fonte di energia è conoscibile:

Dim Percentuale As String
If SysInfo1.BatteryLifePercent <> 255 Then
Percentuale = SysInfo1.BatteryLifePercent
MsgBox Percentuale & "%"
Else
MsgBox "Carica delle batterie non riconosibile"
End If

Per determinare la durata rimanente delle batterie (in termini di tempo):

If SysInfo1.BatteryLifeTime <> &HFFFFFFFF Then
MsgBox Format((TimeSerial(0, 0, SysInfo1.BatteryLifeTime)), "h:mm")
Else
MsgBox "Impossibile determinare il tempo rimanente"
End If


Archivio:ndexed
Lezioni Commenta questa lezione Invia la tua guida Avviso per le nuove lezioni
Proponi un argomento

Visual Basic Italia© copyright 2000 - tutti i diritti riservati
E-mail:
vbitalia@libero.it