01-10-2003 10:36 AM
01-11-2003 01:22 AM
01-13-2003 10:36 AM
01-13-2003 04:39 PM
01-14-2003 10:06 AM
01-14-2003 09:06 PM
01-15-2003 10:36 AM
04-19-2018 04:38 PM
Hi Roberto,
I am trying to read the output from a command line EXE using system() or LaunchExecutableEx(), but I haven't been able to.
Normally in cmd I would send the following:
C:\TestTool\TestTool.exe enter
And the response I get is:
PASS
From cmd I can add "|clip" to copy the response to the Clipboard, like this:
C:\TestTool\TestTool.exe enter |clip
Now I don't see a response in the console, but "PASS" is in the Clipboard and I can paste it.
I can also do what you suggested in this topic:
C:\TestTool\TestTool.exe enter > output.txt
And the response will appear in C:\TestTool\output.txt
The problem is that when I use system() or LaunchExecutableEx() in my CVI application I don't get the response.
system("C:\TestTool\TestTool.exe enter |clip");
system("C:\TestTool\TestTool.exe enter > output.txt");
LaunchExecutableEx("C:\TestTool\TestTool.exe enter |clip", gWindowState, &gExeHndl);
LaunchExecutableEx("C:\TestTool\TestTool.exe enter > output.txt", gWindowState, &gExeHndl);
Any clue?
04-20-2018 01:54 AM - edited 04-20-2018 01:55 AM
Well, this works for me with a OS shell command. It is not guaranteed it works with your program as well, but you can easily see if '| clip' keyword works by lanching the program interactively and pasting output (if any) to notepad.
int CVICALLBACK test (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
char *msg = NULL;
if (event != EVENT_COMMIT) return 0;
system ("cmd /c dir | clip");
ClipboardGetText (&msg, NULL);
if (msg)
MessagePopup ("Clipboard", msg);
else
MessagePopup ("Clipboard", "No text was available");
if (msg) free (msg);
return 0;
}
04-20-2018 11:46 AM
Hi Roberto,
Thanks much for your quick response.
I had to do a batch file to make it work, i. e.:
system("C:\TestTool\TestTool_Enter.bat");
And this is the content of the batch file.
C:\TestTool\TestTool.exe enter |clip
Thank you,
JIBRAN