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 | Reduzir tudo

Sumário

WScript métodos e propriedades não não possível criar no contexto de um objecto do Visual Basic porque fazem parte do modelo de objecto Windows Script Host (WSH) e devem estar hospedados num objecto WScript, sua só pode executar um script WSH.

Mais Informação

O objecto WScript, muitas vezes, é confundido com os objectos de automatização WSH, como, por exemplo, WScript.Shell e WScript.Network. Estes objectos de automatização podem existir fora de um script WSH, mas têm de ser criados em ObjectContext do ambiente de alojamento (por outras palavras, Server.CreateObject para o Microsoft Active Server Pages [ASP]) ou WScript.CreateObject WSH ou simplesmente CreateObject para o Microsoft Visual Basic. Tome nota das diferenças nos seguintes exemplos. 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 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 anteriores, que demonstram a objectos de automatização de WScript, o exemplo seguinte ilustra um método de WScript que não pode ser chamado por um método ObjectContext.CreateObject (note que o WScript não é instanciado anteriores para chamar WScript.Sleep e só pode ser utilizado num script WSH):
WScript.Sleep 1000
objWSH = WScript.Version
objWSH = WScript.ScriptFullName
				
as seguintes propriedades e métodos dependem WSH estejam em execução e causará um erro se são acedidas fora do contexto do WSH:
  • Propriedades
    • Aplicação
    • Argumentos
    • FullName
    • Nome
    • Caminho
    • ScriptFullName
    • Nomedoscript
    • Versão
  • Métodos
    • Eco (para aplicações do Visual Basic, utilize a função CxMsg ou Debug.Print )
    • Modo de suspensão (para aplicações do Visual Basic, utilize a API do Win32 Sleep() ou SetWaitbleTimer() API do Win32 [consulte "Referências"]).
    • Menu de contexto (para aplicações do Visual Basic, utilize a função CxMsg )
A propriedade StdIn , propriedade StdOut e StdErr propriedade podem ser utilizados a partir do Visual Basic, mas requerem um programa de consola. Estes também podem ser acedidos abrindo $ CON como um ficheiro utilizando a API adequada.

Todos os métodos do WSH são duplicados por outras chamadas de API do Visual Basic podem aceder.

Apesar do modelo de objectos do WSH não pode ser acedido através de objectos do Visual Basic, a mesma funcionalidade está disponível através de linguagem do Visual Basic e a API do Win32.

Referências

Para obter mais informações sobre a API do Win32 SetWaitbleTimer(), clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
231298  (http://support.microsoft.com/kb/231298/ ) Como utilizar SetWaitableTimer com o Visual Basic
Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
190000  (http://support.microsoft.com/kb/190000/ ) Como começar a programar com o Windows API (LONG)
202179  (http://support.microsoft.com/kb/202179/ ) A chamar funções da API do Windows com requisitos especiais a partir do Visual Basic
171654  (http://support.microsoft.com/kb/171654/ ) Como anexar uma janela de consola para o programa do 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 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: 279164  (http://support.microsoft.com/kb/279164/en-us/ )