Como utilizar ExitWindowsExec() no VB para executar o ficheiro batch do MS-DOS

Traduções de Artigos Traduções de Artigos
Artigo: 147806 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

A função ExitWindowsExec() Windows termina, executa uma aplicação de MS-DOS especificada e em seguida, reinicia o Windows. As informações contidas neste artigo mostram como chamar esta função a partir do Visual Basic.

Mais Informação

A função ExitWindowsExec() é normalmente utilizada por programas de instalação para substituir componentes do Windows que são activadas quando o Windows está a funcionar. Normalmente, pode pretender executar um ficheiro de comandos do MS-DOS que executa o ficheiro de cópia enquanto o Windows estiver temporariamente desligado. A declaração para ExitWindowsExec() é:
   ' 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 cadeia que contém o caminho totalmente qualificado para o ficheiro executável que pretende executar. Esta cadeia tem de conter não mais de 127 caracteres. Para ficheiros batch, terá de especificar Command.com do ficheiro--C:\DOS\COMMAND.COM. Para obter o caminho totalmente qualificado no Visual Basic para Command.com, pode utilizar a função de $ ambiente:
   lpszExe$ = Environ$("COMSPEC")
				

Para mais informações sobre a função de $ ambiente, consulte o Microsoft Visual Basic Language Reference ou no menu Ajuda.

Segundo parâmetro: lpszParams $

O segundo parâmetro ExitWindowsExec(), lpszParams $, deve ser uma cadeia que contém os parâmetros necessários para o ficheiro executável. Se forem necessários sem parâmetros, passar um número inteiro longo 0 como 0 &.

Para executar um ficheiro batch, contudo, esta é onde especificar o caminho para o ficheiro batch e quaisquer parâmetros que necessita. Além disso, tem de iniciar a cadeia com o parâmetro /c que indica o MS-DOS para invocar uma cópia do Command.com. Eis um exemplo:
   lpszParams$ = "/C C:\DIRNAME\GENERIC.BAT  PARAMETER1 PARAMETER2"
				

O valor de retorno desta função é FALSE quando a função falha.

Exemplo passo a passo

  1. Utilizando o bloco de notas no Windows ou editar no MS-DOS, crie um ficheiro batch no directório raiz do disco rígido denominado C:\RUNIT.BAT. Atribua o seguinte conteúdo:
       @echo off
       echo Making Backup of autoexec.bat
       copy c:\autoexec.bat c:\*.bak
       echo Done
    
    						
  2. Inicie um novo projecto no Visual Basic (ALT, F, N). É criado o Form1 por predefinição.
  3. Adicione a seguinte declaração à secção General Declarations 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. Adicionar um botão de comando (Command1) ao formulário e, coloque o seguinte código no evento Click().
       Private Sub Command1_Click ()
          sComspec$ = Environ$("COMSPEC")
          ret% = ExitWindowsExec(sComspec$,  "/c c:\runit.bat")
       End Sub
    
    						
  5. Guarde o projecto (ALT, F, V). Em seguida, prima a tecla F5 para executar o programa. Clique no botão de comando para sair do Windows, execute o ficheiro batch e, em seguida, reiniciar o Windows.

Propriedades

Artigo: 147806 - Última revisão: 7 de fevereiro de 2014 - 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 16-bit 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 147806

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