Имя: Пароль:
IT
Админ
как скрыть досовское окно при скрипте.
0 Dooro
 
07.11.11
16:24
запускаю скрипт -  висит досовское окно. закрывыть его нельзя- оно выпоняет задачи в течение дня.
как его скрыть или запустить в фоне ?
1 wuff
 
07.11.11
16:25
call
2 Dooro
 
07.11.11
16:26
где написать
3 FN
 
07.11.11
16:26
Запустить планировщиком от имени другого пользователя не пробовал?
4 Dooro
 
07.11.11
16:27
оно запускается при старте системы от этого пользователя
5 wuff
 
07.11.11
16:27
> где написать
call mycommand
6 Dooro
 
07.11.11
16:29
//=========секция глобальных переменных =========================================
var totalCount=0;
   
//параметры TCP-сервера.
   var SrvAddress = "127.0.0.1";
   var SrvPort =18182;
       
//параметры TCP-сервера для канала администрирования.
   var SrvAddress_ADM = "127.0.0.1";
   var SrvPort_ADM =18183;
   PasswordForRADMIN="123";//пароль для удаленного подключения на администрирование.
   ALLOW_RADMIN=true;// позволять администрировать сервер удаленно
   
//параметры serial-link
   SerialPort="COM1"; //WINDOWS
   SerialPortParam="baud_rate=19200,device_path=COM1,parity=0,stop_bits=1,word_length=8";
   
   
//прочие настройки
   var SrvStatus="";
   var SrvStatus_ADM="";// пока на администрирование тоже только один канал дозволяем.

//глобальные классы
   var ClientConnection;
   var ObjTcpServer;
   var ObjSerialPort;
       
   var ClientConnection_ADM;
   var ObjTcpServer_ADM;

   var ErrorStack= new Array();//массив строк ошибок.(имитирует очередь?)

//=========Далее - функция main() и прочие функции =========================================
function main()
 {
   // требует версию qDROID не ниже 2009.04.28_1500
   var res;
   
   print ("Инициация расширений.\r\n");
   print ("Код результата загрузки модулей (-1=error; 0=ok; +1=warnings):\r\n");
   
   res=loadlib_qd("qdlib_bytearray");
   print ("[qdlib_tcpserver] = "+res);
   if (res!=0) return "00103 ERR_CRITICAL Can`t load [qdlib_bytearray] extention!";
   
   res=loadlib_qd("qdlib_tcpserver");
   print ("[qdlib_tcpserver] = "+res);
   if (res!=0) return "00107 ERR_CRITICAL Can`t load [qdlib_tcpserver] extention!";
   
   res=loadlib_qd("seriallink_otpd");
   print ("[seriallink_otpd] = "+res);
   if (res!=0) return "00111 ERR_CRITICAL Can`t load [seriallink_otpd] extention!";
   
   
   //---------инициируем tcp-сервер администрирования--------
   
   ObjTcpServer_ADM=new TcpServer;
   print ("(*1) создан _ADM ["+ObjTcpServer_ADM.GetId()+"]");
   res=ObjTcpServer_ADM.listen(SrvAddress_ADM, SrvPort_ADM );
   print ("[1] TcpServer:: start result: ["+res+"]");
   if (res!=true) return "00120 ERR_CRITICAL Can`t start TcpServer for admin needs!";
   
   CommandConnection_ADM=new t_CommandConnection();
   
   //---------инициируем tcp-сервер--------
   ObjTcpServer=new TcpServer;
   print ("(*2) создан ["+ObjTcpServer.GetId()+"]");
   res=ObjTcpServer.listen(SrvAddress, SrvPort );
   print ("2[] TcpServer:: start result: ["+res+"]");
   if (res!=true) return "00129 ERR_CRITICAL Can`t start TcpServer for data-process needs!";
   
   
   //---------инициируем serial-link-компоненту--------
   ObjSerialPort=new seriallink_otpd;
   print ("(*3) создан ["+ObjSerialPort.GetId()+"]");

   var res3=ObjSerialPort.Open(SerialPort);//откроем устройство
   print ("[3] seriallink_otpd::Код результата открытия ["+SerialPort+"] :["+res3+"]");
   if (res3!=0)
     {
       errMsg="00142 ERR  Error while open Serial Port ["+SerialPort+"]: ErrCode = ["+res3+"]";
       ErrorStack.push(errMsg);
     };
   
   var res4=ObjSerialPort.SetAttr(SerialPortParam);
   print ("[4] seriallink_otpd::Код результата установки параметров ["+SerialPort+"] :["+res4+"]");
   if (res4!=0)
     {    //это - не критическая ошибка
       errMsg="00150 ERR  Error while setting parameters on serial port ["+SerialPort+"]: ErrCode = ["+res4+"]";
       ErrorStack.push(errMsg);
     };
   
   //-------------------------------------------------
   //подключим сигнал о появлении нового соединения.
   // ну, или "обработчик события" "новое соединение" .
   ObjTcpServer.newConnection.connect(newConnectionSLOT);
   print ("[[2]] TcpServer started.");
   
   ObjTcpServer_ADM.newConnection.connect(newConnectionSLOT_ADM);
   print ("[[2+]] TcpServer_ADM started.");
   //
   return "00130 OK System started.";
 };//main

