2012-05-01 3 views
6

텔넷 창을 열고이 활성 창에 일부 키를 보내려고합니다. 다음은 자바 스크립트 코드 :텔넷 JavaScript에서 애플릿 사용

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

우리는 어떻게 firefox에서 ActiveXObject ("WScript.Shell") 메서드를 가질 수 있습니까? 위의 코드는 IE에서만 작동합니다. – Avi

+0

아마도 "telnet.exe ..."와 같은 ".exe"가 필요할뿐 아니라 텔넷이 필요합니다. –

+0

시도했습니다. 작동하지 않으며 exe에 대한 전체 경로를 제공했습니다. – Avi

답변

1

@Avi, Internet Explorer를 사용하고 완전 신뢰 보안을 사용하지 않으면 페이지가로드 될 때이 유형의 명령을 실행할 수 있다고 생각지 않습니다. 이 방법을 사용해야하는 경우 전체 경로를 telnet.exe으로 지정하면됩니다. 윈도우가 \을 사용하여 디렉토리 레벨을 분리하지만, 이것은 자바 스크립트의 특수 문자이므로 이스케이프해야합니다. 예 :

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

대신 telnet://43.43.22.45과 같은 URL을 사용해 보셨나요?

<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"); 

"notepad"-> 파일 이름 앞에 공백이 있는지 확인하십시오.