2012-05-01 11 views
6

मैं एक टेलनेट विंडो खोलने और इस सक्रिय विंडो में कुछ चाबियाँ भेजने की कोशिश कर रहा हूं। नीचे जावास्क्रिप्ट कोड है:जावास्क्रिप्ट में एप्लेट्स का उपयोग कर टेलनेट

var oWshShell = new ActiveXObject("WScript.Shell"); 
oWshShell.Run("telnet 43.43.22.45 23"); 
//oWshShell.Run("firefox.exe http://www.google.com"); 
//oWshShell.Run(" notepad.exe"); 
oWshShell = null; 

लेकिन मैं उन सब को एक ही खोलने में असमर्थ हूँ। यह कहता है कि फ़ाइल मौजूद नहीं है। हालांकि, टिप्पणी की गई लाइनें पूरी तरह से काम करती हैं, जब असम्बद्ध होती है। क्या समस्या हो सकती है?

अग्रिम धन्यवाद।

+1

फ़ायरफ़ॉक्स में ActiveXObject ("WScript.Shell") विधि हमारे पास कैसे हो सकती है। उपरोक्त कोड केवल आईई में काम करता है। – Avi

+0

हो सकता है कि आपको ".exe", जैसे "telnet.exe ..." की आवश्यकता हो और न केवल टेलनेट –

+0

मैंने कोशिश की .. यह काम नहीं करता है, मैंने exe – Avi

उत्तर

1

@Avi, मुझे नहीं लगता कि जब आप इंटरनेट एक्सप्लोरर का उपयोग करते हैं और पूर्ण ट्रस्ट सुरक्षा सक्षम करते हैं तो आप इस प्रकार के कमांड को निष्पादित करने में सक्षम होंगे। यदि आपको ऐसा करना चाहिए, तो आपको केवल telnet.exe पर पूरा पथ निर्दिष्ट करना होगा। बस सावधान रहें कि निर्देशिका स्तर को अलग करने के लिए विंडोज \ का उपयोग करता है, लेकिन यह जावास्क्रिप्ट के लिए एक विशेष चरित्र है, और इसे बच जाना चाहिए; i.e:

var path = "c:\\Windows\\System32"; // this is c:\Windows\System32 in javascript 
0

क्या आपने इसके बजाय telnet://43.43.22.45 जैसे यूआरएल का उपयोग करने की कोशिश की है?

<a href="telnet://43.43.22.45">Connect to server</a>. 
0
oWshShell.Run("telnet 43.43.22.45 23"); 

टेलनेट डिफ़ॉल्ट रूप से सिस्टम पथ में है। तो यह काम करना चाहिए।

//oWshShell.Run("firefox.exe http://www.google.com"); 

फ़ायरफ़ॉक्स नहीं सिस्टम पथ में है। इसके लिए, रन को पता नहीं है कि इसे कैसे ढूंढें।

//oWshShell.Run(" notepad.exe"); 

"नोटपैड" से पहले स्थान पर ध्यान दें -> वह फ़ाइल नाम मौजूद नहीं है।

संबंधित मुद्दे