Ciao zoodany.
Per leggere la risoluzione dello schermo ed intervenire sul pannello di controllo di WinXP, se non è conforme al programma, puoi utilizzare la seguente routine:
codice:
'Da inserire in un modulo bas:
Public Function CheckScreenSize(pixelWidth As Long, pixelHeight As Long) As Boolean
   
    pixelWidth = Screen.Width / Screen.TwipsPerPixelX
    pixelHeight = Screen.Height / Screen.TwipsPerPixelY

'Verifica delle dimensioni schermo:
    If pixelWidth >= 1024 And pixelHeight >= 768 Then
        CheckScreenSize = True
    Else
        CheckScreenSize = False
    End If
    
End Function

'---------------------------------------------------------

'Da inserire in una Frm:
Private Sub Form_Load()

 Form1.Show

'Determina la risoluzione corrente dello schermo
'Funzione CheckScreenSize Modulo bas:
    Dim HRes As Integer, VRes As Integer
    Dim PauseTime, start, Finish, TotalTime
    
    HRes = Screen.Width / Screen.TwipsPerPixelY
    VRes = Screen.Height / Screen.TwipsPerPixelX

'Funzione per verificare le dimensioni dello schermo - Modulo bas:
        If CheckScreenSize(1024, 768) = False Then
            MsgBox "Il programma è ottimizzato per una risoluzione dello schermo di 1024 per 768" & Chr(13) _
            & "Pixel, o superiore." & Chr(13) _
            & "Prego aumentare la risoluzione.", vbExclamation, Me.Caption
            
            'Riduce a icona ed Apre il pannello di comando
            'per modificare la risoluzione:
            Form1.WindowState = 1
            'MDIForm1.WindowState = 1
            Shell "rundll32 shell32,Control_RunDLL desk.cpl"
            ElseIf CheckScreenSize(1024, 768) = True Then
                LblRisol.Caption = "La risoluzione dello schermo " & HRes & " per " & VRes & "  è compatibile con il programma"
                'Esegue una pausa per visualizzare il messaggio:
                PauseTime = 2                       'Imposta la durata, circa 2 secondi
                start = Timer                      'Imposta il tempo d'inizio
                Do While Timer < (start + PauseTime)
                DoEvents                            'Passa il controllo ad altri processi
                Loop
                Finish = Timer                      'Imposta l'ora di fine pausa
                TotalTime = (Finish - start)        'Calcola il tempo totale
                    If TotalTime >= PauseTime Then
                        LblRisol.Caption = ""       'Cancella il messaggio
                    End If
        End If
End Sub
Il codice l'ho provato e funziona.