//==================================================================
//return "waiting for connections";// not used from main script after QT 4.5

function newConnectionSLOT()
 {
   print ("New Connection appeared!");
   // Собственно это пока все, т.к. класс qdl_TcpSocket пока не реализован.
   
   if (SrvStatus!="")
       {
       var tmpClientConnection = ObjTcpServer.nextPendingConnection_qd();
       var _tmpStr= new ByteArray();
       _tmpStr.append("Serial port is busy now, diconnecting...");
       
       tmpClientConnection.write(_tmpStr);
       tmpClientConnection.disconnectFromHost();
       tmpClientConnection.deleteLater();
           print ("...[X] Rejected. we have one more already.");
       
       return -1;
       };
       
   totalCount=totalCount+1;
   SrvStatus="connected";
   print ("...[+] Commited.(connect No["+totalCount+"])");
   
   ClientConnection = ObjTcpServer.nextPendingConnection_qd();

   //НАДО ПОЗАБОТИТЬСЯ О ТОМ ЧТО БЫ ОБЪЕКТ УНИЧТОЖАЛСЯ...
   // ХОТЯ МОЖНО БЫ И САМОМУ УДАЛИТЬ...
   ClientConnection.disconnected.connect(closeClientConnection);

   //ЗАМКНЕМ ВЫХОД СЕРИАЛЬНОГО ОБЪЕКТА НА ВХОД КЛИЕНТСКОГО ПОДКЛЮЧЕНИЯ
       ObjSerialPort.BytesCome.connect(ClientConnection.write);
   ObjSerialPort.BytesCome.connect(displaySerialData);
   
   //надо-бы ещё вход подключения замкнуть на запись в serial-port
   ClientConnection.readyRead.connect(resend_tcp2com_readyRead);
   
   return "ok";
 };


//==================================================================
//сервисная функция для отображения данных ByteAraay
function displayData(_data,direction)
{
   var p;
   for (p in _data)
      {
       print ("["+p+"]"+direction+"[" + _data[p] + "]");
      };
};

//------------------------------------------------------------------
// как только на сокете появляются данные - вываливаем их все в компорт
// жалко прямого коннекта не получится...
function resend_tcp2com_readyRead()
 {
   var _data=ClientConnection.readAll();
       //print ("tcp2com_readyRead");
   displayData(_data,"[::] <=");
   
   ObjSerialPort.Write(_data,_data.size());    
   return 0;  
 };
 
//------------------------------------------------------------------
// отобразить
function displaySerialData(_data)
 {
   //var _data=ClientConnection.readAll();
       //print ("displaySerialData");
   displayData(_data,"[::]=> ");
   
   //ClientConnection.write(_data);    
   return 0;  
 };
 
//------------------------------------------------------------------
//закроем текущее соединение и установим статус по умолчанию
function closeClientConnection()
 {
   SrvStatus="";
   //ClientConnection.disconnect();//надо отключиться от всех сигналов к нам подключенных
       // пока руками...
   // TODO :: надо бы придумать как одним махом отключаться от всего что к нас подключено...
   // и включить это в общий прототип
   ClientConnection.disconnected.disconnect(closeClientConnection);
   ClientConnection.readyRead.disconnect(resend_tcp2com_readyRead);
   ObjSerialPort.BytesCome.disconnect(ClientConnection.write);
   ObjSerialPort.BytesCome.disconnect(displaySerialData);


   ClientConnection.deleteLater();
   print ("Connection closed.");    
//    return 0;
  };

//==================================================================






