Condividi tramite


Funzione AppActivate

Aggiornamento: novembre 2007

Attiva un'applicazione in esecuzione.

Public Overloads Sub AppActivate( _
      ByVal { Title As String | ProcessId As Integer } _
)

Parametri

  • Title
    Espressione String che specifica il titolo presente nella barra del titolo dell'applicazione da attivare. È possibile utilizzare il titolo assegnato all'applicazione in fase di avvio.

  • ProcessId
    Valore Integer che specifica l'ID di processo Win32 assegnato al processo. È possibile utilizzare l'ID restituito dalla Funzione Shell, a condizione che sia diverso da zero.

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

ArgumentException

5

Impossibile trovare Title o ProcessId.

Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.

Note

È possibile utilizzare AppActivate per spostare lo stato attivo sulla finestra attiva di un'applicazione. È possibile che non si disponga di un handle o di un riferimento alla finestra attiva oppure che non si conosca quale finestra sia attiva in un determinato momento. In casi di questo tipo non è possibile utilizzare il metodo Focus.

La funzione AppActivate consente di rendere attiva l'applicazione o la finestra specificata senza modificarne lo stato di visualizzazione (ingrandito o ridotto a icona). La finestra resterà attiva fino a quando non verrà chiusa o non ne verrà attivata un'altra. È possibile utilizzare la funzione Shell per avviare un'applicazione e impostare lo stile della finestra.

Se si utilizza il parametro Title, AppActivate applica un confronto senza distinzione tra maiuscole e minuscole, altrimenti richiede una corrispondenza esatta con il contenuto della barra del titolo. Vengono innanzitutto analizzate le finestre principali, quindi quelle secondarie. Se non viene rilevata alcuna corrispondenza, viene generata un'eccezione ArgumentException.

La funzione AppActivate può essere utilizzata solo con i processi ai quali appartengono delle finestre. La maggior parte delle applicazioni console non è proprietaria di finestre, il che significa che non compare nell'elenco dei processi in cui AppActivate effettua la ricerca. Durante l'esecuzione da un'applicazione console, il sistema crea per essa un processo distinto e restituisce l'output al processo della console. Di conseguenza, quando si richiede l'ID di processo corrente, si ottiene l'ID di questo processo distinto, non quello dell'applicazione console.

In fase di esecuzione, la funzione AppActivate attiva le applicazioni in esecuzione con un titolo corrispondente a Title o un ID di processo corrispondente a ProcessId. In assenza di corrispondenza, verrà attivata qualsiasi applicazione la cui stringa del titolo termini con il valore specificato in Title. Se esistono più applicazioni denominate Title, la funzione AppActivate ne attiverà una a caso.

Nota:

La funzione AppActivate richiede UIPermission a livello di SafeTopLevelWindows, che può influenzarne l'esecuzione in situazioni di attendibilità parziale. Per ulteriori informazioni, vedere Richiesta di autorizzazioni e Classe UIPermission.

Esempio

Nell'esempio riportato di seguito vengono illustrati vari modi per attivare una finestra dell'applicazione mediante la funzione AppActivate. Se non è in esecuzione un processo Blocco note, viene generata un'eccezione ArgumentException. La routine Shell presuppone che le applicazioni si trovino nei percorsi specificati.

Dim notepadID As Integer
' Activate a running Notepad process.
AppActivate("Untitled - Notepad") 
' AppActivate can also use the return value of the Shell function.
' Shell runs a new instance of Notepad.
notepadID = Shell("C:\WINNT\NOTEPAD.EXE", AppWinStyle.NormalFocus)
' Activate the new instance of Notepad.  
AppActivate(notepadID)

Note per gli sviluppatori di applicazioni per Smart Device

Questa funzione non è supportata.

Requisiti

Spazio dei nomi: Microsoft.VisualBasic

**Modulo:**Interaction

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Funzione Shell

Focus

ArgumentException