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:
Il codice l'ho provato e funziona.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![]()

Rispondi quotando