यह मेरा कार्यक्रम से कोड का एक snipet है। मुझे पता है कि यह कोड वीबीस्क्रिप्ट में काम करता है लेकिन मैं इसे vb.net के साथ काम करने की कोशिश कर रहा हूं। क्या गलत हो रहा है?WScript?</p> <pre><code>WSHShell = WScript.CreateObject("WScript.Shell") </code></pre> <p>लेकिन किसी कारण से, "WScript" घोषित नहीं किया गया है:
उत्तर
WScript
ऑब्जेक्ट विंडोज स्क्रिप्ट होस्ट के लिए विशिष्ट है और .NET Framework में मौजूद नहीं है।
असल में, WScript.Shell
ऑब्जेक्ट कार्यक्षमता सभी .NET Framework कक्षाओं में उपलब्ध है। इसलिए यदि आप VB.NET को VBScript कोड पोर्ट कर रहे हैं, तो आपको Windows स्क्रिप्ट होस्ट COM ऑब्जेक्ट्स का उपयोग करने के बजाय .NET कक्षाओं का उपयोग करके इसे फिर से लिखना चाहिए।
यदि किसी कारण से, आप COM ऑब्जेक्ट्स का उपयोग करना पसंद करते हैं, तो आपको अपने ऑब्जेक्ट में इन ऑब्जेक्ट्स को उपलब्ध कराने के लिए अपने प्रोजेक्ट में उपयुक्त COM लाइब्रेरी संदर्भ जोड़ना होगा। WScript.Shell
के मामले में, यह % WinDir% \ System32 \ wshom.ocx (या % 64-बिट विंडोज़ पर WinDir% \ SysWOW64 \ wshom.ocx) है। तो फिर तुम इस तरह कोड लिख सकते हैं:
Imports IWshRuntimeLibrary
....
Dim shell As WshShell = New WshShell
MsgBox(shell.ExpandEnvironmentStrings("%windir%"))
वैकल्पिक रूप से, आप
Activator.CreateInstance(Type.GetTypeFromProgID(ProgID))
का उपयोग कर COM ऑब्जेक्ट का उदाहरण बना सकते हैं और फिर लेट बाइंडिंग का उपयोग कर उन लोगों के साथ काम करते हैं। इस तरह, उदाहरण के * के लिए:
Imports System.Reflection
Imports System.Runtime.InteropServices
...
Dim shell As Object = Nothing
Dim wshtype As Type = Type.GetTypeFromProgID("WScript.Shell")
If Not wshtype Is Nothing Then
shell = Activator.CreateInstance(wshtype)
End If
If Not shell Is Nothing Then
Dim str As String = CStr(wshtype.InvokeMember(
"ExpandEnvironmentStrings",
BindingFlags.InvokeMethod,
Nothing,
shell,
{"%windir%"}
))
MsgBox(str)
' Do something else
Marshal.ReleaseComObject(shell)
End If
* मैं VB.NET में अच्छी तरह से पता नहीं है, इसलिए इस कोड बदसूरत हो सकता है; सुधार करने के लिए स्वतंत्र महसूस करें।
+1, लेकिन नीचे दिए गए अनुशंसा को शायद शीर्ष पर बनाया जाना चाहिए, जहां इसे याद नहीं किया जा सकता है! –
@ कोडी: हो गया। धन्यवाद! – Helen
- 1. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 2. PHP क्या <<< मतलब है?
- 3. >>>>,> |, ||, | <, <, <<
- 4. PHP व्यंजक <<< EOB
- 5. 'ऑपरेटर <<' के लिए 'std :: cout <<' में अस्पष्ट अधिभार <<
- 6. ईजेएस: <% = बनाम <% -
- 7. पीएचपी: <<< ob_start बनाम
- 8. अंतर << a_value
- 9. कन्वर्ट & lt से <xml दस्तावेज़
- 10. प्रश्न <<
- 11. cout << स्ट्रिंगस्ट्रीम
- 12. << से भिन्न कैसे है?
- 13. PHP में <<< ईओडी का उपयोग क्या है?
- 14. DOMDocument को <as & lt
- 15. <script></script> या <script />?
- 16. कॉलिंग ऑपरेटर << gdb
- 17. ओवरलोडिंग ऑपरेटर << - सी ++
- 18. "<<<" ऑपरेटर का नाम क्या है?
- 19. PHP में, "<<<" क्या दर्शाता है?
- 20. Enumerable.ToList <>() <>
- 21. <<..>> = आउटपुट
- 22. <: <, <% <, =: = कंपाइलर में काम का स्केल कार्यान्वयन वास्तव में कैसे करता है?
- 23. कैसे बचें << - असाइन
- 24. एक्सएमएल में <ArrayOf> की सूची <<
- 25. अभिव्यक्ति <Func<T,bool>> अभिव्यक्ति से <Func<T>>
- 26. का अर्थ << = और | =
- 27. <%# %> बनाम <%= %>
- 28. << ऑपरेटर और प्रत्यावर्तन
- 29. तरह</p> <pre><code><input id="picker" type="date"> </code></pre> <p>क्रोम
- 30. एएसपी.Net में, <% = और <% #
एरिक लिपर्ट के ब्लॉग की जांच करें http://blogs.msdn.com/b/ericlippert/archive/2003/10/08/53175.aspx – volody
@ वोलोडी एक दिलचस्प पोस्ट है लेकिन मैं अभी भी जानना चाहता हूं कि कैसे अनुकूलित करना है मेरा कोड vb.net – user1196604
पर आप स्क्रिप्ट को अलग प्रक्रिया – volody