//==================================================================
//==================================================================
//==================================================================
//==================================================================

//-------------------------------------------------------------------------
//slot function for new connection appeared.
function newConnectionSLOT_ADM()
 {
   print ("New Admin Connection appeared!");
   // Собственно это пока все, т.к. класс qdl_TcpSocket пока не реализован.
   
   if (SrvStatus_ADM!="")
       {
       var tmpClientConnection = ObjTcpServer_ADM.nextPendingConnection_qd();
       var _tmpStr= new ByteArray();
       _tmpStr.append("Com2Tcp-server::Admin connection is in use, disconnecting...\r\n");
       tmpClientConnection.write(_tmpStr);

       tmpClientConnection.disconnectFromHost();
       tmpClientConnection.deleteLater();
           print ("...[X] Rejected Admin-connection. we have one more already.");

       return -1;
       };
   
   totalCount=totalCount+1;
   SrvStatus_ADM="connected";
   print ("...[+] Commited Admin connection.(connect No["+totalCount+"])");
   
   ClientConnection_ADM = ObjTcpServer_ADM.nextPendingConnection_qd();

   ClientConnection_ADM.write((new ByteArray).append("Welcome to admin console of COM2TCP server (v.2009.08.27) (QDroid-based).\r\n>>" ));

   //НАДО ПОЗАБОТИТЬСЯ О ТОМ ЧТО БЫ ОБЪЕКТ УНИЧТОЖАЛСЯ...
   // ХОТЯ МОЖНО БЫ И САМОМУ УДАЛИТЬ...
   ClientConnection_ADM.disconnected.connect(closeClientConnection_ADM);

   //надо-бы ещё вход подключения замкнуть на запись в serial-port
   ClientConnection_ADM.readyRead.connect(readyRead_ADM);
   
   return "ok";
 };

//-------------------------------------------------------------------------
function readyRead_ADM()
 {
   if (ClientConnection_ADM.bytesAvailable()>0)
      {
       CommandConnection_ADM.clientConnection = ClientConnection_ADM;
       CommandConnection_ADM.processData();
     };//if bytesAvailable()>0
 };


//-------------------------------------------------------------------------
function closeClientConnection_ADM()
 {
   SrvStatus_ADM="";

   ClientConnection_ADM.disconnected.disconnect(closeClientConnection_ADM);
   ClientConnection_ADM.readyRead.disconnect(readyRead_ADM);
   CommandConnection_ADM.clientConnection = null; // все-таки опасно так - ексепшен словим если вызовем объект в это время...

   ClientConnection_ADM.deleteLater();
   print ("Admin Connection closed.");    
 };

//==================================================================
/*                    Класс  для обработки командных подключений                                             */
//==================================================================
// противостоять подюору паролей и т.п  нет большого смысла, потому, что оно в принципе все дампом собирается.)

//function t_ChatUset(_ClientConnection)
function t_CommandConnection() //_ClientConnection, _ID, _Name)
{
///    this.clientConnection = _ClientConnection; // TcpSocket
   //this.clientConnection.readyRead.connect( this.inData);// к себе-же и подключим
//    this.name = _Name;
//    this.ip = '';
   this.online = true;
//    this.id=_ID;
   this.mode="guest";// {guest|admin}

   this.currentString="";
   this.recodeMode="";//название кодировки клиента !!!! НЕ ПОДДЕРДИВАЕТСЯ ПОКА !!!!

//    this.irc_password="";//password resived from client
//    this.irc_nickname="";//

}
// set the prototype to be an instance of the base class
// t_CommandConnection.prototype = new baseCasss();

t_CommandConnection.prototype.toString = function() { return "[" + this.name + "]"; }
/*
t_CommandConnection.prototype.inData = function()
 {
   var _data= new ByteArray;
   print (""+this.name+" ");
   //_data=this.clientConnection.readAll();
   print ("            : ["+_data.toLatin1String()+"]");
 };
/* */
/*    TODO: доработать так, что бы только по пришествию "ентера"
   строка считалась как отосланная.
   ввести поддержку команд!
*/
t_CommandConnection.prototype.processData = function()
 {
   var _data = this.clientConnection.readAll();
   for (p in _data)
     {
       this.processIncByte(_data[p]);
       //print ("["+p+"]"+"[" + _data[p] + "]");
     };
   print (this.currentString);
 };
