Hello again, BTW using this method you can put args in quotes too like QString( "cscript C:\\progra~1\\yourpath\\your_vbs.vbs \"%1\" \"%2\" \"%3\" \"%4\"" ).arg( arg_var_0).arg(arg_var_1).arg(arg_var_2).arg(arg_var_3);
Happy coding, Emre On Tue, Mar 10, 2015 at 9:27 PM, NoMercy <nome...@gmail.com> wrote: > Hello, > I use it like this; > >> QProcess *procPort1 = new QProcess(this); >> >> QString cmdPort1 = QString( "cscript C:\\progra~1\\yourpath\\your_vbs.vbs >> %1 %2 %3 %4" ).arg(arg_var_0).arg(arg_var_1).arg(arg_var_2).arg(arg_var_3); >> >> procPort1->start(cmdPort1); > > > hope it helps :) > > Happy coding, > Emre > > On Tue, Mar 10, 2015 at 6:59 PM, Jason Kretzer <ja...@gocodigo.com> wrote: > >> One last thing. >> >> I am trying to start the VBS with: >> >> p->startDetached("go.vbs", arguments); >> >> However, this returns false and does not start the vbs. I see that you >> use cscript to start yours, but you do not pass any arguments. How would >> that be accomplished? Basically, in the line above, the arguments is a >> QStringList that I can pass to go.vbs. How would I invoke cscript and pass >> arguments to the vbs? >> >> -Jason >> >> //------------------------------// >> Jason R. Kretzer >> Lead Application Developer >> ja...@gocodigo.com >> //-----------------------------// >> >> >> From: "Jason R. Kretzer" <ja...@gocodigo.com> >> Date: Tuesday, March 10, 2015 at 12:02 PM >> To: "Jason R. Kretzer" <ja...@gocodigo.com>, NoMercy <nome...@gmail.com>, >> "interest@qt-project.org" <interest@qt-project.org> >> >> Subject: Re: [Interest] QProcess to start a process at a higher priority >> >> Answered my own question, it appears if I just wrap the arguments in >> chr(34)’s it will retain the integrity of the argument. >> >> Thanks Emre. >> >> -Jason >> >> //------------------------------// >> Jason R. Kretzer >> Lead Application Developer >> ja...@gocodigo.com >> //-----------------------------// >> >> >> From: "Jason R. Kretzer" <ja...@gocodigo.com> >> To: NoMercy <nome...@gmail.com>, "interest@qt-project.org" < >> interest@qt-project.org> >> Subject: Re: [Interest] QProcess to start a process at a higher priority >> >> Emre, thanks so much. >> >> I do indeed have a static number of arguments. Unfortunately, the reason >> they are quoted was because the arguments have spaces in them and >> Wscript.Arguments wants to ignore the quotes :) >> >> -Jason >> >> //------------------------------// >> Jason R. Kretzer >> Lead Application Developer >> ja...@gocodigo.com >> //-----------------------------// >> >> >> From: NoMercy <nome...@gmail.com> >> Date: Tuesday, March 10, 2015 at 11:15 AM >> To: "Jason R. Kretzer" <ja...@gocodigo.com>, "interest@qt-project.org" < >> interest@qt-project.org> >> Subject: Re: [Interest] QProcess to start a process at a higher priority >> >> Hello again, >> for that I have something like this (if you have a static number of >> arguments); >> >> Set WshShell = CreateObject("WScript.Shell") >>> >>> WshShell.currentdirectory = "C:\Program Files\your_app_dir" >>> >>> 'wscript.echo WshShell.currentdirectory >>> >>> WshShell.Run chr(34) & "C:\Program Files\ your_app_dir\your_bat.bat" & >>>> chr(34) & " " & Wscript.Arguments(0) & " " & Wscript.Arguments(1) , 0 >>> >>> Set WshShell = Nothing >>> >>> >> Happy Coding >> Emre >> >> On Tue, Mar 10, 2015 at 5:09 PM, Jason Kretzer <ja...@gocodigo.com> >> wrote: >> >>> Thanks! >>> >>> Honestly, I do not have much experience with Vbscript. In your example >>> below, how would I pass arguments to the your_bat.bat? I have 8 quoted >>> arguments that I need to pass the bat file. >>> >>> I have tried this >>> >>> Dim arg0 >>> arg0 = WScript.Arguments.Item(0) >>> WScript.Echo arg0 >>> WshShell.Run chr(34) & "C:\Program Files\yourapp\your_bat.bat" & arg0 & >>> chr(34) , 0 >>> >>> But that is not quite right. It echos the arg0 fine but I get a “The >>> system cannot find the file specified” when I run that. >>> >>> Thoughts? >>> >>> -Jason >>> >>> //------------------------------// >>> Jason R. Kretzer >>> Lead Application Developer >>> ja...@gocodigo.com >>> //-----------------------------// >>> >>> >>> From: NoMercy <nome...@gmail.com> >>> Date: Monday, March 9, 2015 at 5:27 AM >>> To: "Jason R. Kretzer" <ja...@gocodigo.com> >>> Subject: Re: [Interest] QProcess to start a process at a higher priority >>> >>> Our app uses an ugly method for exactly this reason and I intend to >>> research and find a better solution on this subject when I have time but >>> for the moment we use "cscript.exe /path/to/your/script.vbs" >>> in vbs: >>> >>> Set WshShell = CreateObject("WScript.Shell") >>>> >>>> WshShell.currentdirectory = "C:\Program Files\ yourapp" >>>> >>>> 'wscript.echo WshShell.currentdirectory >>>> >>>> WshShell.Run chr(34) & "C:\Program Files\yourapp\your_bat.bat" & >>>>> chr(34) , 0 >>>> >>>> Set WshShell = Nothing >>>> >>>> >>> And if I'm remembering correctly the zero ("0") at the end of line that >>> starts with "WshShell.Run" makes it windowless. >>> >>> Happy coding >>> Emre >>> >>> On Mon, Mar 9, 2015 at 1:53 AM, Jason Kretzer <ja...@gocodigo.com> >>> wrote: >>> >>>> Hello all, >>>> >>>> I am tinkering a bit with QProcess on Windows7. What I would like to >>>> be able to do is to start a process with a “high” priority. My application >>>> spawns multiple processes and I am tinkering with them in order to help >>>> ensure they get their processor time. >>>> >>>> On the command line, I would do this. >>>> >>>> start /high myspawn.exe arg1 arg2 arg3 >>>> >>>> Unfortunately one of the requirements is that a DOS window not open to >>>> run it. >>>> >>>> If I start the process like this: >>>> >>>> QString program = “myspawn.exe"; >>>> QStringList arguments; >>>> >>>> arguments << “arg1” << “arg2" << “arg3"; >>>> >>>> QProcess *p = new QProcess(this); >>>> QTimer::singleShot(30000, this, SLOT(deleteLater())); >>>> qDebug() << "starting mysawn process -- " << p->startDetached(program, >>>> arguments); >>>> >>>> It starts just fine, no DOS window, but at Normal priority. >>>> >>>> I have tried multiple ways using the “start /high…” command inside of >>>> the various ways to execute a command with QProcess, but they always flash >>>> a DOS window. >>>> >>>> I even create a .bat file with the command in it and passed arguments >>>> in with the above code. While it worked, it flashed the DOS window. >>>> >>>> Am I missing something here? >>>> >>>> -Jason >>>> >>>> //------------------------------// >>>> Jason R. Kretzer >>>> Lead Application Developer >>>> ja...@gocodigo.com >>>> //-----------------------------// >>>> >>>> >>>> _______________________________________________ >>>> Interest mailing list >>>> Interest@qt-project.org >>>> http://lists.qt-project.org/mailman/listinfo/interest >>>> >>>> >>> ------------------------------ >>> >>> No virus found in this message. >>> Checked by AVG - www.avg.com >>> Version: 2015.0.5645 / Virus Database: 4299/9221 - Release Date: 03/03/15 >>> >> >> ------------------------------ >> >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2015.0.5645 / Virus Database: 4299/9221 - Release Date: 03/03/15 >> ------------------------------ >> >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2015.0.5645 / Virus Database: 4299/9221 - Release Date: 03/03/15 >> ------------------------------ >> >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2015.0.5645 / Virus Database: 4299/9221 - Release Date: 03/03/15 >> > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest