Como rodar sub-rotinas do Visual Basic em segundo plano

Autor: Sara Rhodes
Data De Criação: 11 Fevereiro 2021
Data De Atualização: 26 Abril 2024
Anonim
Como Ejecutar Programas de manera oculta (Segundo Plano) | Con menos de 6 lineas de comando
Vídeo: Como Ejecutar Programas de manera oculta (Segundo Plano) | Con menos de 6 lineas de comando

Contente

Quando um programa de computador precisa executar uma sub-rotina longa, é melhor executá-la como um processo em segundo plano. Um processo em segundo plano normalmente não tem a mesma prioridade do que em primeiro plano, então será executada mais lentamente. Sub-rotinas podem incluir a verificação e download de atualizações, transferência de arquivos de registro ou longos cálculos.


Instruções

Sub-rotinas em segundo plano são excelentes para processos longos (Kutay Tanir/Photodisc/Getty Images)
  1. Execute o Visual Basic e crie um novo projeto do tipo formulário do Windows.

  2. Ponha na primeira linha do código do arquivo:

    "Imports System.Threading"

    E adicione:

    "Dim t As Thread"

    à seção principal do formulário.

  3. Adicione um botão ao formulário e altere seu nome para "btnStart". Mude o texto do botão para "Iniciar processo em segundo plano".

  4. Adicione o seguinte código à ação do botão "btnStart":

    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click t = New Thread(AddressOf Me.BackgroundProcess) t.Priority = ThreadPriority.BelowNormal ' Isto dará à sub-rotina ainda menos prioridade t.Start() End Sub


    Esta rotina iniciará um processo em segundo plano e dará a ele uma prioridade abaixo do normal, para que rode com menor velocidade e não interfira nos elementos da navegação do usuário.

  5. Adicione a seguinte sub-rotina para ser executada em segundo plano:

    Private Sub BackgroundProcess() ' Realize um longo processo aqui, não apenas um loop infinito Do While True Loop End Sub

  6. Para aprofundar-se, adicione o seguinte código ao método de encerramento do formulário:

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing t.Abort() End Sub

    Sem esta rotina, o programa não será encerrado automaticamente porque o processo ainda estará rodando.

  7. Rode o programa e clique no único botão do formulário. Isto iniciará o processo destinado a ser executado em segundo plano.


Dicas

  • Esteja certo de manter tudo na sub-rotina rodando em segundo plano de forma isolada. Sem usar técnicas de processamento mais avançadas, não é possível saber o que ocorre em qualquer momento.

O que você precisa

  • Visual Basic