//--------------------------------------------
// обработать поступившие символы.
// в том числе учитывая возможность поступления команды в нескольких пакетах или побайтно
t_CommandConnection.prototype.processIncByte  = function(_byte)
{
   var code_E1=13;
   var code_E2=10;
   //print ("<<"+_byte+">>");
   if ((_byte==code_E1) | (_byte==code_E2))
     {
       this.processString(this.currentString);
       this.currentString="";
       return 0;
     };
   this.currentString=this.currentString+String.fromCharCode(_byte);//пока не будем заморачиваться с кодировками.
   //print ("tmpstr= ["+this.currentString+"]");

   return 0;
}
//--------------------------------------------
// обработать строку (которая может быть и не командой)
t_CommandConnection.prototype.processString =  function(_String_str)
{
   var Comand = new String(_String_str);
   //BBot.str_trim(_comString)) - с этим есть какая-то проблема.
   
   if (Comand.length >0 )
     {
       if (Comand.charAt(0)=="/") // yahhooo! this is command!
         {
           Comand=Comand.substring(1, Comand.length);
           Parametrs=Comand.split(" ", 1); //получили массив элементов разделенных в оригинале пробелом но неболее 10. Остальная часть строки - теряется.
           Comand_0=Parametrs.shift();
           Parametrs=Comand.substring(Comand_0.length+1, Comand.length);//передадим туда не массив а строку.. разобрать строку в массив легко, обратно сложнее.
           print ("ADMIN: resived Comand ["+Comand_0+"]");
           this.processCommand(Comand_0, Parametrs);
           return 0;
         }
       else
         {
           //print ("resive string ["+BBot.str_trim(Comand)+"]"+Comand.length+";");
           this.processMessage(Comand);
           return 0;
         };
     }
   else
    {    //пустая строка. ничего не делаем.
       //print ("empty command. ");
    };

}
//--------------------------------------------
// обработать команду (именно уже команду - которая начинается на "слеш")
t_CommandConnection.prototype.processCommand =  function(_comString_str, _argArray_str)
{
   var Comand = new String(_comString_str);
   var Arguments_str = new String(_argArray_str);
   var Arguments = (new String(_argArray_str)).split(" ", 10);
   // print (":Comand:"+Comand);
   // print (":0:"+Arguments_str);
   // print (":1:"+_argArray[1]);
   // print (":2:"+_argArray[2]);
   
   //--------------------------------------------------------------------------------------------
   if (Comand =="PASS") // команда пароля после чего можно начать изменять параметры сервера
     {
       if (this.mode!="guest")
          {
           this.clientConnection.write((new ByteArray).append("00447 INFO 0 Ignored.\r\n>>"));
           return 0;
          };
       if (ALLOW_RADMIN!=true)
          {
           this.clientConnection.write((new ByteArray).append("00452 INFO 0 Ignored. Remote administration is restricted on this server.\r\n>>"));
           return 0;
          };
       
       if (Arguments[0]!=PasswordForRADMIN)
         {
           this.clientConnection.write((new ByteArray).append("00458 WRN -1 Password wrong.\r\n>>"));
           return -1;
         }
       else
         {// пароль не задан. пока ничего не делаем
         // а почему-бы не принять ?
           if (this.irc_nickname=="")
             {
               this.clientConnection.write((new ByteArray).append("00466 INFO 1 Password accepted. Now you can use /SET command\r\n>>"));
               this.mode="admin";
               return 1;
             };
         };
       return 0;
     }// Comand =="NAME"
   //--------------------------------------------------------------------------------------------
   if (Comand =="QUIT") // команда IRC выхода
     { //устанавливаем
       //
       this.clientConnection.write((new ByteArray).append("00477 INFO 2 Bye!\r\n" ));
       
       this.clientConnection.disconnectFromHost();
       //closeClientConnection();
       //this.clientConnection.deleteLater();
       return 0;
     };
   //--------------------------------------------------------------------------------------------
   if (Comand =="HELP") //
     { //устанавливаем
       //
       this.clientConnection.write((new ByteArray).append("You can use next comands:  \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /HELP                         - this help.  \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /PASS <Password>              - move to admin mode. \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /QUIT                         - exit and terminates connection. \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /SET PORT <SerialPortName>    - set Serial port name. \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /SET ATTR <SerialPortParams>  - set parameters for Serial port. \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /GET PORT                     - show Serial port name. \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /GET ATTR                     - show parameters for Serial port. \r\n" ));
       this.clientConnection.write((new ByteArray).append(" /GET ERRORS                   - return a error-list and clear it.\r\n" ));
       this.clientConnection.write((new ByteArray).append("    \r\n" ));
       this.clientConnection.write((new ByteArray).append("    \r\n" ));
       this.clientConnection.write((new ByteArray).append("    \r\n" ));
       this.clientConnection.write((new ByteArray).append("00511 OK 3 \r\n>>" ));
       return 3; //ok
     };
   //--------------------------------------------------------------------------------------------
   if (Comand =="GET") //
     {    //
       //
       if (Arguments[0]=="PORT")
         {
           this.clientConnection.write((new ByteArray).append(""+SerialPort+"\r\n"));
           this.clientConnection.write((new ByteArray).append("00521 OK 3 \r\n>>" ));
           return -3;
         };
       if (Arguments[0]=="ATTR")
         {
           this.clientConnection.write((new ByteArray).append(""+SerialPortParam+"\r\n"));
           this.clientConnection.write((new ByteArray).append("00527 OK 3 \r\n>>" ));
           return 0;
         };
       if (Arguments[0]=="ERRORS") //показать ошибки (и очистить стек ошибок
         {
           
           if (ErrorStack.length>0)
             {
               do
               this.clientConnection.write((new ByteArray).append(">"+ErrorStack.shift()+" \r\n"));
               while (ErrorStack.length>0);
             };
           this.clientConnection.write((new ByteArray).append("00539 OK 3 .\r\n>>"));
           return 0;
         };
     };
   //--------------------------------------------------------------------------------------------
   if (Comand =="SET") //
     {    //
       //
       if (Arguments[0]=="PORT")
         {
           
           this.clientConnection.write((new ByteArray).append("New name of port is ["+SerialPort+"]. \r\n"));
           
           //ObjSerialPort.Close() в принципе не оязательно - он его сам сделает
           var res3=ObjSerialPort.Open(Arguments[1]);//откроем устройство
           print ("[3] seriallink_otpd::Код результата открытия ["+SerialPort+"] :["+res3+"]");
           if (res3!=0)
             {
               errMsg="00566 ERR  Error while open Serial Port ["+SerialPort+"]: ErrCode = ["+res3+"]";
               ErrorStack.push(errMsg);
               this.clientConnection.write((new ByteArray).append("00568 ERR -4 Error while open Serial Port ["+SerialPort+"]: ErrCode = ["+res3+"].\r\n>>"));
               return 0;
             }
             else
             {
               SerialPort=Arguments[1];
               errMsg="00573 OK 3 Serial Port ["+SerialPort+"] opened: ErrCode = ["+res3+"]";
               ErrorStack.push(errMsg);
               this.clientConnection.write((new ByteArray).append("00575 OK 3 Serial Port ["+SerialPort+"] opened.\r\n>>"));
               return 0;
             };
         };
       if (Arguments[0]=="ATTR")
         {
           
           this.clientConnection.write((new ByteArray).append("New serial port parameters are ["+SerialPortParam+"]. \r\n"));
           //this.clientConnection.write((new ByteArray).append(" for a while, commant not implemented yet \r\n"));
           
           var res4=ObjSerialPort.SetAttr(Arguments[1]);
           print ("[4] seriallink_otpd::Код результата установки параметров ["+SerialPortParam+"] :["+res4+"]");
           if (res4!=0)
              {    //это - не критическая ошибка
               errMsg="00581 ERR  Error while setting parameters ["+SerialPortParam+"]: ErrCode = ["+res4+"]";
               ErrorStack.push(errMsg);
               this.clientConnection.write((new ByteArray).append("00583 ERR -4 Error while setting parameters ["+SerialPortParam+"]: ErrCode = ["+res4+"].\r\n>>"));
               return 0;
              }
              else
              {    
               SerialPortParam=Arguments[1];//фиксируем только если успешно
               errMsg="00587 OK 3 parameters ["+SerialPortParam+"]are set. ErrCode = ["+res4+"]";
               ErrorStack.push(errMsg);
               this.clientConnection.write((new ByteArray).append("00589 OK 3 parameters ["+SerialPortParam+"] are set. ErrCode = ["+res4+"] \r\n>>"));
               return 0;
              };
         };
     };
   //--------------------------------------------------------------------------------------------
       

   this.clientConnection.write((new ByteArray).append("00567 WRN -3 Command not understood. Did you used /HELP ulready? \r\n>>"));
   return -3;

};

