Modules

5.82 Determinare la risoluzione del monitor senza usare le API
  Dario Attard

Nel database di esempio allegato a questa FAQ è mostrato come sia possibile determinare la risoluzione del monitor senza bisogno di far ricorso alle API di Windows.

Qui di seguito si riporta il codice VBA della funzione che serve a realizzare quanto qui sopra scritto:
'==========================================================================================
'Calcolo della risoluzione dello schermo senza uso di API e conversioni in pixel
'==========================================================================================
'KE COSA E'?: Questa semplicissima funzione offre un modo diverso per calcolare la risoluzione
'             dello schermo senza far ricorso a chiamate alle API o conversioni da twip a pixel
'             o viceversa.
'             Misura le dimensioni di una finestra test ingrandita all'apertura, identificando
'             quindi una delle possibili risoluzioni in twip a cui corrispondono i valori in
'             pixel.
'BUG        : Non ne conosco. Ma vi prego di farmeli sapere cosicchè si possa cercare di
'             correggerli.
'USO:       : Chiama la funzione e tanti saluti...........
'NOTE       : E' chiaro ke affinchè tutto funzioni bisogna trovare nel select una delle varie
'             risoluzioni.
'==========================================================================================
'AUTORE     : Dario Attard (picciotto siculo)
'             Milazzo (ME)
'             cheyenne2001@inwind.it
'===========================================================================================
'Per favore lascia i commenti sopra e se vuoi migliorare o modificare la function sotto fallo
'pure.
'===========================================================================================
Public Function testa_ris()

Dim winh As String, winw As String       'sono string e non long per fare nel select un
Dim ris As String                        'confronto di stringhe

DoCmd.OpenForm "frm_test"
DoCmd.Maximize
    
winw = Forms("frm_test").InsideWidth
winh = Forms("frm_test").InsideHeight

Select Case winw & "x" & winh
    Case "9600x7200"
        ris = "640x480"
    Case "12000x9000"
        ris = "800x600"
    Case "15360x11520"
        ris = "1024x768"
    Case "17280x12960"
        ris = "1152x864"
    Case "19200x11520"
        ris = "1280x768"
    Case "19200x14400"
        ris = "1280x960"
    Case "19200x15360"
        ris = "1280x1024"
    Case Else
        ris = "sconosciuta"
End Select

DoCmd.Close acForm, "frm_test"

testa_ris = "La risoluzione dello schermo è: " & ris

End Function

Download:
 
  Risoluzione schermo 97.zip (17Kb) MSAccess97 database


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