|
API - VB:Ripristinare lo stato di una finestra di cui è noto il titoloAutore: Fabio Pacioni - 2006 L'
articolo vuole mostrare come con Visual Basic sia possibile,
facendo uso delle API , agire su di una finestra Per
manipolare lo stato di una finestra la prima cosa che bisogna
conoscere è il suo Handle. La
funzione API FindWindow restituisce
l'Handle di una finestra di cui si conosce il titolo Una
volta noto l'Handle della finestra in esame per manipolare il
suo stato abbiamo bisogno SW_HIDE : Nasconde la finestra e ne visualizza un' altra. SW_MAXIMIZE : Massimizza la finestra. SW_MINIMIZE : Minimizza la finestra ed attiva la successiva secondo Z-order. SW_RESTORE : Attiva e riporta nello stato precedente la finestra ridotta ad icona. SW_SHOW : Attiva la finestra e la visualizza nella posizione e dimensione corrente. SW_SHOWMAXIMIZED: Attiva e massimizza la finestra SW_SHOWMINIMIZED : Attiva e minimizza la finestra SW_SHOWMINNOACTIVE : Visualizza la finestra minimizzata.Se era attiva, rimane attiva. SW_SHOWNA :Visualizza la finestra nel suo stato corrente. SW_SHOWNOACTIVATE :Visualizza la finestra nel suo recente stato .Se era attiva ci rimane SW_SHOWNORMAL :Attiva e visualizza la finestra.Se max o min, torna nello stato originale I
valori di ritorno sono: Codice VBDichiarazione
delle API e delle costanti. Incollare il codice seguente ' Dichiarazione delle costanti Public Const SW_HIDE = 0 Public Const SW_MAXIMIZE = 3 Public Const SW_MINIMIZE = 6 Public Const SW_RESTORE = 9 Public Const SW_SHOW = 5 Public Const SW_SHOWDEFAULT = 10 Public Const SW_SHOWMAXIMIZED = 3 Public Const SW_SHOWMINIMIZED = 2 Public Const SW_SHOWMINNOACTIVE = 7 Public Const SW_SHOWNA = 8 Public Const SW_SHOWNOACTIVATE = 4 Public Const SW_SCROLLCHILDREN = &H1 Public Const SW_SHOWNORMAL = 1 'Dichiarazione delle API Public Declare Function ShowWindow Lib "user32"_ (ByVal hwnd As Long,ByVal nCmdShow As Long) As Long Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA"_ (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Private Sub Command1_Click() Dim stra As String stra = Text1.Text hwn = FindWindow(0&, stra) ' trova l'handle ShowWindow hwn, SW_RESTORE ' la mostr nella sua posizione originaria End Sub 'altre API utili 'openIcon > apre una finestra ridotta a icona 'closeicon > riduce ad icona
Avviate il Blocco note
NB
: Se il blocco note non è ridotto ad icona quando premete
command1 la finestra del blocco note non prende lo stato attivo. ShowWindow hwn, SW_HIDE 'nosconde la finesta ShowWindow hwn, SW_RESTORE ' la mostra nella sua posizione originaria |