//--------------------------------------------
// обработать сообщение (сообщение всем)
t_CommandConnection.prototype.processMessage = function(_Message_str)
{
   var Message=String(_Message_str);
   this.clientConnection.write((new ByteArray).append("00577 INFO 0 Messages are ignored now...\r\n>>" ));
   return 0;

};

//RetResult=
main();//по старой сишной традиции ))))
7 aleks-id
 
07.11.11
16:29
Shell = Новый COMОбъект("WScript.Shell");
Shell.Run(ИмяБатФайла, 0, Истина); // запуск бат-файла со спрятанным окном (0) и с ожиданием завершения (Истина)
8 wuff
 
07.11.11
16:29
или start, не помню  уже...
9 Dooro
 
07.11.11
16:29
где написать в скрипте
10 wuff
 
07.11.11
16:30
тьху....
11 wuff
 
07.11.11
16:30
в бат файле
12 wuff
 
07.11.11
16:31
А что ты батом, ну сразу WS-ом и пускай...
13 Dooro
 
07.11.11
16:33
Shell.Run(ИмяБатФайла, 0, Истина);

тут указать путь к файлу?
14 wuff
 
07.11.11
16:36
есди хочешь в командном файле nj там  start my.exe, можно и в самом Shell.run("c:\my.exe") указать
15 Dooro
 
