//Global variables. var sStatusMsg = ""; //Create useful objects. shell = WScript.CreateObject( "WScript.Shell" ); util = WScript.CreateObject( "EzUtils.Utils"); com = WScript.CreateObject( "TestCom.Util"); //Only allow one instance of this program to run. if( util.IdExists("DroidScriptADB") ) WScript.Quit(); //Create tray icon. icon = WScript.CreateObject( "EzTrayIcon.TrayIcon", "icon_" ); icon.ShowIcon( "DroidScript.ico", "DroidScript Connect" ); icon.MenuCaptions = "Connect,-,Exit"; //Start ADB forwarding. RunADB(); //Loop forever. do { WScript.Sleep( 10 ); } while(1) //Handle tray icon menu. function icon_MenuClick( caption ) { if( caption=="Exit" ) { icon.HideIcon(); WScript.Quit(); } else if( caption=="Connect" ) { RunADB(); } } //Run ADB and open forwarding socket. function RunADB() { var nId0 = com.Run( "adb forward tcp:8088 tcp:8088", false ); var nId1 = com.Run( "adb forward tcp:8889 tcp:8889", false ); var nId2 = com.Run( "adb forward tcp:3000 tcp:3000", false ); //Read progress while proc is running. s = ""; e = ""; while( (util.FindProcess(nId0) > 0 && util.FindProcess(nId1) > 0 && util.FindProcess(nId2) > 0 ) || e.length > 0 ) { //Read to a small fifo buffer. e = com.ReadStdErr( 8, false, true ); s += e; if( s.length >= 48 ) s = s.substr( 8 ); //Detect errors. n = s.search("not found"); if( n > -1 ) { icon.ShowBalloon( "Device not found!", "DroidScript Connect", "Info" ); return; } //Update GUI. com.DoEvents(); } icon.ShowBalloon( "Ready", "DroidScript Connect", "Info" ); }