Como usar ExitWindowsExec() no VB para executar o arquivo em lotes do MS-DOS

Traduções deste artigo Traduções deste artigo
ID do artigo: 147806 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

A função ExitWindowsExec() encerra o Windows, executa um determinado aplicativo MS-DOS e, em seguida, reinicia o Windows. As informações contidas neste artigo mostram como chamar essa função do Visual Basic.

Mais Informações

A função ExitWindowsExec() é normalmente usada por programas de instalação para substituir os componentes do Windows que estão ativos quando o Windows está sendo executado. Normalmente, você vai querer executar um arquivo em lotes MS-DOS que executa o arquivo cópia enquanto o Windows é encerrado temporariamente. A declaração para ExitWindowsExec() é da seguinte maneira:
   ' Place the following declaration on one, single line:

  Private Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String,
      ByVal lpszParams As Any) As Integer
				

Primeiro parâmetro: lpszExe $

O primeiro parâmetro para ExitWindowsExec(), $ lpszExe, deve ser uma seqüência de caracteres que contém o caminho totalmente qualificado para o arquivo executável que deseja executar. Essa seqüência deve conter mais de 127 caracteres. Para arquivos em lotes, você precisará especificar Command.com como o arquivo--C:\DOS\COMMAND.COM. Para obter o caminho totalmente qualificado no Visual Basic para Command.com, você pode usar a função de $ ambiente:
   lpszExe$ = Environ$("COMSPEC")
				

Para obter mais informações sobre a função de $ ambiente, consulte a referência do Microsoft Visual Basic ou no menu Ajuda.

Segundo parâmetro: lpszParams $

O segundo parâmetro para ExitWindowsExec(), $ lpszParams, deve ser uma seqüência de caracteres que contém os parâmetros necessários para o arquivo executável. Se nenhum parâmetro for necessário, passar um inteiro longo 0 como 0 &.

Para executar um arquivo em lotes, no entanto, isso é onde você especifica o caminho para o arquivo em lotes e quaisquer parâmetros necessários. Além disso, você precisará preceda a seqüência de caracteres com a opção /c que informa ao MS-DOS para invocar uma cópia do Command.com. Aqui está um exemplo:
   lpszParams$ = "/C C:\DIRNAME\GENERIC.BAT  PARAMETER1 PARAMETER2"
				

O valor de retorno dessa função é false quando a função falhará.

Exemplo passo a passo

  1. Usando o bloco de notas no Windows ou editar no MS-DOS, crie um arquivo em lotes no diretório raiz do seu disco rígido chamado C:\RUNIT.BAT. Dê a ele o seguinte conteúdo:
       @echo off
       echo Making Backup of autoexec.bat
       copy c:\autoexec.bat c:\*.bak
       echo Done
    
    						
  2. Inicie um novo projeto no Visual Basic (ALT, F, N). O Form1 é criado por padrão.
  3. Adicione a declaração a seguir à seção Declaração geral do formulário:
       ' Place the following declaration on one, single line:
    
       Private Declare Function ExitWindowsExec Lib "User" (ByVal lpszExe As String, _
          ByVal lpszParams As Any) As Integer
    
    						
  4. Adicione um botão de comando (Command1) para o formulário e coloque o código a seguir no evento Click().
       Private Sub Command1_Click ()
          sComspec$ = Environ$("COMSPEC")
          ret% = ExitWindowsExec(sComspec$,  "/c c:\runit.bat")
       End Sub
    
    						
  5. Salve projeto (ALT, F, V). Em seguida, pressione a tecla F5 para executar o programa. Clique no botão de comando para sair do Windows, execute o arquivo em lotes e reinicie o Windows.

Propriedades

ID do artigo: 147806 - Última revisão: segunda-feira, 30 de setembro de 2013 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 de 16 bits Enterprise Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbwndw KB147806 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 147806

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com