07.11.11
16:40
Shell = Новый COMОбъект("WScript.Shell");
Shell.Run("C:\Program Files\1cv81\Библиотеки\Start_COM2TCP_Server", 1, Истина);
1- это как я понимаю окно открытое - выдает ошибку
16 Dooro
 
07.11.11
16:44
Start_COM2TCP_Server - бат файл
17 Dooro
 
07.11.11
16:44
{МодульПриложения(649)}: Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (0x80070002)
по причине:
Произошла исключительная ситуация (0x80070002)
18 andrewks
 
07.11.11
16:47
а чё сразу vbs-файл не запускаешь?
19 Dooro
 
07.11.11
16:47
как.. я просто не особо разбираюсь в скриптах
20 andrewks
 
07.11.11
16:57
а, так тебе надо батник из скрипта запустить?
или что? вообще не въезжаю, что откуда тебе надо запустить, и при чём здесь 1с
21 Dooro
 
07.11.11
16:59
есть батник - который отвечает за корректную работу
addin_libtelnet.dll для 1с

если я его запускаю вручную то из 1с идет корректная отработка пос команд через ВК addin_libtelnet.dll

мне нужно этот батник запускать автоматом при входе в систему в скрытом режиме
22 Dooro
 
07.11.11
17:01
вернее тот текст что я привел это файл с расширением qs
а текст самого батника такой

bin\qdroid_v1.3.bin.exe com2tcp_server.v1.qs
23 Fish
 
07.11.11
17:03
а если так bin\qdroid_v1.3.bin.exe com2tcp_server.v1.qs > nul
24 Dooro
 
07.11.11
17:09
та же ошибка
{МодульПриложения(649)}: Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (0x80070002)
по причине:
Произошла исключительная ситуация (0x80070002)

для

Shell = Новый COMОбъект("WScript.Shell");
Shell.Run("C:\Program Files\1cv81\Библиотеки\bin\qdroid_v1.3.bin.exe> nul",0,Истина);
25 andrewks
 
07.11.11
17:10
так у тебя, наверное, qdroid_v1.3.bin.exe скомпилено как консольное приложение?

можешь поиграться с cmdow
26 Dooro
 
07.11.11
17:15
спрошу по другому
могу ли я запустить этот бат файл не из 1с а просто при вхоже в винду? в скрытом режиме
27 Fish
 
07.11.11
17:15
дык "> nul" надо в батнике писать, а батник уже запускать.
Попробуй еще через команду start:
Запуск указанной программы или команды в отдельном окне.

