ID do artigo: 279164 - Última revisão: quarta-feira, 25 de maio de 2005 - Revisão: 4.0

Determinados WScript métodos e propriedades não está acessíveis no Visual Basic

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

WScript métodos e propriedades não podem ser criadas no contexto de um objeto do Visual Basic porque eles fazem parte do modelo de objeto WSH (Windows Script Host) e devem ser hospedados em um objeto WScript, que só pode ser executado em um script do WSH.

Mais Informações

O objeto WScript é geralmente confundido com os objetos de automação do WSH, como WScript.Shell e WScript.Network. Esses objetos de automação podem existir fora de um script WSH, mas eles devem ser criados no ObjectContext do ambiente de hospedagem (em outras palavras, Server.CreateObject para o Microsoft Active Server Pages [ASP]) ou WScript.CreateObject para WSH ou simplesmente CreateObject para Visual Basic. Observe as diferenças entre os exemplos a seguir. WSH e ASP têm intrínsecos métodos e propriedades que não estão disponíveis fora de seus respectivos ambientes (WSH - Wscript.Echo, ASP - Response.write).

exemplo do WSH
Set objWSH = WScript.CreateObject("WScript.Network")
WScript.Echo objWSH.Userdomain
WScript.Echo objWSH.Username
				

exemplo ASP
<%
Set objWSH = Server.CreateObject("WScript.Network")
Response.Write objWSH.Userdomain
Response.Write objWSH.Username
%>
				

exemplo do Visual Basic
Set objWSH = CreateObject("WScript.Network")
MsgBox objWSH.Userdomain
MsgBox objWSH.Username
				

Ao contrário dos exemplos acima, que demonstram a objetos de automação WScript, o exemplo a seguir ilustra um método de WScript que não pode ser chamado por um método ObjectContext.CreateObject (Observe que o WScript não é instanciado antes para chamar WScript.Sleep e só pode ser usado em um script WSH):
WScript.Sleep 1000
objWSH = WScript.Version
objWSH = WScript.ScriptFullName
				
as seguintes propriedades e métodos dependem WSH esteja em execução e causará um erro se forem acessados fora do contexto do WSH:
  • Propriedades
    • Aplicativo
    • Argumentos
    • FullName
    • Nome
    • Caminho
    • ScriptFullName
    • ScriptName
    • Versão
  • Métodos
    • Eco (para aplicativos Visual Basic, use a função MsgBox ou Debug.Print )
    • Estado de suspensão (para aplicativos Visual Basic, use a API do Win32 Sleep() ou SetWaitbleTimer() Win32 API [consulte "Referências"]).
    • Pop-up (para aplicativos Visual Basic, use a função CaixaDeMensagem )
A propriedade de StdIn , propriedade StdOut e StdErr propriedade podem ser usados a partir do Visual Basic, mas eles exigem um programa console. Eles também podem ser acessados abrindo $ CON como um arquivo usando a API apropriada.

Todos os métodos do WSH são duplicados por outras chamadas de API que pode acessar o Visual Basic.

Embora o modelo de objeto WSH não pode ser acessado através de objetos do Visual Basic, a mesma funcionalidade está disponível através da linguagem Visual Basic e a API do Win32.

Referências

Para obter mais informações sobre a API do Win32 SetWaitbleTimer(), clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
231298  (http://support.microsoft.com/kb/231298/ ) Como usar SetWaitableTimer com o Visual Basic
Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
190000  (http://support.microsoft.com/kb/190000/ ) Como começar a programação com o Windows API (LONG)
202179  (http://support.microsoft.com/kb/202179/ ) Como chamar funções de API do Windows com requisitos especiais a partir do Visual Basic
171654  (http://support.microsoft.com/kb/171654/ ) Como anexar uma janela do console para o seu programa em Visual Basic

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Scripting Host 2.5
  • Microsoft Windows Scripting Host 2.5
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palavras-chave: 
kbmt kbdswmanage2003swept kbinfo KB279164 KbMtpt
Tradução automáticaTraduçã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: 279164  (http://support.microsoft.com/kb/279164/en-us/ )