General

6.217 Configurare Windows da VBA via codice WMI (1)
  Carlo Costarella

Prendendo spunto da un articolo apparso su "Io Programmo", ho realizzato questo piccolo applicativo che vuole fornire uno spunto sulle possibilità di Access (VBA) nel
programmare Windows.
L'esempio permette di impostare una stampante predefinita, chiudere un task attivo e altre cosette.
Si fà riferimento alla WMI (Windows management instrumentation), strumentazione gestione Windows, presente nei sistemi Windows e che permette di trovare e impostare le caratteristiche di hardware e software di un computer locale e remoto.
La libreria principale trattata nell'esempio è Wbemdisp.tlb che si trova in c:\Windows\System32.
Parole chiave:
WBEM (Web-Based Enterprise Management)
CIM (Common Information Model)
CIMON (CIM Object Manager)
WMI Scripting Object (modello ad oggetto per interagire con WMI dai vari linguaggi)

Richiede MSComctl.ocx che dovrebbe essere presente in tutti i sistemi e, per la versione 97 di Access, FM20.dll.
Se non presenti nel computer potete usare quelli presenti nel file zippato allegato a questa FAQ dopo averli opportunamente registrati.
Per un approfondimento si può iniziare da qui:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/anch_wmi.asp

Allegati a questa FAQ ci sono due database di esempio: uno si chiama WMI.mdb ed è nel formato Access XP, mentre l'altro si chiama WMI97.mdb ed è usabile per la versione 97 di Access.

Nota di Roberto
A seconda del Sistema Operativo i file OCX di cui sopra potrebbero essere presenti in cartelle differenti da quella qui sopra indicata (ad esempio con Windows Me il file FM20.dll è presente nella cartella C:\Windows\SYSTEM invece che C:\Windows\System32). Per evitari problemi conseguenti a ciò, prima di eseguire i database di esempio controllare i loro riferimenti eliminando quelli indicati con MANCA e riassegnadoli in maniera corretta.
Ad ogni buon conto, si tenga presente che il database WMI97.mdb (la versione per Access 97) per funzionare correttamente occorre che abbia i seguenti riferimenti;
Visual Basic For Applications
Microsoft Access 8.0 Object Library
Microsoft Common Dialog Control 6.0
Microsoft Forms 2.0 Object Library
Mcrosoft WMI Scripting V1.1 Library (oppure meglio Mcrosoft WMI Scripting V1.2 Library)


NOTA
Prima di applicare quanto illustrato in questa FAQ, si consiglia caldamente di leggere anche la FAQ 6.228 Configurare Windows da VBA via codice WMI (2) pubblicata sempre nella Sezione General del Sito Comune.

Download:
 
  DBwmi.zip (1090Kb) MSAccess97/XP database


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.