START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
     [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
     [/NODE <узел NUMA>] [/AFFINITY <маска сходства>] [/WAIT] [/B]
     [команда/программа] [параметры]

   "заголовок" Заголовок окна.
   путь        Исходный каталог.
   B           Запуск приложения без создания нового окна с отключением
               обработки сочетания клавиш ^C. Если приложение не
               обрабатывает сочетание клавиш ^C самостоятельно,
               единственным способом его прерывания является
               использование сочетания клавиш ^Break.
   I           Новой средой станет исходная среда, переданная
               cmd.exe, а не текущая среда.
   MIN         Запуск команды/программы в свернутом окне.
   MAX         Запуск команды/программы в развернутом окне.
   SEPARATE    Запуск 16-разрядной программы Windows в отдельной
               области памяти.
   SHARED      Запуск 16-разрядной программы Windows в общей
               области памяти.
   LOW         Запуск приложения с приоритетом IDLE.
   NORMAL      Запуск приложения с приоритетом NORMAL.
   HIGH        Запуск приложения с приоритетом HIGH.
   REALTIME    Запуск приложения с приоритетом REALTIME.
   ABOVENORMAL Запуск приложения с классом приоритета ABOVENORMAL
   BELOWNORMAL Запуск приложения с классом приоритета BELOWNORMAL
   NODE        Указывает предпочтительный узел NUMA
и т.д., и т.п. :))
28 andrewks
 
07.11.11
17:15
(27) не взлетит
29 Dooro
 
07.11.11
17:16
спрошу по другому
могу ли я запустить этот бат файл не из 1с а просто при вхоже в винду? в скрытом режиме.....
30 Fish
 
07.11.11
17:16
(26) А где ты запускаешь бат файл? То что ты написал, это не совсем бат :)))
31 Dooro
 
07.11.11
17:17
запускаю руками
32 Fish
 
07.11.11
17:17
текст батника где?
33 Dooro
 
07.11.11
17:18
он находится в каталоге где для него есть файл с текстом расширения qs
34 Dooro
 
07.11.11
17:18
bin\qdroid_v1.3.bin.exe com2tcp_server.v1.qs
35 Dooro
 
07.11.11
17:18
вот текст батника
36 Dooro
 
07.11.11
17:19
а текст файла qs вверху
37 Dooro
 
07.11.11
17:19
bin\ папка в каталоге где все это чудо
38 andrewks
 
07.11.11
17:31
(29) кратенькое мелькание дос-окна тоже не устроит?
39 Dooro
 
07.11.11
17:33
добавил в планировшик заданий - при старте системы - все норм запускает.

но окног висит. мне его нужно спрятать
40 Dooro
 
07.11.11
17:33
устроит.. мелькание.. но дело в том что скрипт должен работать в фоне. а не закрыт быть
41 Dooro
 
07.11.11
17:34
тоесть скрипт при запуске остается в режиме ожидания .. а не законченное задание и закрыться
42 andrewks
 
07.11.11
17:36
если ввода данных не требуется, то отработает

добавь в cmd-файл волшебную строчку
cmdow.exe @ /HID

сама утилитка есть на просторах инета, бесплатна
43 Dooro
 
07.11.11
17:37
ввод данных происходит без рук. а при работе ВК
44 Dooro
 
07.11.11
17:38
и само окно скрипта продолжает писать текст после работы вк
45 andrewks
 
07.11.11
17:38
вот тут ещё несколько утилиток, поиграйся: http://wiki.oszone.net/index.php/Скрываем_консольные_окна

там есть даже без мелькания, но я их не пробовал, юзаю cmdow, устраивает
46 Dooro
 
07.11.11
17:38
тоесть пошла операция- текст в окне добавляется
47 Dooro
 
07.11.11
17:39
cmdow меня устроит.. куда его засунуть , где написать
48 andrewks
 
07.11.11
17:40
(47) пихай первой строчкой в батник
49 Dooro
 
07.11.11
17:47
cmdow.exe @ /HID bin\qdroid_v1.3.bin.exe com2tcp_server.v1.qs

так?
50 Dooro
 
07.11.11
17:52
попробовал - скрывать скрывает но скрипт похоже закрывается..
потому что команды не проходят  с ВК
51 smaharbA
 
07.11.11
18:04
а  кто будет расширение указывать ?
52 smaharbA
 
07.11.11
18:05
(24) а кавычки в пути кто будет ставить ?
53 smaharbA
 
07.11.11
18:05
+ а кмд кто будет вызывать ?
54 Dooro
 
07.11.11
18:07
smaharbA можешь пример правильный привести. ?
55 Dooro
 
07.11.11
18:07
твои вопросы ко мне мне не понятны
56 smaharbA
 
07.11.11
18:07
а ты прочти внимательно в них все ответы на твои вопросы
57 Dooro
 
07.11.11
18:08
я не разбираюсь в скриптах. если не трудно - готовый пример