How could i hide the CMD window When use the Sys.OleObject("WScript.Shell").Exec(CommandLine)
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How could i hide the CMD window When use the Sys.OleObject("WScript.Shell").Exec(CommandLine)
I just try to use Sys.OleObject("WScript.Shell").Exec(CommandLine) to run some cmd command .
But i could see that CMD window always popup when run the cmd command.
I am not sure if there is some parameters for cmd to hide the cmd windows??
Thanks,Peng
Solved! Go to Solution.
- Labels:
-
Command Line
-
Desktop Testing
-
Test Run
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your reply, But I can still not find the solution for the problem.
I don't use .bar or .ps1, My code is like this:
CommandLine = 'net stop service';
var oExec = Sys.OleObject("WScript.Shell").Exec(CommandLine);
if (oExec.StdOut.AtEndOfStream) { ...}
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for sharing. Is there a particular reason you want to minimize the cmd window, instead of just closing the window after the command is run? It would be nice to have some extra context as to what your end goal is.
Either way, here's an example using a file (in this case). Any shell commands longer than one line I usually thrown in a .bat or .ps1 file, but here's how to do it...
1) Just create a .txt file with the following contents:
if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0" %* && exit
net stop service
exit
**NOTE: if you don't want cmd window to close, remove && exit from line 1 and exit from line 3
2) Save As stopNetService.bat and add the file to your TestComplete > Stores > Files collection.
3) Double click the batch file to run and test that it does what you want
4) In TestComplete, create a new function as follows:
function stopNetService() {
// stop net service .bat
var batch = Sys.OleObject("WScript.Shell");
var stopNetService = batch.Run(Project.Path + "\\Stores\\Files\\stopNetService.bat");
Log.Checkpoint("| Net Service Stopped |");
Sys.Refresh();
}
5) Use this function stopNetService() throughout your test as you please.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for patiently answering my questions!! The solution works for me.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No problem @pwang. And if you wouldn't mind remarking the correct comment as the solution so that it is appropriately linked from the question, it will help others find the correct source. Thx and Happy testing.
