Αναγν. άρθρου: 279164 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0

Ορισμένες WScript μεθόδους και ιδιότητες δεν δυνατή η πρόσβαση στη Visual Basic

Συμβουλή συστήματοςΑυτό το άρθρο ισχύει για διαφορετικό λειτουργικό σύστημα από αυτό που χρησιμοποιείτε. Το περιεχόμενο του άρθρου που ενδέχεται να μην σας αφορά έχει απενεργοποιηθεί.
Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Ιδιότητες και μέθοδοι WScript δεν μπορούν να δημιουργηθούν στο περιβάλλον ενός αντικειμένου της Visual Basic, διότι είναι τμήμα του μοντέλου αντικειμένου του Windows Script Host (WSH) και πρέπει να φιλοξενούνται σε ένα αντικείμενο WScript, το οποίο μπορεί να εκτελεστεί μόνο σε μια δέσμη ενεργειών WSH.

Περισσότερες πληροφορίες

Το αντικείμενο WScript είναι συχνά συγχέονται με τα αντικείμενα αυτοματισμού WSH, όπως WScript.Shell και WScript.Network. Μπορεί να υπάρχουν αυτά τα αντικείμενα αυτοματισμού έξω από μια δέσμη ενεργειών WSH, αλλά αυτά πρέπει να δημιουργηθεί με το ObjectContext της περιβάλλον φιλοξενίας (με άλλα λόγια, Server.CreateObject για Microsoft Active Server Pages [ASP]) ή WScript.CreateObject WSH ή απλώς CreateObject για τη Microsoft Visual Basic. Σημειώστε τις διαφορές στα παρακάτω παραδείγματα. WSH και ASP έχει εγγενείς μεθόδους και ιδιότητες που δεν είναι διαθέσιμες εκτός από τους αντίστοιχους περιβάλλοντα (WSH - Wscript.Echo, ASP - Response.Write).

Δείγμα WSH
Set objWSH = WScript.CreateObject("WScript.Network")
WScript.Echo objWSH.Userdomain
WScript.Echo objWSH.Username
				

Δείγματα ASP
<%
Set objWSH = Server.CreateObject("WScript.Network")
Response.Write objWSH.Userdomain
Response.Write objWSH.Username
%>
				

Δείγμα της Visual Basic
Set objWSH = CreateObject("WScript.Network")
MsgBox objWSH.Userdomain
MsgBox objWSH.Username
				

Σε αντίθεση με τα παραπάνω παραδείγματα που δείχνουν WScript αντικειμένων αυτοματισμού, το παρακάτω παράδειγμα δείχνει μια μέθοδο WScript που δεν μπορεί να κληθεί από μια μέθοδο ObjectContext.CreateObject (Σημειώστε ότι WScript δεν δημιουργείται παρουσία πριν από την κλήση WScript.Sleep και μπορούν να χρησιμοποιηθούν μόνο σε μια δέσμη ενεργειών WSH):
WScript.Sleep 1000
objWSH = WScript.Version
objWSH = WScript.ScriptFullName
				
Παρακάτω ιδιότητες και μεθόδους που εξαρτώνται από το WSH να λειτουργούν και θα προκαλέσει σφάλμα, αν αυτά είναι προσπελάσιμα έξω από το περιβάλλον του WSH:
  • Ιδιότητες (Properties)
    • Εφαρμογή
    • Ορίσματα
    • Ονοματεπώνυμο
    • NAME
    • Διαδρομή
    • ScriptFullName
    • Όνομα_δέσμης_ενεργειών
    • VERSION
  • μεθόδους
    • Αντήχηση (για εφαρμογές της Visual Basic, χρησιμοποιήστε τηΠλαίσιο μηνύματοςσυνάρτηση ήDebug.Print)
    • Αναστολή λειτουργίας (για εφαρμογές της Visual Basic, χρησιμοποιήστε τηSleep()Win32 API ήSetWaitbleTimer()Win32 API [ανατρέξτε στην ενότητα "Αναφορές"]).
    • Αναδυόμενο παράθυρο (για εφαρμογές της Visual Basic, χρησιμοποιήστε τηΠλαίσιο μηνύματοςλειτουργία)
Για ναStdInΙδιότηταStdOutη ιδιότητα, καιStdErrη ιδιότητα μπορεί να χρησιμοποιηθεί από τη Visual Basic, αλλά απαιτούν ένα πρόγραμμα κονσόλας. Αυτά μπορεί να προσπελαστεί και ανοίγοντας $ CON ως ένα αρχείο χρησιμοποιώντας τα κατάλληλα API.

Όλες τις μεθόδους του WSH αναπαράγονται από άλλες κλήσεις API που μπορούν να έχουν πρόσβαση της Visual Basic.

Παρόλο που το μοντέλο αντικειμένου του WSH είναι δυνατό να προσπελαστεί από αντικείμενα της Visual Basic, την ίδια λειτουργικότητα είναι διαθέσιμη μέσω της γλώσσας Visual Basic και το API του Win32.

Αναφορές

For more information about the SetWaitbleTimer() Win32 API, click the following article number to view the article in the Microsoft Knowledge Base:
231298  (http://support.microsoft.com/kb/231298/ ) How to use SetWaitableTimer with Visual Basic
Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω για να προβάλετε τα άρθρα της Γνωσιακής Βάσης (Knowledge Base) της Microsoft:
190000  (http://support.microsoft.com/kb/190000/ ) How to get started programming with the Windows API (LONG)
202179  (http://support.microsoft.com/kb/202179/ ) How to call Windows API functions with special requirements from Visual Basic
171654  (http://support.microsoft.com/kb/171654/ ) How to attach a console window to your Visual Basic program

Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • 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
Λέξεις-κλειδιά: 
kbdswmanage2003swept kbinfo kbmt KB279164 KbMtel
Μηχανικά μεταφρασμένοΜηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:279164  (http://support.microsoft.com/kb/279164/en-us/ )