VB 2005 - Abrindo as caixas de diálogo do Painel de Controle
Você pode acionar facilmente qualquer uma das caixas de diálogo do Painel de controle:
Você já deve saber que uma das formas de efetuar chamadas a aplicações externas é invocar o método Start da classe Process do namespace: System.Diagnostics.
O namespace System.Diagnostic possui uma classe Process que pode iniciar programas externos. Você passa o nome do arquivo executável ou o nome do arquivo com uma extensão associada com uma aplicação executável:
Ex: System.Diagnostics.Process.Start("c:\Texto.txt")
O código a seguir retorna um objeto Process:
Dim processo As Process =
System.Diagnostics.Process.Start("c:\Texto.txt")
MessageBox.Show(processo.ProcessName)
Então para executar qualquer uma das opções do Painel de controle basta identificar o arquivo associado e usar a classe Process.
A seguir temos um exemplo que executa algumas dos itens do painel de controle:
O código associado a cada imagem é o seguinte:
Private Sub BtnAcc_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
BtnAcc.Click System.Diagnostics.Process.Start("access.cpl") End Sub Private Sub BtrnAddHW_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtrnAddHW.Click System.Diagnostics.Process.Start("hdwwiz.cpl") End Sub Private Sub BtnADDSW_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnADDSW.Click System.Diagnostics.Process.Start("appwiz.cpl") End Sub Private Sub BtnUpdates_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdates.Click System.Diagnostics.Process.Start("appwiz.cpl") End Sub |
Se você precisar esperar até que o processo iniciado termine deve usar o método Process.WaitForExit. A sua aplicação vai parar de ser executada até que o processo iniciado termine. Abaixo temos um exemplo de sua utilização:
' INicia um novo processo (Bloco de Notas). Dim Processo As Process = System.Diagnostics.Process.Start("Texto.txt") ' Espera até o processo encerrar Processo.WaitForExit() MessageBox.Show("Bloco de Notas encerrado : " & Processo.ExitTime & System.Environment.NewLine & "Exit Code: " & Processo.ExitCode) ' Fecha o processo e liberar recursos. Processo.Close() |
No exemplo acima estamos abrindo apenas algumas das janelas associadas as opções do painel de controle. A seguir temos uma relação com o nome dos arquivo que deve ser chamado e sua descrição.
Nome do arquivo a ser chamado usando a classe Process | Descrição |
timedate.cpl | Propriedades de data e hora |
inetcpl.cpl | Propriedades da Internet |
main.cpl | Propriedades do mouse |
password.cpl | Propriedades de password |
powercfg.cpl | Gerenciamento de Energia |
intl.cpl | Configurações Regionais |
sticpl.cpl | Câmeras e Scanners |
mmsys.cpl | Propriedades de sons e dispositivos de áudios |
sysdm.cpl | Propriedades do Sistema |
musrmgr.cpl | Configurações do Usuário |
joy.cpl | Propriedades de JoyStick |
Para mais detalhes sobre o namespace System.Diagnostic.Process consulte o artigo: VB.NET - Usando a classe System.Diagnostic.Process
Até o próximo artigo .NET.
José Carlos Macoratti